RAG文档 MCP 服务器使用说明

项目简介

RAG文档 MCP 服务器是一个基于 Model Context Protocol (MCP) 实现的后端服务,专注于为大型语言模型 (LLM) 应用提供文档检索和上下文增强能力。它通过集成向量数据库和网页抓取技术,实现了对文档资源的自动化处理和语义搜索,从而使 AI 助手能够基于最新的文档知识进行更准确、更相关的回复。

主要功能点

  • 文档检索 (search_documentation): 支持自然语言查询,在已存储的文档中进行语义搜索,返回相关文档片段,为 LLM 提供上下文信息。
  • 文档源管理 (list_sources, remove_documentation): 允许查看当前已索引的文档源列表,以及根据 URL 移除指定的文档源,方便用户管理知识库。
  • URL 提取与队列管理 (extract_urls, list_queue, run_queue, clear_queue): 能够从网页中自动提取链接,并加入文档处理队列。支持查看、运行和清空处理队列,实现文档的批量添加和处理。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的系统中已安装 Node.js 和 npm (Node 包管理器)。
  2. 全局安装 MCP 服务器: 打开终端,运行以下命令全局安装 RAG文档 MCP 服务器:
    npm install -g @hannesrudolph/mcp-ragdocs

服务器配置

MCP 客户端需要配置以下 JSON 信息以连接到 RAG文档 MCP 服务器。请注意,你需要根据你的实际环境配置以下环境变量,这些环境变量是服务器运行所必需的:

{
  "mcpServers": {
    "rag-docs": {
      "command": "npx",
      "args": [
        "-y",
        "@hannesrudolph/mcp-ragdocs"
      ],
      "env": {
        "OPENAI_API_KEY": "",  # 你的 OpenAI API 密钥,用于生成文档嵌入向量
        "QDRANT_URL": "",     # Qdrant 向量数据库的 URL 地址
        "QDRANT_API_KEY": ""  # Qdrant 向量数据库的 API 密钥
      }
    }
  }
}

配置参数说明:

  • '"rag-docs"': 服务器名称,可以自定义。
  • '"command": "npx"': 启动服务器的命令,这里使用 'npx' 来运行 npm 包。
  • '"args": ["-y", "@hannesrudolph/mcp-ragdocs"]': 传递给 'npx' 的参数,用于执行 '@hannesrudolph/mcp-ragdocs' 包。'-y' 参数用于跳过安装包时的确认提示。
  • '"env"': 环境变量配置,包含以下必需的键值对:
    • '"OPENAI_API_KEY"': 必需。用于访问 OpenAI API 的密钥,RAG文档 MCP 服务器使用 OpenAI 的 'text-embedding-ada-002' 模型生成文档内容的向量嵌入。
    • '"QDRANT_URL"': 必需。你的 Qdrant 向量数据库实例的 URL,用于存储和检索文档向量。
    • '"QDRANT_API_KEY"': 必需。访问 Qdrant 向量数据库的 API 密钥,用于服务器进行身份验证。

请务必替换 'OPENAI_API_KEY', 'QDRANT_URL', 和 'QDRANT_API_KEY' 为你实际的密钥和数据库地址。

基本使用方法

  1. 启动服务器: 在安装完成后,当 MCP 客户端(如 Claude Desktop)尝试连接配置的 "rag-docs" 服务器时,服务器会自动启动。
  2. 使用工具: 通过 MCP 客户端,你可以调用以下工具来操作文档:
    • 'search_documentation': 使用自然语言查询文档内容。
    • 'list_sources': 列出所有已添加的文档源。
    • 'extract_urls': 从指定网页提取所有链接,并可选择添加到处理队列。
    • 'remove_documentation': 根据 URL 移除指定的文档源。
    • 'list_queue': 查看当前文档处理队列中的 URL。
    • 'run_queue': 开始处理文档队列中的 URL,将网页内容添加到知识库。
    • 'clear_queue': 清空文档处理队列。

例如,在 Claude Desktop 中,你可以通过 @ 来触发工具调用,例如 '@rag-docs:search_documentation query="如何安装 Claude?"' 来搜索关于 Claude 安装的文档。

注意: 首次使用或添加新的文档源后,可能需要调用 'run_queue' 工具来处理队列中的 URL,确保文档被正确索引并可以被搜索到。

信息

分类

数据库与文件