Memory MCP Triple System
使用说明
-
项目简介 Memory MCP Triple System 是一个完整的 MCP 服务器实现,核心职责是以标准化方式向 LLM 客户端提供上下文信息和功能。它托管和管理资源(MemoryChunks、文档、记忆片段等),注册并执行 Tools,定义并渲染 Prompt 模板,并通过 MCP 标准的 JSON-RPC 协议与客户端进行通信,支持会话管理与能力声明。系统实现了三层内存架构、模式感知上下文自适应、以及基于 ChromaDB 的语义检索等核心能力,并具备 Obsidian Vault 集成、自我引用记忆、以及与 HippoRAG/Graph/Bayesian 等组件协同工作的能力。
-
主要功能点
- MCP 协议支持与 JSON-RPC 通信:通过 MCP stdio 服务端接收请求并返回规范的 JSON-RPC 响应,支持工具调用、资源访问、Prompts 获取等。
- 资源与内存管理:三层内存(短期/中期/长期)及 TTL 策略,包含自引用能力、元数据标签(WHO/WHEN/PROJECT/WHY)。
- 工具注册与执行:提供向量检索、内存存储、键值存取、图查询等工具,支持外部功能的注册和调用。
- Prompts 模板与渲染:支持可定制的 Prompt 模板渲染,适配执行、规划、头脑风暴等交互模式。
- 模式检测与上下文适配:基于规则/模式检测实现 Execution/Planning/Brainstorming 三种交互模式及对应的 token/结果配置。
- Vector 存储与语义检索:ChromaDB 为主的向量数据库,使用 384 维嵌入(all-MiniLM-L6-v2)。
- 与外部系统的集成:Obsidian Vault 集成、HippoRAG 等多组件协作、以及多种测试和生产场景的验证。
- 会话管理与追踪:会话创建、会话历史、事件日志、查询追踪等能力,便于审计与改进。
-
安装步骤
- 克隆仓库并进入项目目录。
- 安装开发依赖并安装本项目:pip install -e .
- 运行单元测试以验证安装(示例命令:pytest tests/unit/... -v)。
- 启动 MCP 服务器(Stdio 协议,标准入口为 stdio_server),命令通常为: python -m src.mcp.stdio_server
- 如需 Claude Desktop 等客户端集成,请参考下方服务器配置说明。
-
服务器配置(MCP 客户端使用的配置样式,示例为 JSON 结构) 说明:MCP 客户端仅需要知道服务器的启动命令及参数,以便通过 MCP 协议建立连接。以下示例信息仅供配置直观理解,实际使用时请替换为你本地的路径与环境。
{ "server_name": "memory", "command": "python", "args": ["-m", "src.mcp.stdio_server"], "cwd": "/path/to/memory-mcp-triple-system" // 服务器工作目录,确保能访问到代码与数据 }
说明:
- server_name:在客户端侧的服务器标识名(示例中为 memory,与 README 配置中的条目保持一致)。
- command 与 args:用于启动 MCP 服务器的命令及其参数。
- cwd:服务器运行时的工作目录,确保能够访问到项目根目录及相关数据。
-
基本使用方法
- 启动服务器:在项目根目录执行 python -m src.mcp.stdio_server,确保依赖已经安装。
- 客户端接入:通过 MCP 客户端(如 Claude Desktop、其他 MCP 客户端)配置对 memory 服务器的连接信息,使用 JSON-RPC 风格请求访问资源、调用工具、获取 Prompts 等。
- 运行与调试:可以先本地进行简单资源操作与工具调用的测试,确保请求格式与响应符合 MCP 标准,再逐步接入实际的 LLM 客户端。
-
备注
- 仓库中包含了完善的 MCP 实现与多组件集成(向量检索、图检索、Bayesian 推理、Prompts 等),并提供了多种集成示例与测试用例,具有较高的实现完整性与实用性。