Engram MCP Server

使用说明(Markdown 格式)

  • 项目简介 Engram 的 MCP 服务器实现,使外部 LLM 客户端能够通过 MCP 调用内存相关资源、执行工具,以及获取和渲染 Prompts。服务器实现了工具注册、JSON-RPC 风格的请求/响应,并通过标准输出/输入等传输方式与客户端通信。

  • 主要功能点

    • 提供 MCP 工具集合:add_memory、search_memory、get_all_memories、get_memory、update_memory、delete_memory、get_memory_stats、apply_memory_decay、engram_context、remember 等,客户端可通过调用这些工具完成对 Engram 内存的管理与查询。
    • 资源与工具管理:通过内存系统对接 Memory 类,支持分类、图谱、回声编码等扩展能力,为 LLM 客户端提供结构化、可检索的上下文。
    • 多传输支持(MCP 侧实现核心通过 stdio 服务;API/REST 作为可选辅助接口),并提供初始化选项与会话管理能力。
    • 安全与集成:通过环境变量提供 API 键传递路径,支持与 Claude Code、Cursor、OpenAI Codex 等工具链的集成,便于本地/私有环境部署。
    • 启动方式:直接运行 MCP 服务器模块,可 via 命令 python -m engram.mcp_server 启动。
  • 安装与运行步骤

    1. 安装 Engram 及依赖

      • 使用开发模式安装 Engram:pip install -e ".[all]"
      • 或按照项目要求安装必要依赖。
    2. 启动 MCP 服务器

      • 直接运行 MCP 服务器: 启动命令(示例):python -m engram.mcp_server
      • 也可通过 Engram 的安装脚本将 MCP 服务器集成到你的工作环境中(如 Claude Code/Cursor/ Codex 配置)以便自动发现并启动 MCP 服务。
    3. 客户端配置(MCP 客户端一般不需要 Engram 提供的实现信息) MCP 客户端需要配置的核心信息仅用于连接服务器,它通常包含 server name、command、args 等,用于在客户端侧建立与 MCP 服务器的连接。示例配置(为 MCP 客户端提供的连接信息,非代码块,仅作为示意): { "server_name": "engram-memory", "command": "python", "args": ["-m", "engram.mcp_server"], "env": { "GEMINI_API_KEY": "your-key", "OPENAI_API_KEY": "your-key" } // client 端可能不需要额外信息,此处仅为示意 }

    4. 基本使用

      • 通过 MCP 客户端向 Engram MCP 服务器发起请求,调用内存相关工具完成存储、查询、更新等操作。
      • 服务器在接收到请求后,按 MCP 协议返回 JSON-RPC 风格的响应或通知,具体字段依据工具定义。
  • 运行与集成要点

    • MCP 服务端核心实现文件:engram/mcp_server.py
    • 支持的工具接口清单已在服务器内定义,包含对 Engram 内存模型的完整操作能力。
    • 与 Engram 的底层内存实现紧密耦合,使用 Memory、CategoryMem、EchoMem、KnowledgeGraph 等模块提供丰富的上下文能力。
    • 启动后即可被 MCP 客户端发现并调用,适用于本地/私有化部署的 LLM 应用场景。

服务器信息