io.github.sjh9714/journal

Official registry Search and web

Personal journal kept as Markdown files: search, On This Day, append to today, Day One import.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

MCPB package https://github.com/sjh9714/journal/releases/download/v0.1.0/journal-0.1.0.mcpb

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Journal
  2. Install
  3. Let your agent in
  4. Import from Day One
  5. On your phone
  6. Build from source
  7. Status

Journal

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 .md per entry with YAML frontmatter; photos in a content-addressed folder. Sync with iCloud Drive, Dropbox, Syncthing, git. Open with any editor. See docs/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.
  • Agents. journal mcp serve exposes 11 tools over MCP; the CLI does the same from a shell. See docs/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

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

1.0 scope: desktop app (macOS, Windows, Linux), CLI, MCP, Day One import. Not yet: mobile, built-in sync service, PDF export, encryption at rest.

MIT. "Day One" is a trademark of Automattic; this project only reads its export format.

Frequently asked questions

What is io.github.sjh9714/journal?

Personal journal kept as Markdown files: search, On This Day, append to today, Day One import.

How do I install io.github.sjh9714/journal?

Follow the installation steps in its documentation, shown on this page and in its repository.

Does io.github.sjh9714/journal need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.sjh9714/journal open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.sjh9714/journal?

It is published by sjh9714. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.