madebygps/obsidian-diary-mcp
If you are the rightful owner of obsidian-diary-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Obsidian Diary MCP Server integrates journaling with local AI to enhance personal reflection while ensuring privacy.
Obsidian Diary MCP Server
AI-powered journaling with local processing, automatic backlinks, and smart prompts.
Features
- AI-generated reflection prompts based on past 3 calendar days
- Day citations with automatic
[[YYYY-MM-DD]]
backlinks - Brain dump prioritization (analyzes your writing, not prompts)
- Smart
#tag
extraction using theme similarity - Todo extraction to organized checklists
- Memory trace analysis with theme evolution
- Sunday synthesis (weekly reflection prompts)
Requirements
- uv (Python package manager)
- Ollama (llama3.1 or compatible model)
- MCP client (e.g., GitHub Copilot CLI)
- Obsidian vault (for markdown files)
Setup
1. Clone and install:
git clone https://github.com/madebygps/obsidian-diary-mcp.git
cd obsidian-diary-mcp
uv sync
chmod +x start-server.sh
2. Configure:
cp .env.example .env
Edit .env
: set DIARY_PATH
and PLANNER_PATH
(required)
3. Add to MCP client config (e.g., GitHub Copilot CLI):
- Name:
diary
- Command:
/full/path/to/obsidian-diary-mcp/start-server.sh
Configuration (.env):
Required: DIARY_PATH
, PLANNER_PATH
Optional: OLLAMA_MODEL
(default: llama3.1:latest), OLLAMA_TIMEOUT
(60s), OLLAMA_TEMPERATURE
(0.7), OLLAMA_NUM_PREDICT
(1000 tokens)
Usage
- Create:
"create a memory log for today"
→ AI prompts based on past 3 days - Write: Open in Obsidian, write freely in Brain Dump section
- Extract:
"extract todos from today's entry"
→ Action items to planner - Link:
"link today's memory log"
→ Auto-generates[[YYYY-MM-DD]]
&#tags
- Explore: Use Obsidian's backlinks panel and graph view
More Commands: "show themes from last week"
, "create memory trace for 30 days"
, "refresh memory links for 30 days"
Debugging
Logs in logs/
directory: server-YYYY-MM-DD.log
(protocol), debug-YYYY-MM-DD.log
(operations)
tail -f logs/debug-$(date +%Y-%m-%d).log # Watch in real-time
grep ERROR logs/debug-*.log # Find errors
grep "similarity" logs/debug-*.log # Debug backlinks
Troubleshooting
Server issues: Check .env
exists with DIARY_PATH
and PLANNER_PATH
set. Run ./start-server.sh
directly to test.
Ollama issues: Verify running with curl http://localhost:11434/api/tags
. Pull model: ollama pull llama3.1:latest
No backlinks: Need 2+ entries with similar themes (>8% overlap). Ensure Brain Dump section has substantial content (>50 chars). Check: grep "Brain Dump" logs/debug-*.log
Timeouts: Increase OLLAMA_TIMEOUT
(90+) and OLLAMA_NUM_PREDICT
(2000+) for reasoning models.
How It Works
- Local AI: Ollama processes entries locally—content never leaves your machine
- Calendar-Based: Analyzes past 3 calendar days (not just last 3 entries)
- Brain Dump Focus: Prioritizes your writing over answered prompts for themes
- Day Citations: AI cites
[Day 1]
/[Day 2]
→ converts to[[2025-10-07]]
backlinks - Smart Linking: Jaccard similarity connects entries with >8% theme overlap
- Sundays: 5 weekly synthesis prompts (vs 3 daily)
- Todo Extraction: AI identifies action items from brain dumps
Entry Format
Each entry (YYYY-MM-DD.md
) has plain text headers:
## Reflection Prompts
**1. Question with [[2025-10-06]] backlink (reason)...**
---
## Brain Dump
Your thoughts, experiences, observations...
---
## Memory Links
**Temporal connections:** [[2025-10-05]] • [[2025-10-04]]
**Topic tags:** #career-growth #self-reflection
License
MIT • Python 3.13+ • FastMCP 2.12.4+ • Ollama