Skip to content
Journal MCP

Journal MCP

Claude does the thinking, the server does the remembering. A private MCP server I use as a work journal in my role as tech lead.

What it is

As a tech lead, small things come up all the time: tech debt, decisions, blockers, feature ideas, observations about the team and things to follow up on. Journal MCP gives me one place to put all of it, usually as a quick voice note or free text. Later I can ask questions about it in plain language.

Intent

  • Fast capture. Capturing a thought should take seconds. The structuring happens afterwards, not while I write.
  • No AI on the server. It only stores and retrieves data. All understanding, categorizing and summarizing happens in the MCP client (Claude). That keeps the server small, cheap and deterministic.
  • Private. Data lives in a single SQLite file that I own. Sensitive notes, such as notes about team members, can be flagged and hidden from broader searches.

How it works

  1. Capture. I use the capture prompt with raw text. Claude first saves the raw text untouched. It then splits the text into separate entries, each with a category (tech_debt, decision, blocker, team_eval, todo …), a summary, the people and systems mentioned, and tags.
  2. Confirm. Claude shows a preview. The entries are only saved once I approve them. Anything that looks like a reminder is offered as one.
  3. Follow up. Entries can be extended, resolved with a note or linked into threads, so you can see how a topic evolved.
  4. Ask. Server-side prompts give the same behaviour across clients:
    • journal_query answers questions across the journal
    • weekly_review gives a weekly overview with patterns and carry-forward items
    • prep_one_on_one gathers open items, observations and talking points before a 1:1
  5. Get reminded. Reminders can be snoozed and completed, and a daily digest can be sent via Telegram.

The server exposes around 30 tools (writing, full-text search, person lookups, stats, export and import) plus MCP resources such as journal://recent and journal://reminders/due.

Tech stack

  • Java 25 · Spring Boot 4 · Spring AI (MCP server over Streamable HTTP)
  • SQLite with FTS5 full-text search · Spring JDBC · domain model built from Java records
  • Spring Security: Bearer token plus OAuth 2 authorization code with PKCE and dynamic client registration, so Claude Desktop, Claude Code and Cursor can connect with a browser login
  • Scheduled JSONL backups · health checks · Telegram notifications
Last updated on