使用说明

项目简介

PostgreSQL Memory MCP Tools 是一个基于 PostgreSQL 和 pgvector 扩展的内存系统,为 AI 应用提供持久化、可向量搜索的记忆存储,并集成了 Model Context Protocol (MCP),特别为 Claude 设计。

主要功能点

  • 向量搜索:使用向量嵌入存储和搜索内容,实现高效的语义搜索,快速检索相关记忆。
  • 持久化存储:基于 PostgreSQL 数据库,确保记忆数据跨会话持久保存。
  • MCP 集成:遵循 Model Context Protocol 标准,可以无缝连接到 Claude 等 MCP 客户端,提供上下文服务。
  • 多模型支持:灵活支持 OpenAI、Anthropic 和 Mock 等多种嵌入模型,方便根据需求选择。
  • 易于部署:提供 Docker 支持,可以快速搭建和部署 PostgreSQL MCP 服务器。
  • REST API:除了 MCP 协议,还提供 HTTP REST API,方便程序化访问和管理记忆数据。
  • 鲁棒传输:采用稳定的 HTTP 传输层,能有效处理非 JSON 消息和错误,保障服务稳定运行。

安装步骤

  1. 环境准备

    • 确保已安装 Node.js 和 npm (Node.js 包管理器)。
    • 建议安装 Docker 和 Docker Compose,以便快速部署 PostgreSQL 和 MCP 服务器。
  2. 安装 PostgreSQL MCP Tools

    • 全局安装 (推荐):打开终端,运行命令 'npm install -g postgres-mcp-tools' 进行全局安装。
    • 从 GitHub 仓库安装:如果全局安装遇到问题,可以克隆 GitHub 仓库到本地:
      git clone https://github.com/ssmanji89/postgres-mcp-tools.git
      cd postgres-mcp-tools
      npm install
      npm run setup-mcp-sdk
      npm link
  3. 启动 PostgreSQL 数据库

    • 使用 Docker Compose 启动 PostgreSQL 容器:
      docker-compose up -d postgres
      (首次启动会自动初始化数据库)
  4. 启动 MCP 服务器

    • 使用 Docker Compose 启动 MCP 服务器:
      docker-compose up -d mcp-server
    • 或者,在项目根目录下,使用 npm 命令启动 MCP 服务器:
      npm run start-server

服务器配置

MCP 服务器主要通过环境变量或命令行参数进行配置,以下是 Claude 桌面客户端连接 MCP 服务器所需的配置信息('claude_desktop_config.json' 文件配置示例):

{
  "mcpServers": {
    "postgres_memory": {
      "serverName": "postgres_memory",
      "command": "postgres-memory-mcp",
      "args": [
        "--config",
        "{\"pgHost\":\"localhost\",\"pgPort\":5432,\"pgUser\":\"memory_user\",\"pgPassword\":\"your_postgres_password\",\"pgDatabase\":\"memory_db\",\"embeddingModel\":\"mock\"}"
      ]
    }
  }
}

配置参数说明

  • 'serverName': 在 Claude 桌面应用中显示的服务器名称,可以自定义。
  • 'command': 启动 MCP 服务器的可执行命令。如果全局安装,可以使用 'postgres-memory-mcp'。
  • 'args': 传递给 MCP 服务器的命令行参数,用于配置服务器连接数据库和选择嵌入模型等。这里使用了 '--config' 参数,以 JSON 字符串形式传递配置信息。
    • 'pgHost': PostgreSQL 主机地址,默认为 'localhost'。
    • 'pgPort': PostgreSQL 端口号,默认为 '5432'。
    • 'pgUser': PostgreSQL 用户名,默认为 'memory_user'。
    • 'pgPassword': PostgreSQL 密码,请务必替换为您的实际 PostgreSQL 数据库密码
    • 'pgDatabase': PostgreSQL 数据库名,默认为 'memory_db'。
    • 'embeddingModel': 嵌入模型选择,默认为 'mock' (模拟模型,用于测试),可选 'openai' (OpenAI 模型) 或 'anthropic' (Anthropic 模型)。如需使用 OpenAI 或 Anthropic 模型,请确保已配置相应的 API 密钥环境变量 ('OPENAI_API_KEY' 或 'ANTHROPIC_API_KEY')。

注意

  • 上述 'args' 中的 JSON 字符串配置是内联在 'claude_desktop_config.json' 中的示例。实际使用时,请根据您的 PostgreSQL 数据库配置和所需的嵌入模型进行修改。
  • 'your_postgres_password' 占位符需要替换为您 PostgreSQL 数据库的实际密码。
  • 如果需要修改更多服务器配置(例如 HTTP 端口、日志级别等),可以通过环境变量或直接修改 'docker-compose.yml' 文件中的环境变量部分。

基本使用方法

  1. 配置 Claude 桌面应用

    • 根据上述 “服务器配置” 部分的说明,编辑 Claude 桌面应用的配置文件 'claude_desktop_config.json',添加或修改 MCP 服务器配置。
    • 确保配置中的 'command' 和 'args' 参数正确指向已启动的 PostgreSQL Memory MCP Tools 服务器。
  2. 连接 Claude 与 MCP 服务器

    • 启动 Claude 桌面应用。
    • 在 Claude 桌面应用中,选择配置的 MCP 服务器 ('postgres_memory' 或您自定义的 'serverName') 进行连接。
  3. 开始对话

    • 连接成功后,即可在 Claude 桌面应用中与 AI 进行对话。
    • 您的对话记忆将自动通过 MCP 协议存储到 PostgreSQL 数据库中,实现持久化和上下文记忆功能。
  4. 管理记忆 (可选)

    • PostgreSQL Memory MCP Tools 提供了 'memory_management' 工具,可以通过 MCP 协议调用,执行记忆管理操作,例如:
      • 归档旧记忆 ('archive')
      • 优化向量索引 ('optimize')
      • 列出指定会话的记忆 ('list')
      • 删除指定 ID 的记忆 ('delete')
    • 具体工具调用方法请参考项目文档或 MCP 客户端 (如 Claude 桌面应用) 的工具调用方式。

通过以上步骤,您就可以搭建并使用 PostgreSQL Memory MCP Tools 作为 Claude 等 MCP 客户端的后端记忆服务,实现 AI 应用的持久化上下文记忆功能。

信息

分类

数据库与文件