About journal
journal is a Markdown-file-based personal journal with a desktop app and CLI for organizing, searching, and importing entries. It is for people who want their journal stored as ordinary files, with optional access from agents.
Key features
- 01Markdown entries with YAML frontmatter
- 02Full-text search and On This Day
- 03Tags, calendars, and multiple journals
- 04Day One import with media and metadata
- 05Templates, reminders, lock, and trash
Use cases
- 01Search past entries by topic
- 02Review entries from the same date in prior years
- 03Import an existing Day One archive
- 04Let an agent read or append journal entries
MCP support
The CLI runs an MCP server exposing 11 tools for agents to read and write journal entries. A read-only mode is also available.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEJournal
A journal that is just a folder of Markdown files, with an app that feels like Day One and an MCP server so your agent can read and write it.

- Your files. One
.mdper entry with YAML frontmatter; photos in a content-addressed folder. Sync with iCloud Drive, Dropbox, Syncthing, git. Open with any editor. Seedocs/format.md. - Day One import. Export → JSON in Day One, import the zip. Entries, photos, tags, location, weather and stars come across. Re-importing never duplicates.
- On This Day, full-text search (FTS5, works for Korean/Japanese/CJK), tags, multiple journals, calendar view, dark mode, streak and word counts.
- Templates (
templates/*.md, three included), a daily reminder, a passcode lock, and a trash that keeps deleted entries for 30 days. - Agents.
journal mcp serveexposes 11 tools over MCP; the CLI does the same from a shell. Seedocs/mcp.md. - No account, no server, no telemetry. Optional location/weather uses the OS location service when available, otherwise a city-level guess from your network connection (ipapi.co), then Open-Meteo (keyless). One toggle turns it off.
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):
brew install --cask sjh9714/tap/journal # macOS; or grab a binary from Releases
journal init # creates ~/Journal (or follows the desktop app's folder)
journal add "First entry" -t life
journal list
journal search first
journal on-this-day
journal add --template gratitude # see `journal templates`
journal delete <id> # to the trash; `journal trash restore <id>` undoes it
journal stats
Let your agent in
claude mcp add journal -- journal mcp serve
Claude Desktop: download journal-0.1.0.mcpb from Releases and open it.
Then: "add a line to today's journal about the deploy", "what did I write
about the move last year?", "summarise my week". --read-only if you only
want it to read.
Import from Day One
Day One → Export → JSON. Then in the app: Settings → Import Day One export, or:
journal import dayone ~/Downloads/Export.zip
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. iA Writer and 1Writer also open the
folder directly. The desktop app picks the edits up the next time it is
focused.
Build from source
cargo test --workspace
cd apps/desktop && npm install && npm run tauri build
Status
Desktop app (macOS, Windows, Linux), CLI, MCP, Day One import, templates, reminder, lock, trash. Not yet: mobile, built-in sync service, PDF export, encryption at rest, edit history (keep the folder in git for that).
MIT. "Day One" is a trademark of Automattic; this project only reads its export format.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.