dhruv's obsidian mcp
i'm working on learning ML compilers + some os concepts this summer so i set up an obsidian vault to track my learning
coincidentally i also wanted some more experience working with mcp so im gonna create an mcp server that connects to codex and gives it some pointers on how to evaluate my learning + make sure my projects are on the right track
stay tuned for updates! we're just getting started ☺︎
Roadmap
This project is a local MCP server for turning an Obsidian vault into a structured compiler-learning interface.
The goal is not just "AI can read my notes."
The goal is to build a real MCP-native learning system with:
- tools for computation and analysis
- resources for stable context surfaces
- prompts for reusable workflows
Current State
Phase 1 — Existing MCP integration
- Connect Codex to an existing Obsidian MCP server
- Validate basic vault access and note summarization
Phase 2 — Custom local MCP server
- Build a custom Python MCP server
- Expose initial tools:
-
extract_concepts -
get_learning_gaps -
generate_study_session -
compare_notes_to_project
-
- Register server in Codex
- Verify with MCP Inspector
- Get working end-to-end local tool calls
Next Up
Phase 3 — Flesh out the MCP interface
Goal: evolve from "bag of tools" into a real MCP-backed learning interface.
3.1 Resources
Expose stable, inspectable views of the learning system.
Planned resources:
-
vault://compiler/concepts -
vault://compiler/gaps -
vault://compiler/recent-notes -
vault://project/alignment -
vault://weekly-review/latest
Why:
- tools are good for actions
- resources are good for persistent context
- this makes the server feel more like a system and less like one-off functions
3.2 Prompts
Add reusable workflow templates directly through MCP.
Planned prompts:
-
weekly_learning_review -
generate_study_plan -
notes_vs_project_analysis -
paper_to_implementation_breakdown
Why:
- removes the need to remember good prompt phrasing
- turns repeated workflows into first-class interfaces
3.3 Better analysis heuristics
Upgrade from raw keyword counting to more meaningful note analysis.
Planned improvements:
- frontmatter-aware filtering
- tag-aware concept grouping
- recency-aware analysis
- note depth scoring
- backlinks / note-link graph analysis
- better "shallow vs deep" detection
- concept clustering instead of only exact keyword hits
Why:
- current heuristics are useful but primitive
- this is where the actual intelligence of the server improves
Phase 4 — Multi-source learning system
Goal: compare and synthesize across more than just markdown notes.
Planned sources:
- Obsidian vault
- local project repo(s)
- paper notes / reading notes
- PDFs or exported paper summaries
- lightweight project tracker / task file
Planned capabilities:
- compare notes to implementation
- compare paper concepts to project gaps
- detect studied-but-not-built topics
- generate implementation ideas from recent learning
Why:
- this is where MCP starts becoming genuinely high leverage
- the server becomes a bridge between learning, planning, and building
Phase 5 — Codex workflow integration
Goal: make the server easy and natural to use inside daily Codex workflows.
Planned work:
- improve tool naming and descriptions
- make outputs more structured and predictable
- add AGENTS.md guidance for when to use each MCP feature
- add example prompts for each tool/resource/prompt
- reduce need for manual tool invocation phrasing
Why:
- a powerful MCP server is useless if the host/client doesn’t use it well
- ergonomics matter just as much as capabilities
Future / Stretch Ideas
Sampling
Potential future direction:
- let the server request model-generated synthesis through MCP sampling
Possible use cases:
- auto-generate weekly reviews
- synthesize study guides from grouped notes
- produce concept summaries from note clusters
Note:
This is intentionally not a near-term priority.
The server should first have strong tools/resources/prompts before adding more agentic behavior.
Remote / hosted version
Potential future direction:
- move from local stdio server to remote server
- support HTTP transport
- add auth if needed
- support broader clients beyond local Codex usage
Note: This is productization, not the immediate learning goal.
Immediate Priorities
Priority 1
Implement resources:
- concepts
- gaps
- recent notes digest
- notes/project alignment summary
Priority 2
Implement prompts:
- weekly review
- study session
- notes vs project comparison
Priority 3
Improve heuristics:
- frontmatter and tag support
- recency filters
- better depth scoring
Guiding Principle
This project should move toward:
a real MCP interface for a compiler-learning workflow
and away from:
a pile of loosely related note-analysis functions
If a new feature does not improve one of these, it probably should not be added:
- learning feedback loops
- study planning
- notes-to-project alignment
- reusable Codex workflows
- structured MCP-native interfaces