Cuba-Memorys MCP 服务端实现

使用说明(Markdown 格式)

  • 项目简介

    • Cuba-Memorys 是一个 MCP 服务器实现,核心职责是向 LLM 客户端提供可持续的上下文与功能支持。它通过 PostgreSQL 作为持久化存储,管理知识图谱、观察/错误记忆、关系网络等,并提供一组用于操作这些数据的 MCP 工具(如 cuba_alma、cuba_cronica、cuba_puente 等)。同时集成了向量检索、GraphRAG、REM Sleep 自动化 consolidation、以及基于 Hebbian 学习的记忆调整能力,面向多种 LLM 交互场景。
  • 主要功能点

    • MCP 核心通信:实现 initialize、工具列表查询、工具调用等 MCP JSON-RPC 格式的请求与响应。
    • 工具集成(12 个工具):知识图谱 CRUD、观察与记忆挂载、关系管理、搜索与验证、错误记忆、会话与决策记录等,支持批量操作与图谱遍历。
    • 持久化存储:使用 PostgreSQL,自动创建并初始化 schema。
    • 图谱与检索:4 信号融合的 RRF 搜索、GraphRAG 上下文增强、嵌入向量检索(pgvector 可选)。
    • 自我学习与自我修正:Hebbian 学习、Oja 规则、冲突检测、反重复与反事实收敛。
    • REM Sleep 后台 consolidations:在长期闲置时自动执行内存衰减、裁剪、PageRank 重建等。
    • Embeddings 支持(可选):BGE 小型嵌入模型,ONNX 运行时实现,提供 384 维向量嵌入。
    • 兼容性与扩展性:通过 HNSW 向量索引、RRF 融合、数据版本控制与导出,易于集成到更大范围的 MCP 工作流中。
  • 安装步骤

    1. 确保环境
      • Python 3.11 及以上
      • Docker(用于 PostgreSQL 实例,或自行搭建 PostgreSQL)
    2. 获取代码并安装
      • 克隆仓库并进入项目目录
      • 执行依赖安装(推荐开启可选特性,例如 embeddings)
    3. 启动数据库
      • 使用 Docker Compose 启动 PostgreSQL 服务(README 指定的 5488 端口,18 版本镜像等信息可按需调整)
      • 初次运行时,服务器会自动创建 brain 数据库及相关表结构
    4. 启动 MCP 服务器
      • 通过环境变量 DATABASE_URL 指定数据库连接,例如: DATABASE_URL="postgresql://<user>:<password>@<host>:<port>/<database>" python -m cuba_memorys
      • 服务器将以 MCP 格式的 JSON-RPC 进行交互,启动后即可接入 MCP 客户端
    5. 选额外组件(可选)
      • 安装并启用 embeddings(BGE ONNX 模型)以获得向量检索能力
      • 根据需要配置图谱检索、HNSW、TS/TF-IDF 等信号融合的相关参数
  • 服务器配置(MCP 客户端所需信息,JSON 格式,包含 server name、command、args 等) 说明:以下是面向 MCP 客户端的配置要素说明,实际使用时请以客户端配置文件的格式呈现。服务器名称指向 Cuba-Memorys 实例,启动命令及参数需指向可执行入口。示例中仅给出参数字段及含义,实际参数请结合部署环境填写。 { "server_name": "cuba-memorys", "command": "python", "args": [ "-m", "cuba_memorys" ], "working_directory": null, "environment": { "DATABASE_URL": "postgresql://<username>:<password>@<host>:<port>/brain" }, "description": "MCP 服务器名称及启动参数,使用 Python 模块方式启动 Cuba-Memorys,并通过 DATABASE_URL 指定 PostgreSQL 数据库。" }

  • 基本使用方法

    • 连接与初始化
      • 客户端向服务器发送 initialize 请求,服务器返回协议版本、能力、服务器信息等。
    • 工具查询与执行
      • 客户端请求 tools/list 获取工具定义,随后通过 tools/call 调用具体工具并获取结果文本。
    • 数据与记忆管理
      • 使用 cuba_alma、cuba_cronica、cuba_puente 等工具对知识图谱、观察与关系进行创建、查询、更新、删除等操作。
    • 检索与 grounding
      • 通过 cuba_faro 进行多信号融合检索,并可在 verify 模式下返回 grounding 证据与信心水平。
    • 维护与扩展
      • REM Sleep 背景 consolidations 在长时间闲置后自动执行,提升记忆质量与检索效率。
    • 基本运维
      • 需要 PostgreSQL 数据库、适当的资源配额(内存/CPU),以及可选的嵌入模型(ONNX/ONNX Runtime)以提升向量检索能力。

服务器信息