MCP Memory Server with Qdrant Persistence
利用 Qdrant 通过语义搜索促进知识图谱表示,支持 OpenAI 嵌入以实现语义相似性,并支持强大的 HTTPS 集成以及基于文件的图谱持久化。
README
基于 Qdrant 持久化的 MCP 内存服务器
此 MCP 服务器提供了一个知识图谱实现,该实现具有由 Qdrant 向量数据库驱动的语义搜索功能。
特性
- 基于图的知识表示,包含实体和关系
- 基于文件的持久化 (memory.json)
- 使用 Qdrant 向量数据库进行语义搜索
- 使用 OpenAI 嵌入进行语义相似度计算
- 支持 HTTPS,兼容反向代理
- 支持 Docker,易于部署
环境变量
以下环境变量是必需的:
# 用于生成嵌入的 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 设置
- 构建 Docker 镜像:
docker build -t mcp-qdrant-memory .
- 使用所需的环境变量运行 Docker 容器:
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 mcp-qdrant-memory \
mcp-qdrant-memory
添加到 MCP 设置:
{
"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 向量数据库:
- 实体和关系的语义嵌入
- 启用相似性搜索
- 自动与文件存储同步
同步
当实体或关系被修改时:
- 更改被写入 memory.json
- 使用 OpenAI 生成嵌入
- 向量存储在 Qdrant 中
- 两个存储系统保持一致
搜索过程
搜索时:
- 查询文本被转换为嵌入
- Qdrant 执行相似性搜索
- 结果包括实体和关系
- 结果按语义相似度排序
使用示例
// 创建实体
await client.callTool("create_entities", {
entities: [{
name: "Project",
entityType: "Task",
observations: ["A new development project"]
}]
});
// 搜索相似的概念
const results = await client.callTool("search_similar", {
query: "development tasks",
limit: 5
});
HTTPS 和反向代理配置
服务器支持通过 HTTPS 和反向代理连接到 Qdrant。 这在以下情况下特别有用:
- 在 Nginx 或 Apache 等反向代理后面运行 Qdrant
- 使用自签名证书
- 需要自定义 SSL/TLS 配置
使用反向代理进行设置
- 配置您的反向代理(使用 Nginx 的示例):
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 处理,具有:
- 自定义 SSL/TLS 配置
- 正确的证书验证选项
- 连接池和保持活动状态
- 自动重试和指数退避
- 可配置的超时
排除 HTTPS 连接故障
如果您遇到连接问题:
- 验证您的证书:
openssl s_client -connect qdrant.yourdomain.com:443
- 测试直接连接:
curl -v https://qdrant.yourdomain.com/collections
- 检查任何代理设置:
env | grep -i proxy
贡献
- Fork 仓库
- 创建一个功能分支
- 进行更改
- 提交 pull request
许可证
MIT
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
AIO-MCP Server
🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。
Knowledge Graph Memory Server
为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。
Hyperbrowser
欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:
https://github.com/Streen9/react-mcp
react-mcp 与 Claude Desktop 集成,能够根据用户提示创建和修改 React 应用程序。
MCP Atlassian
适用于 Atlassian Cloud 产品(Confluence 和 Jira)的 Model Context Protocol (MCP) 服务器。此集成专为 Atlassian Cloud 实例设计,不支持 Atlassian Server 或 Data Center 部署。

any-chat-completions-mcp
将 Claude 与任何 OpenAI SDK 兼容的聊天完成 API 集成 - OpenAI、Perplexity、Groq、xAI、PyroPrompts 等。