RAG Docs MCP 服务器使用说明
项目简介
RAG Docs 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为 LLM 客户端提供文档检索能力。它通过集成 Qdrant 向量数据库和 Ollama (或 OpenAI) 嵌入模型,实现了对文档的语义搜索。您可以向服务器添加文档来源(URL或本地文件),然后通过自然语言查询在这些文档中进行搜索。
主要功能点
- 文档添加: 支持从 URL 添加在线文档,服务器会自动抓取和处理网页内容。
- 语义搜索: 使用自然语言查询在已添加的文档中进行语义搜索,返回相关性高的结果。
- 文档来源列表: 可以列出当前服务器中已添加的所有文档来源。
安装步骤
- 安装 Node.js: 确保您的系统已安装 Node.js (版本 16 或更高)。
- 安装 RAG Docs 服务器: 打开终端或命令提示符,运行以下命令全局安装 RAG Docs 服务器:
npm install -g @qpd-v/mcp-server-ragdocs - 启动 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 密钥。
- Docker 部署 (推荐): 如果您已安装 Docker,运行以下命令启动本地 Qdrant 实例:
- 启动 Ollama (如果使用): 如果您选择使用免费的 Ollama 嵌入模型(默认),请确保已安装并运行 Ollama,并拉取 'nomic-embed-text' 模型:
Ollama 默认运行在 'http://localhost:11434'。ollama pull nomic-embed-text
服务器配置
要将 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 服务器的功能。
示例指令:
-
添加文档: 告诉客户端添加一个文档来源,例如:
添加这个文档: https://example.com/document客户端会将指令转发给 RAG Docs 服务器,服务器会自动抓取并索引该 URL 的文档。
-
搜索文档: 向客户端提出搜索请求,例如:
在文档中搜索关于身份验证的信息客户端会将搜索查询发送给 RAG Docs 服务器,服务器会在已添加的文档中进行语义搜索,并将结果返回给客户端。
-
列出文档来源: 查询当前已添加的文档来源列表:
有哪些文档来源可用?服务器会将已添加的文档来源列表返回给客户端。
请注意,具体的指令格式可能取决于您使用的 MCP 客户端的实现。请参考您使用的 MCP 客户端的文档,了解如何与 MCP 服务器进行交互。
信息
分类
AI与计算