使用说明
项目简介
RAG Documentation MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于为大型语言模型 (LLM) 提供文档检索和上下文增强功能。它通过向量搜索技术,让 LLM 能够访问和利用外部文档知识库,从而提升回答的准确性和相关性。
主要功能点
- 向量化文档搜索与检索:利用向量数据库(Qdrant)存储和检索文档,实现高效的语义搜索。
- 支持多文档源:可以索引和搜索来自多个来源的文档。
- 语义搜索能力:通过自然语言查询进行文档搜索,返回相关性排序的结果。
- 自动化文档处理:支持自动化的文档抓取、处理和索引流程。
- 实时上下文增强:为 LLM 提供实时的文档上下文,增强其知识和推理能力。
- 文档管理工具:提供添加、删除、列出文档源,以及管理文档处理队列等工具。
安装步骤
- 安装 Node.js 和 npm:确保你的系统已安装 Node.js 和 npm (Node 包管理器)。
- 安装 MCP 服务器:由于仓库中没有明确的安装步骤,根据 'README.md' 中的配置信息,推测该项目可能通过 npm 包 '@hannesrudolph/mcp-ragdocs' 发布。你可以尝试使用以下命令安装(如果已发布):
或者,如果需要从源码构建,你需要先克隆仓库到本地,然后在项目根目录下运行 'npm install' 安装依赖。npm install -g @hannesrudolph/mcp-ragdocs
服务器配置
为了让 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密钥>' 为你自己的实际值。请确保这些密钥的安全,并妥善保管。
基本使用方法
-
启动 MCP 服务器:配置完成后,当 MCP 客户端尝试连接名为 "rag-docs" 的服务器时,客户端会根据配置启动 RAG Documentation MCP Server。
-
使用工具: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与计算