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.
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.
- 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
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.
One command — cargo install turbovault
