LabscoMCP early access ↗
EpistatesMCP SERVER

TurboVault

A Rust MCP server for Obsidian-flavored Markdown vaults — BM25 and semantic search, link-graph analysis, Git-backed atomic writes and SQL over frontmatter, pointed at a folder on your own disk.

by Epistates ↗Note-Taking & Personal Knowledge BasesCommunity

LABSCO SUMMARY

A vault index, not a file reader.

Most Obsidian servers hand the model read and write on a directory and stop there. TurboVault builds the index first — link graph, BM25 and TF-IDF search, frontmatter schema — so questions like which notes are hubs, what is orphaned, what is a near-duplicate get answered from structure instead of from dozens of file reads. The cost is a Rust toolchain to install it, and docs whose tool inventories disagree with each other; run tools/list against your own install and trust that number.

What it is

An MCP server that indexes a local directory of .md and .ofm files and exposes it to Claude Desktop or any MCP client as a searchable, navigable knowledge base. It ships as one self-contained Rust binary you point at a vault; the same components are published separately on crates.io as an SDK, so the parser, link graph, search and vault layers can be pulled into your own Rust project or your own MCP server.

What you get

  • BM25-ranked search across the vault, with advanced_search for tag, frontmatter and path filters
  • Similarity work that plain search misses: semantic_search, find_similar_notes, find_duplicates, compare_notes
  • Structure made visible — get_backlinks, get_hub_notes, get_isolated_clusters, detect_cycles, get_centrality_ranking
  • Health passes that end in a fix list: quick_health_check returns a 0-100 score, full_health_analysis and get_broken_links name the problems
  • Writes that are Git commits — set write_backend: git on a vault and every mutation is committed; batch_execute lands a multi-operation batch all-or-nothing
  • Undo by operation ID: audit_log, then rollback_preview before rollback_note
  • SQL against frontmatter through query_frontmatter_sql, with inspect_frontmatter for the schema (needs the sql feature)
  • Several vaults at once: add_vault registers one at runtime, set_active_vault switches context, list_vaults shows what is loaded
  • A tool_visibility block that hides or disables tools by exact name, so delete_note need never reach the client

Requirements

No account and no API key — it is a local binary reading a directory on your own disk. Installing it needs Rust 1.90.0 or later: cargo install turbovault puts a 7.0 MB STDIO-only binary in ~/.cargo/bin/turbovault, --features http and --features full add the other transports, and --features sql is what brings the frontmatter query tools with it. Point it at a vault with --vault (or OBSIDIAN_VAULT_PATH) and choose a profile; readonly turns off every write path. One snag to expect: the configuration and deployment guides still write the command as mcp-obsidian — the binary cargo installs is turbovault, so substitute the name when copying those examples.

Setup effort

One command — cargo install turbovault