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
- Capture. I use the
captureprompt 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. - Confirm. Claude shows a preview. The entries are only saved once I approve them. Anything that looks like a reminder is offered as one.
- Follow up. Entries can be extended, resolved with a note or linked into threads, so you can see how a topic evolved.
- Ask. Server-side prompts give the same behaviour across clients:
journal_queryanswers questions across the journalweekly_reviewgives a weekly overview with patterns and carry-forward itemsprep_one_on_onegathers open items, observations and talking points before a 1:1
- 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