文档语义搜索服务

一个基于向量数据库(Qdrant)的文档语义搜索和检索服务,支持从URL或本地文件添加文档,并通过自然语言查询进行搜索。

  • by qpd-v
  • JavaScript
  • 本地部署
  • 136 星标
  • 更新于
在 GitHub 查看 qpd-v/mcp-ragdocs

使用说明

MCP Ragdocs

一种模型上下文协议(MCP)服务器,能够使用向量数据库(Qdrant)对文档进行语义搜索和检索。此服务器允许您从URL或本地文件添加文档,然后使用自然语言查询进行搜索。

快速安装指南

  1. 全局安装软件包:

    npm install -g @qpd-v/mcp-server-ragdocs
    
  2. 启动Qdrant(使用Docker):

    docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
    
  3. 确保Ollama使用默认嵌入模型运行:

    ollama pull nomic-embed-text
    
  4. 添加到配置文件中:

    • 对于克莱恩: %AppData%\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • Roo代码: %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"
          }
        }
      }
    }
    
  5. 验证安装:

    # Check Qdrant is running
    curl http://localhost:6333/collections
    
    # Check Ollama has the model
    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

  1. 使用Docker(推荐):
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
  1. 或从以下网址下载 Qdrant的网站

选项2:Qdrant Cloud

  1. 在以下网址创建帐户 Qdrant云
  2. 创建新集群
  3. 从仪表板获取集群URL和API密钥
  4. 在您的配置中使用这些(请参阅下面的配置部分)

配置

该服务器可以与Cline/Roo和Claude Desktop一起使用。它们之间的配置略有不同:

临床配置

添加到您的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):

  1. 使用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"
      }
    }
  }
}
  1. 使用本地开发设置:
{
		"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 Desktop配置文件中:

  • 窗户: %AppData%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  1. 使用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"
						}
				}
		}
}
  1. 使用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 Cloud时,请修改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 cloud API密钥

嵌入配置

  • EMBEDDING_PROVIDER (可选):在“ollama”(默认)或“openai”之间进行选择
  • EMBEDDING_MODEL (可选):
    • 对于Ollama:默认为“nomic嵌入文本”
    • 对于OpenAI:默认为“text-embedding-3-small”
  • OLLAMA_URL (可选):Ollama实例的URL(默认为http://localhost:11434)
  • OPENAI_API_KEY (使用OpenAI时需要):您的OpenAI API密钥

可用工具

  1. add_documentation

    • 将文档从URL添加到RAG数据库
    • 参数:
      • url:要获取的文档的URL
  2. search_documentation

    • 搜索存储的文档
    • 参数:
      • query:搜索查询
      • limit (可选):返回的最大结果数(默认值:5)
  3. list_sources

    • 列出当前存储的所有文档源
    • 无需参数

示例用法

在Claude Desktop或任何其他MCP兼容客户端中:

  1. 添加文档:
Add this documentation: https://docs.example.com/api
  1. 搜索文档:
Search the documentation for information about authentication
  1. 列出来源:
What documentation sources are available?

发展

  1. 克隆存储库:
git clone https://github.com/qpd-v/mcp-server-ragdocs.git
cd mcp-server-ragdocs
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build
  1. 在本地运行:
npm start

许可证

麻省理工学院

故障排除

常见问题

  1. Qdrant连接错误

    Error: Failed to connect to Qdrant at http://localhost:6333
    
    • 检查Docker是否正在运行
    • 验证Qdrant容器是否正在运行: docker ps | grep qdrant
    • 尝试重新启动容器
  2. Ollama模型丢失

    Error: Model nomic-embed-text not found
    
    • 运行: ollama pull nomic-embed-text
    • 验证模型是否已安装: ollama list
  3. 配置路径问题

    • Windows:替换 YOUR_USERNAME 使用您的实际Windows用户名
    • 检查文件权限
    • 验证路径是否存在
  4. npm全局安装问题

    • 尝试使用管理员权限进行安装
    • 检查npm是否在PATH中: npm -v
    • 验证全局安装: npm list -g @qpd-v/mcp-server-ragdocs

其他问题请查看:

  • Docker日志: docker logs $(docker ps -q --filter ancestor=qdrant/qdrant)
  • 状态 : ollama list
  • Node.js版本: node -v (应为16或更高)

贡献

欢迎投稿!请随时提交拉取请求。