语义搜索服务器

Obsidian RAG MCP Server是一个为Obsidian知识库提供语义搜索功能的服务器,允许AI模型通过自然语言搜索和检索个人知识库内容。

  • by barcia
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 barcia/obsidian-rag

使用说明

黑曜石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。

先决条件

设置

  1. 克隆仓库: (建议用于macOS/Linux: ~/.local/opt)

    mkdir -p ~/.local/opt && cd ~/.local/opt
    git clone https://github.com/yourusername/obsidian-rag.git
    cd obsidian-rag
    
  2. 安装依赖项:

    pnpm install
    
  3. 构建项目:

    pnpm run build
    
  4. 设置环境变量: 服务器需要两个环境变量:

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

光标

  1. 首选 设置>光标设置>MCP.
  2. 点击 +添加新的MCP服务器.
  3. 姓名: obsidian-rag
  4. 类型: command
  5. 命令: node /absolute/path/to/obsidian-rag/dist/server-mcp.js
  6. 添加环境变量: OPENROUTER_API_KEY 和 OBSIDIAN_VAULT_PATH.

🕒 自动索引(macOS)

您可以使用提供的自动更新索引 plist 模板。

  1. 将模板复制到您的LaunchAgents文件夹:
    cp templates/local.obsidian-rag.index.plist.example ~/Library/LaunchAgents/local.obsidian-rag.index.plist
    
  2. 编辑文件:
    • 替换 {HOME} 使用您的主目录路径(例如。, /Users/yourname).
    • 替换 {OBSIDIAN_VAULT_PATH} 用你的跳马路径。
    • 替换 {YOUR_API_KEY} 使用您的OpenRouter API密钥。
  3. 加载代理:
    launchctl load ~/Library/LaunchAgents/local.obsidian-rag.index.plist
    

🧪 发展

  • pnpm run build:编译TypeScript代码。
  • pnpm run typecheck:运行类型检查。
  • pnpm run reindex:删除数据库并从头开始重新索引vault。
  • pnpm test:使用Vitest运行测试。

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。