README
🚀 MCP 内存服务器
MCP 内存服务器专为 AI 助手实现长期记忆功能而设计。它采用 mem0 原理,借助 PostgreSQL 和 pgvector 达成高效的向量相似度搜索,为 AI 助手的记忆管理提供了强大支持。
🚀 快速开始
此服务器为 AI 助手实现长期记忆功能,采用 mem0 原理,并使用 PostgreSQL 和 pgvector 进行高效的向量相似度搜索。
✨ 主要特性
- 使用 PostgreSQL 和 pgvector 进行向量相似度搜索
- 运用 BERT 自动生成嵌入(embedding)
- 提供 RESTful API 用于内存操作
- 具备语义搜索能力
- 支持多种类型的记忆(学习、经验等)
- 支持基于标签的记忆检索
- 可对记忆进行置信评分
- 使用 Server-Sent Events (SSE) 实现实时更新
- 兼容 Cursor MCP 协议
📦 安装指南
先决条件
- 安装 PostgreSQL 14+ 并启用 pgvector 扩展:
# 在你的 PostgreSQL 实例中:
CREATE EXTENSION vector;
- Node.js 16+
设置步骤
- 安装依赖项:
npm install
- 配置环境变量:
复制
.env.sample到.env并调整值:
cp .env.sample .env
示例 .env 配置:
# 使用用户名/密码
DATABASE_URL="postgresql://username:password@localhost:5432/mcp_memory"
PORT=3333
# 本地开发使用 peer 认证
DATABASE_URL="postgresql:///mcp_memory"
PORT=3333
- 初始化数据库:
npm run prisma:migrate
- 启动服务器:
npm start
对于带有自动重载的开发环境:
npm run dev
💻 使用示例
与 Cursor 使用
在 Cursor 中添加 MCP 服务器
要将记忆服务器添加到 Cursor,请修改位于 ~/.cursor/mcp.json 的 MCP 配置文件。在 mcpServers 对象中添加以下配置:
{
"mcpServers": {
"memory": {
"command": "node",
"args": [
"/path/to/your/memory/src/server.js"
]
}
}
}
将 /path/to/your/memory 替换为实际的记忆服务器安装路径。
例如,如果你从仓库克隆到 /Users/username/workspace/memory,你的配置将如下所示:
{
"mcpServers": {
"memory": {
"command": "node",
"args": [
"/Users/username/workspace/memory/src/server.js"
]
}
}
}
服务器将在 Cursor 启动时自动启动。你可以通过以下步骤验证其工作状态:
- 打开 Cursor
- 当 Cursor 启动时,记忆服务器将自动启动
- 检查服务器状态,请访问
http://localhost:3333/mcp/v1/health
可用的 MCP 终端
SSE 连接
- 终端:
GET /mcp/v1/sse - 查询参数:
subscribe:要订阅的事件列表(以逗号分隔,可选)
- 事件:
connected:初始连接时发送memory.created:当创建新记忆时发送memory.updated:当更新现有记忆时发送
记忆操作
- 基础用法
# 创建记忆
POST /mcp/v1/memory
Content-Type: application/json
{
"type": "learning",
"content": {
"topic": "Express.js",
"details": "Express.js 是 Node.js 的网络应用程序框架"
},
"source": "文档",
"tags": ["nodejs", "web-framework"],
"confidence": 0.95
}
- 高级用法
# 搜索记忆
GET /mcp/v1/memory/search?query=web+frameworks&type=learning&tags=nodejs
# 列出记忆
GET /mcp/v1/memory?type=学习&tags=nodejs,web-framework
健康检查
GET /mcp/v1/health
响应格式
所有 API 响应均遵循标准的 MCP 格式:
{
"status": "success",
"data": {
// 响应数据
}
}
或错误时:
{
"status": "error",
"error": "错误信息"
}
📚 详细文档
记忆架构
| 属性 | 详情 | |------|------| | id | 唯一标识符 | | type | 记忆类型(学习、经验等) | | content | 实际记忆内容(JSON 格式) | | source | 来源 | | tags | 标签列表 | | created_at | 创建时间 | | updated_at | 更新时间 |
Scan to contact