MCP文档检索服务器
一种模型上下文协议(MCP)服务器,它使用向量数据库(Qdrant)启用文档的语义搜索和检索。该服务器允许你从URL或本地文件中添加文档,然后使用自然语言查询进行搜索。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"ragdocs": {
"args": [
"/usr/local/lib/node_modules/@qpd-v/mcp-server-ragdocs/build/index.js"
],
"command": "/usr/local/bin/node",
"env": {
"EMBEDDING_PROVIDER": "ollama",
"OLLAMA_URL": "http://localhost:11434",
"QDRANT_URL": "http://127.0.0.1:6333"
}
}
}
}
服务介绍
MCP-Ragdocs
一个模型上下文协议(MCP)服务器,它使用向量数据库(Qdrant)实现文档的语义搜索和检索。该服务器允许您从URL或本地文件添加文档,然后使用自然语言查询进行搜索。
快速安装指南
-
全局安装包:
npm install -g @qpd-v/mcp-server-ragdocs -
启动 Qdrant(使用 Docker):
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant -
确保 Ollama 正在运行并带有默认嵌入模型:
ollama pull nomic-embed-text -
在配置文件中添加:
- 对于 Cline:
%AppData%\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json - 对于 Roo-Code:
%AppData%\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json - 对于 Claude Desktop:
%AppData%\Claude\claude_desktop_config.json
{ "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" } } } } - 对于 Cline:
-
验证安装:
# 检查 Qdrant 是否正在运行 curl http://localhost:6333/collections # 检查 Ollama 是否有该模型 ollama list | grep nomic-embed-text
版本
当前版本:0.1.6
功能
- 从 URL 或本地文件添加文档
- 将文档存储在向量数据库中以进行语义搜索
- 使用自然语言搜索文档
- 列出所有文档来源
安装
使用 npm 全局安装:
npm install -g @qpd-v/mcp-server-ragdocs
这将把服务器安装到您的全局 npm 目录中,您需要按照以下配置步骤进行设置。
要求
- Node.js 16 或更高版本
- Qdrant(本地或云端)
- 以下之一用于嵌入:
- 本地运行的 Ollama(默认,免费)
- OpenAI API 密钥(可选,付费)
Qdrant 设置选项
选项 1:本地 Qdrant
- 使用 Docker(推荐):
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
- 或者从 Qdrant 的网站 下载
选项 2:Qdrant 云
- 在 Qdrant 云 创建账户
- 创建一个新的集群
- 从仪表板获取集群 URL 和 API 密钥
- 在配置中使用这些信息(参见下面的配置部分)
配置
该服务器可以与 Cline/Roo 和 Claude Desktop 一起使用。它们之间的配置略有不同:
Cline 配置
将下面的内容添加到你的 Cline 设置文件 (%AppData%\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json)
和/或
将下面的内容添加到你的 Roo-Code 设置文件 (%AppData%\Roaming\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\cline_mcp_settings.json):
- 使用 npm 全局安装(推荐):
{
"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"
}
}
}
}
对于使用 OpenAI 而不是 Ollama 的情况:
{
"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": "openai",
"OPENAI_API_KEY": "your-openai-api-key"
}
}
}
}
- 使用本地开发环境设置:
{
"mcpServers": {
"ragdocs": {
"command": "node",
"args": ["PATH_TO_PROJECT/mcp-ragdocs/build/index.js"],
"env": {
"QDRANT_URL": "http://127.0.0.1:6333",
"EMBEDDING_PROVIDER": "ollama",
"OLLAMA_URL": "http://localhost:11434"
}
}
}
}
Claude 桌面配置
将以下内容添加到你的 Claude 桌面配置文件中:
- Windows:
%AppData%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- 使用 Ollama 的 Windows 设置(使用完整路径):
{
"mcpServers": {
"ragdocs": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"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"
}
}
}
}
使用 OpenAI 的 Windows 设置:
{
"mcpServers": {
"ragdocs": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"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"
}
}
}
}
- 使用 Ollama 的 macOS 设置:
{
"mcpServers": {
"ragdocs": {
"command": "/usr/local/bin/node",
"args": [
"/usr/local/lib/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"
}
}
}
}
Qdrant 云配置
对于 Cline 或 Claude Desktop,当使用 Qdrant 云时,请修改 env 部分:
使用 Ollama:
{
"env": {
"QDRANT_URL": "https://your-cluster-url.qdrant.tech",
"QDRANT_API_KEY": "your-qdrant-api-key",
"EMBEDDING_PROVIDER": "ollama",
"OLLAMA_URL": "http://localhost:11434"
}
}
使用 OpenAI:
{
"env": {
"QDRANT_URL": "https://your-cluster-url.qdrant.tech",
"QDRANT_API_KEY": "your-qdrant-api-key",
"EMBEDDING_PROVIDER": "openai",
"OPENAI_API_KEY": "your-openai-api-key"
}
}
环境变量
Qdrant 配置
QDRANT_URL(必需):你的 Qdrant 实例的 URL- 对于本地:http://localhost:6333
- 对于云:https://your-cluster-url.qdrant.tech
QDRANT_API_KEY(对于云是必需的):你的 Qdrant 云 API 密钥
嵌入配置
EMBEDDING_PROVIDER(可选):选择 'ollama'(默认)或 'openai'EMBEDDING_MODEL(可选):- 对于 Ollama:默认为 'nomic-embed-text'
- 对于 OpenAI:默认为 'text-embedding-3-small'
OLLAMA_URL(可选):你的 Ollama 实例的 URL(默认为 http://localhost:11434)OPENAI_API_KEY(如果使用 OpenAI 则必需):你的 OpenAI API 密钥
可用工具
-
add_documentation- 从 URL 添加文档到 RAG 数据库
- 参数:
url: 要获取的文档的 URL
-
search_documentation- 搜索存储的文档
- 参数:
query: 搜索查询limit(可选): 返回的最大结果数量(默认:5)
-
list_sources- 列出当前存储的所有文档来源
- 不需要参数
示例用法
在 Claude Desktop 或任何其他 MCP 兼容客户端中:
- 添加文档:
Add this documentation: https://docs.example.com/api
- 搜索文档:
Search the documentation for information about authentication
- 列出来源:
What documentation sources are available?
开发
- 克隆仓库:
git clone https://github.com/qpd-v/mcp-server-ragdocs.git
cd mcp-server-ragdocs
- 安装依赖项:
npm install
- 构建项目:
npm run build
- 本地运行:
npm start
许可证
MIT
故障排除
常见问题
请根据您的具体情况替换代码块中的 #X 标记部分。如果您遇到具体问题或需要进一步的帮助,请参考相关文档或联系支持团队。
-
Qdrant 连接错误
Error: Failed to connect to Qdrant at http://localhost:6333- 检查 Docker 是否正在运行
- 验证 Qdrant 容器是否正在运行:
docker ps | grep qdrant - 尝试重启容器
-
Ollama 模型缺失
Error: Model nomic-embed-text not found- 运行:
ollama pull nomic-embed-text - 验证模型是否已安装:
ollama list
- 运行:
-
配置路径问题
- Windows:将
YOUR_USERNAME替换为您的实际 Windows 用户名 - 检查文件权限
- 验证路径是否存在
- Windows:将
-
npm 全局安装问题
- 尝试以管理员权限安装
- 检查 npm 是否在 PATH 中:
npm -v - 验证全局安装:
npm list -g @qpd-v/mcp-server-ragdocs
对于其他问题,请检查:
- Docker 日志:
docker logs $(docker ps -q --filter ancestor=qdrant/qdrant) - Ollama 状态:
ollama list - Node.js 版本:
node -v(应为 16 或更高版本)
贡献
欢迎贡献!请随时提交 Pull Request。