TurboVault MCP
A Rust MCP server for Obsidian vaults: search, link graph, note edits guarded by hash checks and rollback from an audit log.
- 158 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The agent creates, edits, moves and deletes notes in the attached vault. Deletion and replacement ask for confirmation, and changes are logged with rollback.
Install
- Works in
Manual install
cargo install turbovaultStdio only, which is all Claude Desktop and Claude Code need. Prebuilt binaries are on the releases page and a Docker image is available.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent creates, edits, moves and deletes notes in the attached vault. Deletion and replacement ask for confirmation, and changes are logged with rollback.
This is third-party code. Review the repository files before installing.
What it does
TurboVault is an MCP server that gives an agent safe access to an Obsidian vault. It is a single Rust binary with no runtime dependencies. The agent reads and edits notes, searches by keyword (BM25) and by meaning (TF-IDF), builds a link graph and scores vault health from 0 to 100. Writes follow one path: an atomic file replacement guarded by a hash check, or one Git commit per write or batch. When a note moves, the server rewrites the wikilinks, Markdown links and Canvas cards pointing at it. Every change lands in a hash-chained audit log, and `rollback_note` undoes it by operation id. Before searching, the index is reconciled with the disk, so edits from Obsidian, a sync client or `git pull` show up at once.
Who it is for. Obsidian users with a large vault who hand note upkeep to an agent and want every edit to be reversible.
Good fit when
- An agent looks for an answer in a personal knowledge base of thousands of notes.
- A note is renamed and every link to it is updated across the vault.
- The vault lives in Git and each agent edit should become its own commit.
- You want a vault health report: broken links, dead ends, duplicates.
- Daily and weekly notes are created from Periodic Notes settings.
Not a fit when
- Notes sit in an app's closed database and are not stored as Markdown files.
- The agent must not change anything: then only a launch with `--profile read-only` fits.
- You need a plugin inside Obsidian itself: TurboVault works on a folder on disk and does not embed in the app.
Example request
Find notes about onboarding that have no incoming links, suggest connections and move one of them to the archive while updating its links.MCP
- Transport
- stdio, http
- Authentication
- not required
Limitations
A vault is attached at launch with `--vault` or later with the `add_vault` tool. A disk root, the home directory and system folders cannot be attached. The hidden folders `.obsidian`, `.git` and `.turbovault` are unreachable for note tools. Files over 10 MiB are neither read nor written. After startup on 50 thousand notes the server uses about 0.93 GB of memory, and 213 MB on 10 thousand. SQL over frontmatter and vector search are build-time features named `sql` and `vector-search`. Network transports require authentication, and prebuilt archives exist for Windows, Linux and macOS.
How to disable. Run `claude mcp remove turbovault` and remove the binary with `cargo uninstall turbovault`. The audit log in the `.turbovault/` folder stays in the vault; delete it by hand if unneeded.
FAQ
How do I connect TurboVault to Claude Code?
Install with `cargo install turbovault`, then run `claude mcp add turbovault -- turbovault --vault ~/Documents/Vault`. Without `--vault` the server starts empty and the agent registers a vault with `add_vault`.
Which call should I start with?
`get_vault_context`: it returns the registered vaults, note counts, health and the tools grouped by task.
Can I stop the agent from writing to the vault?
Yes. Launching with `--profile read-only` refuses every mutating tool, and the `allowed_operations: read` setting makes a single vault read-only.
How do I undo a bad edit?
Find the operation in `audit_log` and call `rollback_note` with its id. `rollback_preview` shows the change beforehand. If the note was edited again after that change, the rollback will not overwrite it without explicit force.
Does the server ask before deleting?
Yes, when the client can request confirmation. It covers `delete_note`, a move that replaces a note, a forced rollback and adding a vault. The prompt is turned off with `--no-confirm-destructive`.
Discussion
No questions or reviews yet.
Related
MCP serversA local MCP server for safe read, search and edit of notes in an Obsidian vault, restricted to the vault root
An Obsidian plugin with built-in MCP: agents read, search and edit files on cloud drives while notes stay in sync.
Obsidian MCP Server
obsidian-mcp-server
An MCP server for an Obsidian vault: read, search and precisely edit notes, sections, frontmatter and tags
An MCP server for an Obsidian vault via the Local REST API plugin: search, read, append and patch notes
An MCP server for a local Markdown archive of ChatGPT, Claude, Gemini, Grok and Kimi chats: agents search and read past talks.
Obsidian MCP
obsidian-mcp
A local MCP server for Obsidian vaults: reads and edits explicitly configured folders of Markdown files, Obsidian need not be open
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| TurboVault (this card) | no | not required | 158 | |
| Obsidian MCP Server | no | API key | 702 | reads, searches and surgically edits notes; TurboVault adds a link graph, moves that update links and rollback from a log |
| mcp-obsidian | no | API key | 4,520 | works through the Local REST API plugin inside Obsidian; TurboVault reads the vault folder directly as a single binary |
README in short
The repository holds the server and a set of Rust crates for parsing Obsidian Flavored Markdown, such as `turbovault-core`. Parsing covers wikilinks, embeds, tags, tasks, callouts, frontmatter, JSON Canvas 1.0 and Bases.