黑曜石RAG MCP服务器🗄️🧠
一个模型上下文协议(MCP)服务器,为您的黑曜石保险库提供语义搜索功能。它允许AI模型(如Claude或Cursor)使用自然语言从您的个人知识库中搜索和检索内容。
特性
- 语义向量搜索:使用OpenAI嵌入和LanceDB,按含义而不仅仅是关键字查找注释。
- 本地知识库:使用高性能本地矢量存储 LanceDB.
- 增量索引:智能索引,仅使用基于哈希的跟踪处理新的或修改的文件。
- 隐私第一:您的数据保留在本地;只有文本片段被发送到嵌入提供者。
🛠 提供的工具
MCP客户端可以使用以下工具:
obsidian_search:在整个vault中执行语义搜索。基于自然语言查询返回相关文档块。obsidian_list_files:列出所有索引文件,并可选择模式过滤。obsidian_get_file:检索特定注释的完整标记内容。
🚀 安装
备注:这些说明适用于macOS和Linux。Windows用户可能需要使用WSL或Git Bash。
先决条件
- (v24或更高)
- 黑曜石拱顶。
- 与OpenAI兼容的API密钥(默认为 开放路由).
设置
- 克隆仓库:
(建议用于macOS/Linux: ~/.local/opt)
mkdir -p ~/.local/opt && cd ~/.local/opt
git clone https://github.com/yourusername/obsidian-rag.git
cd obsidian-rag- 安装依赖项:
pnpm install- 构建项目:
pnpm run build- 设置环境变量:
服务器需要两个环境变量:
- OPENROUTER_API_KEY:您的API密钥来自 开放路由. - OBSIDIAN_VAULT_PATH:通往黑曜石金库的绝对路径(例如。, /Users/you/Documents/Obsidian).
🔍 初始索引
运行索引器一次以创建初始向量数据库:
pnpm run index要强制完全重新索引(从头开始删除现有数据库和索引):
pnpm run reindex🔌 整合
克劳德桌面版
将以下内容添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"obsidian-rag": {
"command": "node",
"args": ["/absolute/path/to/obsidian-rag/dist/server-mcp.js"],
"env": {
"OPENROUTER_API_KEY": "sk-or-your-api-key",
"OBSIDIAN_VAULT_PATH": "/absolute/path/to/vault"
}
}
}
}光标
- 首选 设置>光标设置>MCP.
- 点击 +添加新的MCP服务器.
- 姓名:
obsidian-rag - 类型:
command - 命令:
node /absolute/path/to/obsidian-rag/dist/server-mcp.js - 添加环境变量:
OPENROUTER_API_KEY和OBSIDIAN_VAULT_PATH.
🕒 自动索引(macOS)
您可以使用提供的自动更新索引 plist 模板。
- 将模板复制到您的LaunchAgents文件夹:
cp templates/local.obsidian-rag.index.plist.example ~/Library/LaunchAgents/local.obsidian-rag.index.plist- 编辑文件:
- 替换 {HOME} 使用您的主目录路径(例如。, /Users/yourname). - 替换 {OBSIDIAN_VAULT_PATH} 用你的跳马路径。 - 替换 {YOUR_API_KEY} 使用您的OpenRouter API密钥。
- 加载代理:
launchctl load ~/Library/LaunchAgents/local.obsidian-rag.index.plist🧪 发展
pnpm run build:编译TypeScript代码。pnpm run typecheck:运行类型检查。pnpm run reindex:删除数据库并从头开始重新索引vault。pnpm test:使用Vitest运行测试。
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
