read_noteLABSCO 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
searchacross the vault, withadvanced_searchfor 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_checkreturns a 0-100 score,full_health_analysisandget_broken_linksname the problems - Writes that are Git commits — set
write_backend: giton a vault and every mutation is committed;batch_executelands a multi-operation batch all-or-nothing - Undo by operation ID:
audit_log, thenrollback_previewbeforerollback_note - SQL against frontmatter through
query_frontmatter_sql, withinspect_frontmatterfor the schema (needs thesqlfeature) - Several vaults at once:
add_vaultregisters one at runtime,set_active_vaultswitches context,list_vaultsshows what is loaded - A
tool_visibilityblock that hides or disables tools by exact name, sodelete_noteneed 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
USE CASES
Finding a note you can only half describe
Search on meaning rather than exact words — the semantic results come back with similarity scores and the terms they share with your query, so you can see why each one surfaced.
Cleaning up a vault that drifted
Score it, get the specific broken links and disconnected clusters, then apply all the repairs as one batch that either lands whole or not at all.
Letting an agent write into notes you care about
Turn on the Git write backend so each change becomes a commit, and keep an operation-by-operation undo for anything you want back.
Querying frontmatter like a table
Inspect the frontmatter schema, then run SQL over it to list every note whose status and deadline fields match what you are after.
Keeping work and personal notes apart
Start the server with no vault, register each one as you need it, and switch the active context between them mid-conversation.
74 tools
Listed in project docs. Your client may show a different list.
write_noteedit_notedelete_notemove_notemove_fileget_notes_infobatch_executebegin_fanoutcommit_fanoutabandon_fanoutlist_orphan_fanoutsupdate_frontmatterget_metadata_valuemanage_tagsget_backlinksget_forward_linksget_related_notesget_hub_notesget_dead_end_notesget_isolated_clusterssuggest_linksget_link_strengthget_centrality_rankingsearchadvanced_searchsearch_by_frontmatterrecommend_relatedfind_notes_from_templatequery_metadatainspect_frontmatterquery_frontmatter_sqlsemantic_searchfind_similar_notesfind_duplicatescompare_notesdiff_notesquick_health_checkfull_health_analysisget_broken_linksdetect_cyclesexplain_vaultevaluate_note_qualityvault_quality_reportfind_stale_notesanalyze_note_groundingfind_ungrounded_notesokf_validategenerate_indexappend_log_entryvisualizelist_templatesget_templatecreate_from_templateget_ofm_syntax_guideget_ofm_quick_refget_ofm_examplescreate_vaultadd_vaultremove_vaultlist_vaultsget_vault_configset_active_vaultget_active_vaultget_vault_contextaudit_logaudit_statsdiff_note_versionrollback_previewrollback_noteexport_health_reportexport_broken_linksexport_vault_statsexport_analysis_reportBEFORE YOU INSTALL
What to know first
Tools you get
74 tools named in the project's documentation. A default cargo install turbovault leaves out inspect_frontmatter and query_frontmatter_sql; add --features sql or --features full for those. tool_visibility in the config file, or TURBOVAULT_HIDDEN_TOOLS, TURBOVAULT_DISABLED_TOOLS and TURBOVAULT_ALLOWED_TOOLS, can hide more.
Requires
Rust 1.90.0 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
cargo install turbovaultMCP Clients
Claude Desktop
Add this to claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows), then restart Claude Desktop. <YOUR_PATH_TO_TURBOVAULT> is the full path of the binary — cargo install puts it at ~/.cargo/bin/turbovault —, and <YOUR_PATH_TO_VAULT> is your vault folder.
{
"mcpServers": {
"turbovault": {
"command": "<YOUR_PATH_TO_TURBOVAULT>",
"args": [
"--vault",
"<YOUR_PATH_TO_VAULT>",
"--profile",
"production"
]
}
}
}