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/turbovaultGuides for using mcp servers skills like turbovault.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T16:19:49.026Z",
"npmAuditRan": true,
"pipAuditRan": true
}turbovault is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Epistates. Markdown and OFM SDK w/ MCP server that transforms your Obsidian vault into an intelligent knowledge system. It has 149 GitHub stars.
Yes. turbovault passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/Epistates/turbovault" and add it to your Claude Code skills directory (see the Installation section above).
turbovault is primarily written in Rust. It is open-source under Epistates on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh turbovault against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
The 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 74 specialized tools for your notes.
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 | 74 MCP tool implementations | |
| turbovault-plugin-api | Stable facade, provider contract & bounded hooks for compiled-in plugins | |
| turbovault-sql | SQL frontmatter queries (GlueSQL) | |
| turbovault-batch | Validated fail-fast operation batches | |
| 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
# With SQL frontmatter queries (adds GlueSQL-powered query_frontmatter_sql tool)
cargo install turbovault --features sql
# 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]
For vaults already managed by Git, enable the transactional backend in the TurboVault YAML config:
vaults:
- name: personal
path: ~/Documents/Notes
is_default: true
write_backend: git
git:
include_ignored: false
require_commit_message: false
Start with turbovault --config ~/.turbovault/config.yaml. Every mutation is
then a Git commit. Multi-operation batches build one isolated tree and advance
the branch with compare-and-swap, so a stale path aborts the entire batch and
concurrent TurboVault processes cannot interleave commit/materialization. The
backend also refuses to overwrite dirty or untracked touched paths and refuses
to reset an index containing staged changes.
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 identify links to update"
Claude: get_backlinks() -> move_note() -> edit_note() for each affected reference
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 a note; Git-backed vaults atomically rewrite incoming wikilinksmove_file — Move/rename non-note files (e.g. attachments, images)get_notes_info — Metadata for multiple notes in a single callbatch_execute — One all-or-nothing commit with write_backend: git; direct stays sequentialbegin_fanout — Open an isolated worktree for parallel agent writescommit_fanout — Merge an active fanout back into its base vaultabandon_fanout — Discard a fanout without changing the base vaultlist_orphan_fanouts — Diagnose worktrees left by interrupted sessions