Qdrant MCP Server for RAG
用于 RAG 的 Model Context Protocol (MCP) 服务器实现。
概述
这是一个基于 Qdrant 向量数据库的模型上下文协议(MCP)服务器,专为检索增强生成(RAG)设计。它提供向量搜索功能,可与支持 MCP 的 LLM(如 Claude Desktop)集成。
前提条件
- Node.js v16+
- Qdrant 实例(本地或云端)
- 可选:OpenAI API 密钥(用于生产环境)
基本设置
-
克隆并安装:
git clone [仓库URL] cd [仓库目录] npm install
-
配置环境变量 (
.env
文件):QDRANT_URL=http://localhost:6333 QDRANT_COLLECTION=documents QDRANT_API_KEY=your_api_key_if_needed PORT=3000
-
构建并启动:
npm run build npm start
Docker 部署
# 构建镜像
docker build -t mcp/qdrant-server .
# 运行容器
docker run -p 3000:3000 \
-e QDRANT_URL=http://your-qdrant-instance:6333 \
-e QDRANT_COLLECTION=documents \
-e QDRANT_API_KEY=your_api_key_if_needed \
mcp/qdrant-server
与 Claude Desktop 集成
添加到 claude_desktop_config.json
:
{
"mcpServers": {
"qdrant-retrieval": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "QDRANT_URL",
"-e", "QDRANT_COLLECTION",
"-e", "QDRANT_API_KEY",
"mcp/qdrant-server"
],
"env": {
"QDRANT_URL": "http://your-qdrant-instance:6333",
"QDRANT_COLLECTION": "documents",
"QDRANT_API_KEY": "your_api_key_if_needed"
}
}
}
}
或NPM方式:
{
"mcpServers": {
"qdrant-retrieval": {
"command": "npx",
"args": ["-y", "qdrant-mcp-server"],
"env": {
"QDRANT_URL": "http://your-qdrant-instance:6333",
"QDRANT_COLLECTION": "documents",
"QDRANT_API_KEY": "your_api_key_if_needed"
}
}
}
}
可用工具
- retrieve_from_qdrant
- 功能:执行向量相似性搜索
- 参数:
query
: 检索查询(字符串)limit
: 结果数量(可选,默认3)scoreThreshold
: 最小相似度分数(可选,默认0.7)
向量数据库选择
支持两种向量数据库,通过 DATABASE_TYPE
环境变量选择:
Qdrant (默认)
DATABASE_TYPE=qdrant QDRANT_URL=http://localhost:6333 QDRANT_API_KEY=your_api_key_if_needed COLLECTION_NAME=your_collection_name
Chroma
DATABASE_TYPE=chroma CHROMA_URL=http://localhost:8000 COLLECTION_NAME=your_collection_name
启动Chroma服务器:
docker run -p 8000:8000 chromadb/chroma
自定义
- 修改嵌入模型:更新
embedding-utils.ts
中的generateEmbedding
函数 - 调整搜索响应:修改
qdrant-types.ts
和retrieveFromQdrant
工具
基于 MIT 许可证发布。