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
#tagextraction 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