by Epistates
Markdown and OFM SDK w/ MCP server that transforms your Obsidian vault into an intelligent knowledge system
# Add to your Claude Code skills
git clone https://github.com/Epistates/turbovaultThe ultimate Rust SDK and high-performance MCP server for Obsidian-flavored Markdown (.ofm) and standard .md vaults.
TurboVault is a dual-purpose toolkit designed for both developers and users. It provides a robust, modular Rust SDK for building applications that consume markdown directories, and a full-featured MCP server that works out of the box with Claude and other AI agents.
Build your own applications, search engines, or custom MCP servers using our modular crates. TurboVault handles the heavy lifting of parsing .md and .ofm files, building knowledge graphs, and managing multi-vault environments.
Transform your Obsidian vault into an intelligent knowledge system immediately. Connect TurboVault to Claude Desktop or any MCP-compatible client to gain for your notes.
No comments yet. Be the first to share your thoughts!
TurboVault is a modular system composed of specialized crates. You can depend on individual components to build your own tools:
| Crate | Purpose | Docs |
|-------|---------|------|
| turbovault-core | Core models, MultiVault management & types | |
| turbovault-parser | High-speed .md & .ofm parser |
|
| turbovault-graph | Link graph analysis & relationship discovery |
|
| turbovault-vault | Vault management, file I/O & atomic writes |
|
| turbovault-tools | 44+ MCP tool implementations |
|
| turbovault-batch | Atomic batch operations |
|
| turbovault-export | Export & reporting (JSON/CSV/MD) |
|
| turbovault | Main MCP server binary / SDK orchestrator |
|
Unlike basic note readers, TurboVault understands your vault's knowledge structure:
TurboVault is built on TurboMCP, a Rust framework for building production-grade MCP servers. TurboMCP provides:
This means TurboVault gets battle-tested reliability and extensibility out of the box. Want to add custom tools? TurboMCP's ergonomic macros make it straightforward.
From crates.io
# Minimal install (7.0 MB, STDIO only - perfect for Claude Desktop)
cargo install turbovault
# With HTTP server (~8.2 MB)
cargo install turbovault --features http
# With all cross-platform transports (~8.8 MB)
# Includes: STDIO, HTTP, WebSocket, TCP (Unix sockets only on Unix/macOS/Linux)
cargo install turbovault --features full
# Binary installed to: ~/.cargo/bin/turbovault
From source:
git clone https://github.com/epistates/turbovault.git
cd turbovault
make release
# Binary: ./target/release/turbovault
turbovault --vault /path/to/your/vault --profile production
Then add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"turbovault": {
"command": "/path/to/turbovault",
"args": ["--vault", "/path/to/your/vault", "--profile", "production"]
}
}
}
Start the server without a vault:
turbovault --profile production
Then add vaults dynamically:
{
"mcpServers": {
"turbovault": {
"command": "/path/to/turbovault",
"args": ["--profile", "production"]
}
}
}
Once connected to Claude:
You: "Add my vault at ~/Documents/Notes"
Claude: [Calls add_vault("personal", "~/Documents/Notes")]
You: "Search for machine learning notes"
Claude: [Uses search() across the indexed vault]
You: "What are my most important notes?"
Claude: [Uses get_hub_notes() to find key concepts]
You: "Find all notes about async Rust and show how they connect"
Claude: search() -> recommend_related() -> get_related_notes() -> explain relationships
You: "What's the health of my vault? Any issues I should fix?"
Claude: quick_health_check() -> full_health_analysis() -> get_broken_links() -> generate fixes
You: "What are my most important notes? Which ones are isolated?"
Claude: get_hub_notes() -> get_isolated_clusters() -> suggest connections
You: "Create a project note for the TurboVault launch with status tracking"
Claude: list_templates() -> create_from_template() -> write auto-formatted note
You: "Move my 'MLOps' note to 'AI/Operations' and update all links"
Claude: move_note() + batch operations -> atomic multi-file update
You: "Based on my vault, what notes should I link this to?"
Claude: suggest_links() -> get_link_strength() -> recommend cross-references
read_note — Get note content with hash for conflict detectionwrite_note — Create/overwrite notes (auto-creates directories)edit_note — Surgical edits via SEARCH/REPLACE blocksdelete_note — Safe deletion with link trackingmove_note — Rename/relocate with automatic wikilink updatesget_backlinks — All notes that link TO this noteget_forward_links — All notes this note links TOget_related_notes — Multi-hop graph traversal (find non-obvious connections)get_hub_notes — Top 10 most connected notes (key concepts)get_dead_end_notes — Notes with incoming but no outgoing linksget_isolated_clusters — Disconnected subgraphs in your vaultquick_health_check — Fast 0-100 health score (<100ms)full_health_analysis — Comprehensive vault audit with recommendationsget_broken_links — All links pointing to non-existent notesdetect_cycles — Circular reference chains (sometimes intentional)explain_vault — Holistic overview replacing 5+ separate callssearch — BM25-ranked search across all notes (<500ms on 100k notes)advanced_search — Search with tag/metadata filtersrecommend_related — ML-powered recommendations based on content similarityfind_notes_from_template — Find all notes using a specific templatequery_metadata — Frontmatter pattern querieslist_templates — Discover available templatesget_template — Template details and required fieldscreate_from_template — Render and write templated notesget_ofm_examples — See all Obsidian Flavored Markdown featurescreate_vault — Programmatically create a new vaultadd_vault — Register and auto-initialize a vault at runtimeremove_vault — Unregister vault (safe, doesn't delete files)list_vaults — All registered vaults with statusget_vault_config — Inspect vault settingsset_active_vault — Switch context between multiple vaultsget_active_vault — Current active vaultbatch_execute — Atomic multi-file operations (all-or-nothing transactions)export_health_report — Export vault health as JSON/CSVexport_broken_links — Export broken links with fix suggestionsexport_vault_stats — Statistics and metrics