此MCP服务器提供了一个由Qdrant向量数据库驱动的知识图谱实现,具有语义搜索功能。
需要以下环境变量:
# 用于生成嵌入的OpenAI API密钥
OPENAI_API_KEY=your-openai-api-key
# Qdrant服务器URL(支持HTTP和HTTPS)
QDRANT_URL=https://your-qdrant-server
# Qdrant API密钥(如果启用了身份验证)
QDRANT_API_KEY=your-qdrant-api-key
# 要使用的Qdrant集合名称
QDRANT_COLLECTION_NAME=your-collection-name
npm install
npm run build
docker build -t mcp-qdrant-memory .
docker run -d \
-e OPENAI_API_KEY=your-openai-api-key \
-e QDRANT_URL=http://your-qdrant-server:6333 \
-e QDRANT_COLLECTION_NAME=your-collection-name \
-e QDRANT_API_KEY=your-qdrant-api-key \
--name m
{
"mcpServers": {
"memory": {
"command": "/bin/zsh",
"args": ["-c", "cd /path/to/server && node dist/index.js"],
"env": {
"OPENAI_API_KEY": "your-openai-api-key",
"QDRANT_API_KEY": "your-qdrant-api-key",
"QDRANT_URL": "http://your-qdrant-server:6333",
"QDRANT_COLLECTION_NAME": "your-collection-name"
},
"alwaysAllow": [
"create_entities",
"create_relations",
"add_observations",
"delete_entities",
"delete_observations",
"delete_relations",
"read_graph",
"search_similar"
]
}
}
}
create_entities:创建多个新实体create_relations:在实体之间创建关系add_observations:向实体添加观察delete_entities:删除实体及其关系delete_observations:删除特定观察delete_relations:删除特定关系read_graph:获取完整的知识图谱search_similar:搜索语义上相似的实体和关系
interface SearchParams {
query: string; // 搜索查询文本
limit?: number; // 最大结果数(默认:10)
}
服务器维护两种形式的持久性:
文件持久性(memory.json):
Qdrant向量数据库:
当实体或关系被修改时:
当搜索时:
// 创建实体
await client.callTool("create_entities", {
entities: [{
name: "项目",
entityType: "任务",
observations: ["一个新的开发项目"]
}]
});
// 搜索相似概念
const results = await client.callTool("search_similar", {
query: "开发任务",
limit: 5
});
服务器支持通过HTTPS和反向代理连接到Qdrant。这在以下情况下特别有用:
server {
listen 443 ssl;
server_name qdrant.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:6333;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
QDRANT_URL=https://qdrant.yourdomain.com
服务器实现了强大的HTTPS处理,包括:
如果您遇到连接问题:
openssl s_client -connect qdrant.yourdomain.com:443
curl -v https://qdrant.yourdomain.com/collections
env | grep -i proxy
MIT