The KSJ MCP Server connects your physical Knowledge Synthesis Journal to an AI assistant, turning handwritten journal photos into a private, searchable, local knowledge base — no cloud required.
Upload & Process
upload_capture/bulk_upload: OCR single photos or entire folders, parse templates (RC, SYN, REV, DC), and extract schema tags (#topics, @references, !priorities, ?questions, $insights, A→B relationships)
Search & Browse
search_captures: Full-text search across all entry types with optional tag and date filterslist_by_tag: Browse all captures associated with a specific tag, reference, question, or priority
Discover & Synthesize
find_connections: Surface tag-overlap and @-reference links between capturessuggest_synthesis: Identify RC topic clusters ready to be synthesized into SYN pagesget_breakthroughs: Chronological timeline of all Synthesis entries to track evolving thinking
Track & Analyze
knowledge_progress: Follow topics through Needs Work → Solid → Mastered via REV entriesdream_patterns: Aggregate recurring symbols, emotions, and themes across DC entriesget_stats: Overview of capture counts, top tags, open questions, and key insights
Export & Study
export_captures: Export all or tag-filtered captures as Markdown or JSONexport_study_deck: Generate a CSV flashcard deck from open ?-questions (compatible with Anki, Quizlet, Notion)
Monitor Health
journal_health: KPI dashboard covering capture velocity, synthesis ratio, unanswered questions, and actionable coaching recommendations
All processing and storage happen locally on your machine via Tesseract OCR and SQLite, keeping your notes fully private.
Allows exporting open questions from journal entries as a portable CSV study deck for use in Anki flashcard software.
Supports exporting journal captures, insights, and filtered search results as Markdown files.
Provides the capability to export open questions from journal entries into a CSV format compatible with Notion.
Facilitates exporting study decks from captured journal questions as CSV files for import into Quizlet.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@KSJ MCP ServerSearch my journal notes for ideas about spaced repetition"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
KSJ MCP Server
Knowledge Synthesis Journal v2.0 — AI companion
Turn your handwritten journal photos into a searchable, AI-powered knowledge base — privately, on your own machine.
"Works great on paper. Magical with AI."
Get the journal: Knowledge Synthesis Journal v2.0 on Amazon
What it does
The KSJ MCP server connects your physical journal to an AI assistant via the Model Context Protocol (MCP) — an open standard for linking AI models to local tools and data.
Photograph a journal page, upload it, and your AI assistant can:
Search across everything you've ever written
Find connections between ideas (shared tags,
@references)Surface your open questions, key insights, and breakthroughs
Export your knowledge base as Markdown or JSON
All processing is local. No cloud. No subscription. Your notes stay on your machine.
AI Platform Support
This server uses MCP (Model Context Protocol), an open standard with growing support across AI platforms and developer tools.
Currently supported:
Claude Desktop (free) — full MCP support, recommended for getting started
Other MCP-compatible clients (Cursor, VS Code + GitHub Copilot, and others) can connect using the same config — check your client's MCP documentation for setup details.
Using ChatGPT, Gemini, or another platform?
Use the export_captures tool to dump your knowledge base as Markdown or JSON, then paste it into your AI assistant of choice. Full native MCP support for additional platforms is on the roadmap as the ecosystem grows.
Setup (4 steps)
Step 1 — Install an MCP-compatible AI client
The fastest way to get started is Claude Desktop (free at claude.ai/download).
For other MCP clients, consult their documentation for how to register a local MCP server, then use the config in Step 4.
Step 2 — Install Tesseract OCR
Tesseract reads the text from your journal photos. It must be installed separately.
Platform | Command |
Windows | Download the installer from UB-Mannheim/tesseract — check "Add to PATH" during install |
macOS |
|
Linux |
|
After installing, restart your AI client so the updated PATH is picked up.
Windows note: If you skip "Add to PATH", the server will still auto-detect Tesseract at the default install location (
C:\Program Files\Tesseract-OCR\). Adding to PATH is recommended but not required.
Step 3 — Install uv and the KSJ server
uv is a fast Python package manager used to install and run the KSJ server.
Install uv:
Platform | Command |
Windows |
|
macOS/Linux |
|
Verify with uv --version in a terminal before continuing.
Install the KSJ server (run once in a terminal):
uv tool install --from git+https://github.com/ChavezAILabs/ksj-mcp ksj-mcpThis installs ksj-mcp as a persistent command on your machine. Git must be installed for this step (Windows: Git for Windows).
Verify with ksj-mcp --help — if it shows a help message, the install worked.
To update later:
uv tool upgrade ksj-mcpStep 4 — Register the server
Claude Desktop config file location:
Platform | Path |
Windows |
|
macOS/Linux |
|
Add the following block:
{
"mcpServers": {
"ksj": {
"command": "ksj-mcp"
}
}
}Save and restart your AI client. You should see ksj listed in the tools/integrations panel.
Usage
Once connected, talk to your AI assistant naturally.
Uploading:
"Upload my journal photo from /Users/me/Desktop/RC-001.jpg"
"Process all the photos in my /Desktop/journal-scans folder"
Searching & browsing:
"Search my notes for ideas about spaced repetition"
"Show me everything tagged #machine-learning"
"What are my open questions about calculus?"
"Show me everything connected to RC-015"
Synthesis & review:
"Which topics am I ready to synthesize into a SYN page?"
"Show me my breakthrough timeline"
"How is my understanding of #linear-algebra progressing?"
Dream Capture:
"What symbols and themes keep appearing in my dreams?"
"Show me all my dream entries from this month"
Export & health:
"Export all captures tagged #ai as Markdown"
"Generate a study deck from my open questions"
"How's my journal practice looking?"
Available tools
Tool | What it does |
| OCR a journal photo, parse the template, store it, highlight strongest connection |
| Process a whole folder of photos at once |
| Full-text search with optional tag and date filters |
| Browse all captures with a given tag or prefix |
| Show tag-overlap and |
| Overview: counts, top tags, open questions, insights, date range |
| Dump your knowledge base as Markdown or JSON |
| Find RC topic clusters ready to become a SYN entry |
| Export |
| KPI dashboard + coaching: velocity, synthesis ratio, review cadence, open questions |
| All SYN entries chronologically — your complete breakthrough timeline |
| Recurring symbols, emotions, motifs, and themes across DC pages |
| Track Needs Work → Solid → Mastered progression from REV entries |
Schema tag system
Use these prefixes anywhere on your journal pages — the server extracts them automatically.
RC, SYN, REV pages:
Prefix | Meaning | Example |
| Topic / domain |
|
| Source / reference |
|
| Priority / urgency |
|
| Open question |
|
| Key insight |
|
| Cause / effect |
|
DC (Dream Capture) pages use a dream-specific variant:
Prefix | Meaning | Example |
| Dream theme |
|
| Symbol or character |
|
| Recurring motif |
|
| Sensory detail |
|
Troubleshooting
"Tesseract OCR is not installed" Install Tesseract (Step 2 above) and restart your AI client.
"Could not detect a template ID" Make sure the template number (RC-001, SYN-001, etc.) is clearly visible in the photo. Try better lighting or a closer shot.
"RC-001 already exists in your knowledge base"
You're re-uploading a page that's already stored. To replace it with the new photo (e.g. after a cleaner retake), ask your AI assistant to upload with force=True:
"Upload /path/to/RC-001.jpg with force=True"
"Server transport closed unexpectedly" / server not starting
Run ksj-mcp --help in a terminal. If that works, the issue is with the Claude Desktop config — double-check it is valid JSON with "command": "ksj-mcp". If ksj-mcp is not found, re-run the install command from Step 3.
Server not appearing in tools panel
Confirm ksj-mcp --help works in a terminal, verify the config file is valid JSON, and restart Claude Desktop after saving any config changes.
Data location
All your captures are stored locally in ~/.ksj-mcp/:
Platform | Path |
Windows |
|
macOS/Linux |
|
Files:
~/.ksj-mcp/captures.db (SQLite database — all your captures and tags)
~/.ksj-mcp/images/ (copies of uploaded journal photos)Your data is never sent anywhere and persists across updates.
Custom location: Set the KSJ_DATA_DIR environment variable in your config to store data elsewhere:
{
"mcpServers": {
"ksj": {
"command": "uvx",
"args": ["--from", "git+https://github.com/ChavezAILabs/ksj-mcp", "ksj-mcp"],
"env": {
"KSJ_DATA_DIR": "C:\\Users\\you\\Documents\\ksj-data"
}
}
}
}License
MIT — free to use, modify, and share.
Created by Chavez AI Labs LLC paul@chavezailabs.com "Personal knowledge operating system for the AI age"
Get the journal: Knowledge Synthesis Journal v2.0 (Amazon)
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.