使用说明

项目简介

RAG Documentation MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于为大型语言模型 (LLM) 提供文档检索和上下文增强功能。它通过向量搜索技术,让 LLM 能够访问和利用外部文档知识库,从而提升回答的准确性和相关性。

主要功能点

  • 向量化文档搜索与检索:利用向量数据库(Qdrant)存储和检索文档,实现高效的语义搜索。
  • 支持多文档源:可以索引和搜索来自多个来源的文档。
  • 语义搜索能力:通过自然语言查询进行文档搜索,返回相关性排序的结果。
  • 自动化文档处理:支持自动化的文档抓取、处理和索引流程。
  • 实时上下文增强:为 LLM 提供实时的文档上下文,增强其知识和推理能力。
  • 文档管理工具:提供添加、删除、列出文档源,以及管理文档处理队列等工具。

安装步骤

  1. 安装 Node.js 和 npm:确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
  2. 安装 MCP 服务器:由于仓库中没有明确的安装步骤,根据 'README.md' 中的配置信息,推测该项目可能通过 npm 包 '@hannesrudolph/mcp-ragdocs' 发布。你可以尝试使用以下命令安装(如果已发布):
    npm install -g @hannesrudolph/mcp-ragdocs
    或者,如果需要从源码构建,你需要先克隆仓库到本地,然后在项目根目录下运行 'npm install' 安装依赖。

服务器配置

为了让 MCP 客户端(例如 Claude Desktop)连接到 RAG Documentation MCP Server,你需要配置客户端的 'mcpServers' 设置。以下是一个示例配置,你需要根据你的实际环境进行调整:

{
  "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密钥>"
      }
    }
  }
}

配置参数说明 (无需修改,提供给MCP客户端配置人员参考):

  • '"rag-docs"': 服务器名称,客户端用此名称引用该服务器。
  • '"command": "npx"': 启动服务器的命令,这里使用 'npx' 来运行 npm 包。
  • '"args": ["-y", "@hannesrudolph/mcp-ragdocs"]': 'npx' 命令的参数,'-y' 表示自动确认安装包,'@hannesrudolph/mcp-ragdocs' 是要运行的 npm 包名称。
  • '"env"': 环境变量配置,服务器运行时需要以下环境变量:
    • '"OPENAI_API_KEY"': 必需。用于生成文档向量嵌入的 OpenAI API 密钥。你需要拥有 OpenAI 账户并获取 API 密钥。
    • '"QDRANT_URL"': 必需。Qdrant 向量数据库的 URL 地址。你需要部署 Qdrant 数据库实例并提供其访问地址。
    • '"QDRANT_API_KEY"': 必需。Qdrant 数据库的 API 密钥,用于身份验证。如果你的 Qdrant 实例需要 API 密钥,则需要配置此项。

重要提示:你需要替换 '<你的OpenAI API密钥>'、'<你的Qdrant数据库URL>' 和 '<你的Qdrant数据库API密钥>' 为你自己的实际值。请确保这些密钥的安全,并妥善保管。

基本使用方法

  1. 启动 MCP 服务器:配置完成后,当 MCP 客户端尝试连接名为 "rag-docs" 的服务器时,客户端会根据配置启动 RAG Documentation MCP Server。

  2. 使用工具:RAG Documentation MCP Server 提供了一系列工具,可以通过 MCP 协议从客户端调用。主要工具包括:

    • 'search_documentation': 根据自然语言查询搜索文档,获取相关文档片段。
    • 'list_sources': 列出当前系统中已索引的文档来源。
    • 'extract_urls': 从指定网页提取链接,并可选择添加到文档处理队列。
    • 'remove_documentation': 从系统中移除指定 URL 的文档源。
    • 'list_queue': 列出文档处理队列中的 URL。
    • 'run_queue': 处理文档处理队列中的 URL,进行文档抓取和索引。
    • 'clear_queue': 清空文档处理队列。

    LLM 应用可以通过调用这些工具,实现文档检索、知识库管理等功能,从而增强 LLM 的上下文理解和生成能力。

信息

分类

AI与计算