Back to MCP directory
publicPublicdnsLocal runtime

Memory PostgreSQL

MCP记忆服务器为AI助手提供长期记忆功能,基于PostgreSQL和pgvector实现高效的向量相似性搜索。

article

README

🚀 MCP 内存服务器

MCP 内存服务器专为 AI 助手实现长期记忆功能而设计。它采用 mem0 原理,借助 PostgreSQL 和 pgvector 达成高效的向量相似度搜索,为 AI 助手的记忆管理提供了强大支持。

🚀 快速开始

此服务器为 AI 助手实现长期记忆功能,采用 mem0 原理,并使用 PostgreSQL 和 pgvector 进行高效的向量相似度搜索。

✨ 主要特性

  • 使用 PostgreSQL 和 pgvector 进行向量相似度搜索
  • 运用 BERT 自动生成嵌入(embedding)
  • 提供 RESTful API 用于内存操作
  • 具备语义搜索能力
  • 支持多种类型的记忆(学习、经验等)
  • 支持基于标签的记忆检索
  • 可对记忆进行置信评分
  • 使用 Server-Sent Events (SSE) 实现实时更新
  • 兼容 Cursor MCP 协议

📦 安装指南

先决条件

  1. 安装 PostgreSQL 14+ 并启用 pgvector 扩展:
# 在你的 PostgreSQL 实例中:
CREATE EXTENSION vector;
  1. Node.js 16+

设置步骤

  1. 安装依赖项:
npm install
  1. 配置环境变量: 复制 .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
  1. 初始化数据库:
npm run prisma:migrate
  1. 启动服务器:
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 启动时自动启动。你可以通过以下步骤验证其工作状态:

  1. 打开 Cursor
  2. 当 Cursor 启动时,记忆服务器将自动启动
  3. 检查服务器状态,请访问 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 | 更新时间 |

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client