项目简介
TurboVault是一个基于Model Context Protocol (MCP) 构建的生产级服务器,旨在将Obsidian笔记库转换为一个由AI驱动的智能知识管理系统。它通过提供丰富的功能工具,赋能LLM客户端(如Claude)对您的笔记进行深度交互,实现如阅读、写入、搜索、分析、管理等操作,并且性能卓越。
主要功能点
- 笔记管理与操作: 提供读取、写入、编辑、删除、移动笔记等基本文件操作,并支持原子性批处理操作,确保数据一致性。
- 知识图谱分析: 能够分析笔记间的链接关系,发现反向链接、前向链接、相关笔记、中心节点笔记、孤立节点和循环引用,帮助用户理解知识结构和健康状况。
- 智能搜索与推荐: 实现基于BM25排名的全文搜索和高级搜索,并提供AI驱动的内容相似度推荐,帮助用户快速发现和关联信息。
- Prompt模板与内容生成: 支持定义和使用Prompt模板,允许LLM根据预定义结构生成新笔记,确保内容一致性。
- 多库管理: 支持同时管理多个Obsidian笔记库,并能动态切换上下文。
- 健康状态诊断与导出: 提供笔记库的快速健康检查和全面健康分析报告,并支持JSON/CSV格式导出,以便进行外部分析和存档。
- Obsidian Flavored Markdown (OFM) 支持: 完全理解Obsidian特有的Markdown语法,包括Wikilinks、嵌入、标签、任务、Callouts、Frontmatter等。
安装步骤
- 确保您的系统已安装 Rust 1.90.0 或更高版本。
- 通过Cargo命令行工具安装TurboVault:
- 标准安装 (仅支持STDIO传输,适合Claude桌面版):
cargo install turbovault - 带HTTP服务器支持的安装:
cargo install turbovault --features http - 包含所有传输协议(HTTP, WebSocket, TCP, Unix sockets)的完整安装:
cargo install turbovault --features full
- 标准安装 (仅支持STDIO传输,适合Claude桌面版):
- 安装成功后,二进制文件通常位于 '~/.cargo/bin/turbovault'。
服务器配置(MCP客户端使用)
MCP客户端(例如Claude Desktop)需要配置TurboVault服务器的启动命令和参数才能建立连接。请根据您的需求选择以下配置方式:
方案一:静态配置单个笔记库 (推荐用于单个笔记库)
这种方式在服务器启动时即指定要管理的笔记库路径。 您需要在MCP客户端(例如Claude Desktop)的配置文件 '~/.config/claude/claude_desktop_config.json' 中添加如下 'mcpServers' 配置。请将 '/path/to/turbovault' 替换为实际的TurboVault可执行文件路径,将 '/path/to/your/vault' 替换为您的Obsidian笔记库路径。
{ "mcpServers": { "turbovault": { "command": "/path/to/turbovault", "args": ["--vault", "/path/to/your/vault", "--profile", "production"] } } }
- 'mcpServers': 这是客户端配置MCP服务器的根对象。
- 'turbovault': 这是您为TurboVault服务器定义的名称,客户端将用此名称引用它。
- 'command': 指定TurboVault服务器可执行文件的完整路径。
- 'args': 指定启动服务器时要传递的命令行参数。
- '--vault /path/to/your/vault': 用于指定Obsidian笔记库的绝对路径。
- '--profile production': 指定服务器以生产模式运行,优化性能和日志记录。
方案二:运行时动态添加多个笔记库 (推荐用于多个笔记库)
这种方式服务器启动时不需要指定笔记库,后续通过MCP客户端调用工具动态添加。 您需要在MCP客户端(例如Claude Desktop)的配置文件 '~/.config/claude/claude_desktop_config.json' 中添加如下 'mcpServers' 配置。请将 '/path/to/turbovault' 替换为实际的TurboVault可执行文件路径。
{ "mcpServers": { "turbovault": { "command": "/path/to/turbovault", "args": ["--profile", "production"] } } }
- 'mcpServers': 这是客户端配置MCP服务器的根对象。
- 'turbovault': 这是您为TurboVault服务器定义的名称,客户端将用此名称引用它。
- 'command': 指定TurboVault服务器可执行文件的完整路径。
- 'args': 指定启动服务器时要传递的命令行参数。
- '--profile production': 指定服务器以生产模式运行,优化性能和日志记录。
启动客户端后,您可以通过自然语言(或直接调用 'add_vault' 工具)让LLM添加笔记库,例如:
您: "请添加我的笔记库,名称为 '个人笔记',路径在 ~/Documents/Obsidian。" Claude: [调用 add_vault("个人笔记", "~/Documents/Obsidian")]
基本使用方法
MCP客户端连接成功后,LLM即可通过调用TurboVault提供的工具与您的笔记库进行交互。
例如:
- 搜索笔记:
您: "请查找关于异步Rust的所有笔记,并展示它们之间的关联。" Claude: [调用 search("async Rust")] -> [调用 recommend_related()] -> [调用 get_related_notes()] - 获取笔记库健康状况:
您: "我的笔记库健康状况如何?有什么需要修复的问题吗?" Claude: [调用 quick_health_check()] -> [调用 full_health_analysis()] -> [调用 get_broken_links()] - 创建结构化笔记:
您: "请为TurboVault的发布创建一个项目笔记,并包含状态跟踪。" Claude: [调用 list_templates()] -> [调用 create_from_template("project", "/path/to/new_project_note.md", {"title": "TurboVault发布", "status": "进行中"})]
这些操作将通过JSON-RPC协议在MCP客户端和TurboVault服务器之间进行通信。
信息
分类
生产力应用