
Journal
io.github.sjh9714Published by GitHub account sjh9714v0.1.0Updated Nov 6, 2026
Personal journal kept as Markdown files: search, On This Day, append to today, Day One import.
Overview
Local MCP server for a Markdown-file journal: search entries, draft and keep days, and build a dated memory of facts.
- What you can do
- Search, read and add journal entries, with On This Day and stats
- Capture a day's draft from git commits, calendar feeds and photo folders, then keep or discard it
- Record, recall and review memory facts with since-dates and replacement history
- Import Day One exports and manage tags, templates and trash
- Run guided prompts such as an evening day review
- When to use it
- For people who keep a personal journal as plain Markdown files and want an assistant to search it, draft daily entries from their own commits and calendar, or answer questions like what they worked on last week or when they moved.
- Requirements
- Runs as a local process on the user's machine (desktop only), installed via Homebrew, a release binary, or the .mcpb bundle for Claude Desktop; a journal folder created with the init command. No account, API key or environment variable is declared. Optional calendar, git and photo sources are configured locally.
Installation
In SourceWeft
- Open Journal in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Dayfile
A journal in a folder of Markdown files you own. Three things set it apart: each day drafts itself from the traces you already left (git commits, calendar, photos); the memory your agent builds from it records not only what is true but since when and when the journal learned it; and nothing is behind an account or a subscription.
Why
Journals die because writing every day is work. Agents forget you because their memory lives in someone else's cloud, in a form you cannot read or fix. Dayfile does both jobs with one folder. Day One has an agent connector too, on Mac with a subscription, against its own database; Dayfile's version is a folder you can open, diff, sync and correct, and it is the only one that reads your commits.
- A day that writes its first draft. Point it at your code folders, a calendar feed and a photo folder. When you open the app (or at your reminder time) it drafts today: meetings, what you committed, where the photos were taken. You add a line about how it went and keep it, or discard it. Nothing runs in the background and nothing is read that you did not list.
- Memory with a timeline. Your agent pulls durable facts out of entries
(where you live, who people are, what you are working on) into
memory/<topic>.md. Facts are never overwritten. A new fact ends the old one, so "where did I live in 2023?" and "what did the journal believe last month?" both have answers, and every fact links to the entry it came from. You can open the file and correct it. - Plain files. One
.mdper entry with YAML frontmatter, photos in a content-addressed folder, memory as readable YAML. Sync with iCloud Drive, Dropbox, Syncthing or git. The SQLite index is a cache rebuilt from the files. Seedocs/format.md. - A real journal app. Timeline, calendar, On This Day, full-text search (works for Korean, Japanese, Chinese), tags, templates, a passcode screen, a reminder, a trash with Undo, and Day One import.
Install
Desktop app: download the build for macOS, Windows or Linux from Releases. The macOS builds are signed and notarized.
CLI (also the MCP server):
Draft your day
A draft looks like this, and stays out of the timeline, search and stats until you keep it:
Capturing the same day again only adds what is new. The app does the same from Settings → Capture.
Let your agent in
Claude Desktop: download the .mcpb file from Releases and open it.
The server has 19 tools and two prompts. Run the review_day prompt in the
evening: the agent captures the day, asks you a couple of questions, writes the
entry in your words, and records what it learned in memory. Then ask things
like "what did I work on last week?", "when did I move to Seoul?", or "summarise
my month". --read-only if you only want it to read. Details in
docs/mcp.md.
Memory from the shell
Everyday journaling
Import from Day One
Day One → Export → JSON. Then in the app: Settings → Import Day One export, or:
Entries, photos, tags, location, weather and stars come across. Re-importing never duplicates.
On your phone
There is no mobile app yet. Because entries are plain Markdown files, keep
the journal folder in iCloud Drive (or Dropbox, Syncthing) and open it with
any Markdown editor on the phone. On iPhone, Obsidian
(free) works well: create a vault, choose "Existing folder", pick the journal
folder in iCloud Drive, and new entries follow the format in
docs/format.md. The desktop app picks the edits up the
next time it is focused.
Privacy
No account, no server, no telemetry. Capture reads only the folders and feeds you list, only when you or your agent ask (or at app launch and the reminder). A git source covers every repository under that folder (four levels deep), your own commits only, so keep work repositories out of the folders you list if their commit messages should not reach the journal or the agent you review it with. Calendar and git sources stay in the app's config on this machine, not in the synced folder. Optional location and weather for new entries use the OS location service or a city-level guess from ipapi.co, then Open-Meteo; one toggle turns that off.
Build from source
Status and limitations
Desktop app (macOS, Windows, Linux), CLI, MCP, capture from git, calendars and photos, bi-temporal memory, Day One import. Not yet: mobile, built-in sync, encryption at rest, more capture sources (shell history, browser).
Know these before you rely on it:
- The passcode screen hides the app. It does not encrypt anything; the files stay plain text on disk.
- An agent's
update_entryreplaces the body and there is no undo for it (deletes go to the trash, edits do not). Keep the journal folder in git or a synced folder with version history if agents may write to it, or pass--read-only. - Windows and Linux builds come from CI and have not been tried on real hardware.
MIT. "Day One" is a trademark of Automattic; this project only reads its export format.
Source: README.md at commit 138b498
Tools
0Version history
1- v0.1.0LatestOct 29, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts