Crate turbovault

Crate turbovault 

Source
Expand description

§TurboVault Server

Main server implementation and CLI for the Model Context Protocol (MCP) Obsidian vault manager.

TurboVault provides a production-grade MCP server that transforms Obsidian vaults into intelligent knowledge systems for AI agents. It offers advanced editing, search, graph analysis, and batch operations.

§Features

  • MCP Server Framework: Full Model Context Protocol implementation
  • Vault Management: File operations, watching, and atomic transactions
  • Advanced Search: Full-text search with Tantivy
  • Graph Analysis: Link relationships, backlinks, and health analysis
  • Batch Operations: Atomic multi-file operations with rollback
  • Multiple Transports: Stdio (default), HTTP, WebSocket, TCP, Unix sockets
  • Export & Reporting: JSON/CSV export for analysis results

§Architecture

The crate is organized into several modules:

§Quick Start

use turbovault_core::ServerConfig;
use turbovault_vault::VaultManager;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Initialize vault configuration
    let config = ServerConfig::default();
     
    // Create vault manager
    let _manager = VaultManager::new(config)?;
     
    Ok(())
}

§Transport Features

By default, the server uses stdio transport (suitable for Claude Desktop). Optional transports can be enabled via Cargo features:

  • stdio - Standard input/output (always included)
  • http - HTTP server support
  • websocket - WebSocket support
  • tcp - TCP socket support
  • unix - Unix domain socket support
  • full - All transports combined

§Documentation

See the main modules for detailed API documentation:

Re-exports§

pub use tools::ObsidianMcpServer;

Modules§

analysis_tools
Vault analysis tools for statistics and relationship analysis
batch_tools
Batch operation tools for coordinated multi-file operations
export_tools
Export tools for vault analysis data
file_tools
File operation tools for the Obsidian MCP server
graph_tools
Graph operations and link analysis tools
metadata_tools
Metadata query tools for finding and extracting file metadata
output_formatter
Output formatting for different transport types
relationship_tools
Relationship analysis tools for link strength, suggestions, and centrality
response_utils
Response utilities for Phase 2 LLMX enhancements
search_engine
Full-text search engine powered by tantivy
search_tools
Search and relationship discovery tools
templates
Template system for LLM-managed vault notes
tools
MCP tool implementations for Obsidian vault
validation_tools
Content validation tools
vault_lifecycle
Vault lifecycle management tools

Structs§

AnalysisTools
Analysis tools context
BatchResult
Result of batch execution
BatchTools
Batch operation tools
Block
A block in vault content
BrokenLinkInfo
Simplified broken link for JSON serialization
Callout
A callout block in vault content
CompositeValidator
Composite validator that runs multiple validators
ContentValidator
Validates file content structure
Counter
A lock-free counter metric (monotonically increasing)
ExportTools
Export tools for vault analysis and reporting
FileMetadata
File metadata
FileTools
File tools context
Frontmatter
YAML frontmatter
FrontmatterValidator
Validates frontmatter structure and required fields
GraphTools
Graph tools context
Heading
A heading in vault content
HealthInfo
Simplified health report for JSON serialization
Histogram
A histogram for tracking value distributions
Link
A link in vault content
LinkValidator
Validates link syntax and format
MetadataTools
Metadata tools for querying and extracting file metadata
MetricsContext
Global metrics context registry (rarely used)
MultiVaultManager
Multi-vault manager coordinating multiple vaults
RelationshipTools
Relationship analysis tools
ResponseFormatter
Formatter for converting responses to different formats
SearchEngine
Search engine for vault discovery (powered by tantivy)
SearchQuery
Advanced search builder for LLMs
SearchResultInfo
Search result metadata for LLM consumption
SearchTools
Search tools context
ServerConfig
Global server configuration
SourcePosition
Position in source text (line, column, byte offset)
Tag
A tag in vault content
TaskItem
A task item in vault content
TemplateDefinition
Complete template definition
TemplateEngine
Template engine for vault
ValidationIssue
A validation issue found in content
ValidationReport
Result of validating content
ValidationReportInfo
Simplified validation report for JSON serialization
ValidationTools
Validation tools context
VaultConfig
Configuration for a single vault
VaultFile
A complete vault file with parsed content
VaultInfo
Information about a registered vault
VaultLifecycleTools
Vault lifecycle operations
VaultStats
Statistics response structure

Enums§

BatchOperation
Individual batch operation to execute
ConfigProfile
Profile selector for pre-configured deployments
Error
The core error type for all Obsidian operations.
LinkType
Type of link in Obsidian content
OutputFormat
Output format preference for HTTP/WebSocket/TCP transports
Severity
Severity level for validation issues
TemplateFieldType
Field types for template parameters

Traits§

Validator
Trait for content validators

Type Aliases§

Result
Convenient Result type alias