RAG Docs MCP 服务器使用说明

项目简介

RAG Docs 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 客户端提供文档检索能力。它通过集成 Qdrant 向量数据库和 Ollama (或 OpenAI) 嵌入模型,实现了对文档的语义搜索。您可以向服务器添加文档来源(URL或本地文件),然后通过自然语言查询在这些文档中进行搜索。

主要功能点

  • 文档添加: 支持从 URL 添加在线文档,服务器会自动抓取和处理网页内容。
  • 语义搜索: 使用自然语言查询在已添加的文档中进行语义搜索,返回相关性高的结果。
  • 文档来源列表: 可以列出当前服务器中已添加的所有文档来源。

安装步骤

  1. 安装 Node.js: 确保您的系统已安装 Node.js (版本 16 或更高)。
  2. 安装 RAG Docs 服务器: 打开终端或命令提示符,运行以下命令全局安装 RAG Docs 服务器:
    npm install -g @qpd-v/mcp-server-ragdocs
  3. 启动 Qdrant 向量数据库: RAG Docs 依赖 Qdrant 数据库存储文档向量。您可以选择本地 Docker 部署或使用 Qdrant Cloud 服务。
    • Docker 部署 (推荐): 如果您已安装 Docker,运行以下命令启动本地 Qdrant 实例:
      docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
    • Qdrant Cloud: 您也可以注册 Qdrant Cloud 账号并创建集群,获取集群 URL 和 API 密钥。
  4. 启动 Ollama (如果使用): 如果您选择使用免费的 Ollama 嵌入模型(默认),请确保已安装并运行 Ollama,并拉取 'nomic-embed-text' 模型:
    ollama pull nomic-embed-text
    Ollama 默认运行在 'http://localhost:11434'。

服务器配置

要将 RAG Docs 服务器与 MCP 客户端(如 Cline, Roo-Code, Claude Desktop)连接,您需要在 MCP 客户端的配置文件中添加服务器配置信息。以下是配置示例,您需要根据您的实际情况进行调整。

配置文件位置示例:

  • Cline/Roo-Code: '%AppData%\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json' 或 '%AppData%\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json'
  • Claude Desktop: '%AppData%\Claude\claude_desktop_config.json'

配置信息 (JSON 格式):

以下配置示例使用 Ollama 作为嵌入模型,Qdrant 运行在本地 Docker。请将以下 JSON 代码添加到您的 MCP 客户端配置文件中的 'mcpServers' 字段下。

{
  "ragdocs": {
    "command": "node",
    "args": [
      "C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/@qpd-v/mcp-server-ragdocs/build/index.js"
    ],
    "env": {
      "QDRANT_URL": "http://127.0.0.1:6333",
      "EMBEDDING_PROVIDER": "ollama",
      "OLLAMA_URL": "http://localhost:11434"
    }
  }
}

配置参数说明:

  • '"ragdocs"': 服务器名称,您可以自定义。
  • '"command": "node"': 启动服务器的命令,这里使用 Node.js 解释器。
  • '"args"': 启动参数数组,指向 RAG Docs 服务器的入口文件 'index.js'。 请务必将 '"C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/@qpd-v/mcp-server-ragdocs/build/index.js"' 替换为您实际的 'index.js' 文件路径。 通常全局安装后,该路径如示例所示。
  • '"env"': 环境变量配置,用于配置 RAG Docs 服务器的行为:
    • '"QDRANT_URL": "http://127.0.0.1:6333"': Qdrant 数据库的 URL。 如果您使用 Qdrant Cloud,请替换为您的集群 URL。
    • '"EMBEDDING_PROVIDER": "ollama"': 指定嵌入模型提供商为 Ollama。 可以设置为 '"openai"' 使用 OpenAI 的模型,但需要配置 'OPENAI_API_KEY'。
    • '"OLLAMA_URL": "http://localhost:11434"': Ollama 服务器的 URL。 默认值即可,除非您修改了 Ollama 的默认端口。

如果您使用 OpenAI 嵌入模型,配置示例:

{
  "ragdocs": {
    "command": "node",
    "args": [
      "C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/@qpd-v/mcp-server-ragdocs/build/index.js"
    ],
    "env": {
      "QDRANT_URL": "http://127.0.0.1:6333",
      "EMBEDDING_PROVIDER": "openai",
      "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"  // 请替换为您的 OpenAI API 密钥
    }
  }
}

Qdrant Cloud 配置示例:

如果您使用 Qdrant Cloud,请配置 'QDRANT_URL' 和 'QDRANT_API_KEY' 环境变量:

{
  "ragdocs": {
    "command": "node",
    "args": [
      "C:/Users/YOUR_USERNAME/AppData/Roaming/npm/node_modules/@qpd-v/mcp-server-ragdocs/build/index.js"
    ],
    "env": {
      "QDRANT_URL": "https://your-cluster-url.qdrant.tech", // 替换为您的 Qdrant Cloud 集群 URL
      "QDRANT_API_KEY": "your-qdrant-api-key",         // 替换为您的 Qdrant Cloud API 密钥
      "EMBEDDING_PROVIDER": "ollama",
      "OLLAMA_URL": "http://localhost:11434"
    }
  }
}

基本使用方法

配置完成后,在 MCP 客户端中,您可以使用自然语言指令调用 RAG Docs 服务器的功能。

示例指令:

  1. 添加文档: 告诉客户端添加一个文档来源,例如:

    添加这个文档: https://example.com/document

    客户端会将指令转发给 RAG Docs 服务器,服务器会自动抓取并索引该 URL 的文档。

  2. 搜索文档: 向客户端提出搜索请求,例如:

    在文档中搜索关于身份验证的信息

    客户端会将搜索查询发送给 RAG Docs 服务器,服务器会在已添加的文档中进行语义搜索,并将结果返回给客户端。

  3. 列出文档来源: 查询当前已添加的文档来源列表:

    有哪些文档来源可用?

    服务器会将已添加的文档来源列表返回给客户端。

请注意,具体的指令格式可能取决于您使用的 MCP 客户端的实现。请参考您使用的 MCP 客户端的文档,了解如何与 MCP 服务器进行交互。

信息

分类

AI与计算