SkillAgentSearch skills...

Turbovault

Markdown and OFM SDK w/ MCP server that transforms your Obsidian vault into an intelligent knowledge system

Install / Use

npx skills add Epistates/turbovault

Installs into whichever agent you are using.

About this skill

Quality Score

0/100

Supported Platforms

Claude Code
Cursor

README

TurboVault

Crates.io Docs.rs License Rust 1.90+ Ask DeepWiki

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.


Two Ways to Use TurboVault

1. As a Rust SDK (For Developers)

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.

  • Modular Architecture: Use only what you need (Parser, Graph, Search, etc.).
  • High Performance: Sub-100ms operations for most tasks.
  • Extensible: Easily build your own specialized MCP servers on top of our core logic.
  • SOTA Standards: Fully supports Obsidian-flavored Markdown (wikilinks, embeds, callouts).

2. As a Ready-to-Use MCP Server (For Users)

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.

  • Zero Coding Required: Install the binary and point it at your vault.
  • 74 Specialized Tools: Searching, link analysis, atomic Git-backed writes, SQL frontmatter queries, health checks, and more.
  • Multi-Vault Support: Switch between personal and work notes seamlessly at runtime.

Core Crates (The SDK)

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 | Docs.rs | | turbovault-parser | High-speed .md & .ofm parser | Docs.rs | | turbovault-graph | Link graph analysis & relationship discovery | Docs.rs | | turbovault-vault | Vault management, file I/O & atomic writes | Docs.rs | | turbovault-tools | 74 MCP tool implementations | Docs.rs | | turbovault-plugin-api | Stable facade, provider contract & bounded hooks for compiled-in plugins | Docs.rs | | turbovault-sql | SQL frontmatter queries (GlueSQL) | Docs.rs | | turbovault-batch | Validated fail-fast operation batches | Docs.rs | | turbovault-export | Export & reporting (JSON/CSV/MD) | Docs.rs | | turbovault | Main MCP server binary / SDK orchestrator | Docs.rs |

Why TurboVault?

Unlike basic note readers, TurboVault understands your vault's knowledge structure:

  • Full-text search across all notes with BM25 ranking
  • Link graph analysis to discover relationships, hubs, orphans, and cycles
  • Vault intelligence with health scoring and automated recommendations
  • Validated operation batches for fewer round trips and fail-fast execution
  • Multi-vault support with instant context switching
  • Runtime vault addition — no vault required at startup, add them as needed

Powered by TurboMCP

TurboVault is built on TurboMCP, a Rust framework for building production-grade MCP servers. TurboMCP provides:

  • Type-safe tool definitions — Macro-driven MCP tool implementation
  • Standardized request/response handling — Consistent envelope format
  • Transport abstraction — HTTP, WebSocket, TCP, Unix sockets (configurable features)
  • Middleware support — Logging, metrics, error handling
  • Zero-copy streaming — Efficient large payload handling

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.

Quick Start

Installation

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

Option 1: Static Vault (Recommended for Single Vault)

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"]
    }
  }
}

Option 2: Runtime Vault Addition (Recommended for Multiple Vaults)

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]

Atomic Git-Backed Writes

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.

What Can Claude Do?

Search & Discovery

You: "Find all notes about async Rust and show how they connect"
Claude: search() -> recommend_related() -> get_related_notes() -> explain relationships

Vault Intelligence

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

Knowledge Graph Navigation

You: "What are my most important notes? Which ones are isolated?"
Claude: get_hub_notes() -> get_isolated_clusters() -> suggest connections

Structured Note Creation

You: "Create a project note for the TurboVault launch with status tracking"
Claude: list_templates() -> create_from_template() -> write auto-formatted note

Batch Content Operations

You: "Move my 'MLOps' note to 'AI/Operations' and identify links to update"
Claude: get_backlinks() -> move_note() -> edit_note() for each affected reference

Link Suggestions

You: "Based on my vault, what notes should I link this to?"
Claude: suggest_links() -> get_link_strength() -> recommend cross-references

74 MCP Tools Organized by Category

File Operations & Batch (8)

  • read_note — Get note content with hash for conflict detection
  • write_note — Create/overwrite notes (auto-creates directories)
  • edit_note — Surgical edits via SEARCH/REPLACE blocks
  • delete_note — Safe deletion with link tracking
  • move_note — Rename/relocate a note; Git-backed vaults atomically rewrite incoming wikilinks
  • move_file — Move/rename non-note files (e.g. attachments, images)
  • get_notes_info — Metadata for multiple notes in a single call
  • batch_execute — One all-or-nothing commit with write_backend: git; direct stays sequential

Git Fanout (4)

  • begin_fanout — Open an isolated worktree for parallel agent writes
  • commit_fanout — Merge an active fanout back into its base vault
  • abandon_fanout — Discard a fanout without changing the base vault
  • list_orphan_fanouts — Diagnose worktrees left by interrupted sessions

Metadata &

Related Skills

View on GitHub
GitHub Stars146
CategoryDevelopment
Updated2d ago
Forks24

Languages

Rust

Security Score

100/100

Audited on Aug 5, 2026

No findings