Claude LTM MCP 服务器
使用说明(Markdown 格式)
项目简介
- Claude LTM MCP 服务器是一个独立的后端服务,按照 MCP(Model Context Protocol)规范,为 Claude Code 等环境提供长期记忆、工具执行和上下文提示的后端支持。服务器通过 JSON-RPC 进行请求/响应通信,支持多种传输方式和会话管理。
主要功能点
- 资源管理(Resources/Memory)
- 提供对记忆条目( memories)的创建、读取、更新、删除、查询与列举功能。
- 记忆以 Markdown 文件 + YAML frontmatter 的形式存储,索引信息放在 index.json,明细内容存档在 memories/ 目录,历史归档在 archives/。
- 支持基于 phase(0-3)、标签、关键字等过滤与排序,优先级(priority)用于排序和 eviction 计算。
- 工具注册与执行(Tools)
- MCP 工具集合涵盖 store_memory、recall、list_memories、get_memory、forget、ltm_status、ltm_check、ltm_fix、reset_tokens 等,支持直接在 MCP 客户端通过调用实现记忆管理、查询与状态检查等功能。
- 工具输入输出通过 JSON 结构化,输出以文本形式返回给客户端。
- Prompt/上下文渲染
- 将记忆内容与元数据整合到上下文中,按照当前会话状态(包括令牌计数、工具调用结果、消解策略)形成可供 LLM 使用的上下文片段。
- JSON-RPC 通信与会话管理
- MCP 服务器通过 JSON-RPC 接收请求并返回响应,内置会话计数、难度/优先级等度量。
- 传输协议与部署模式
- stdio 模式:在 Claude Code 会话中注入上下文并通过标准输入输出进行通信(默认)。
- server 模式(TCP + HTTP Hooks):通过 TCP 端口提供 MCP JSON-RPC 服务,通过 HTTP 钩子暴露加载上下文、跟踪难度等功能,便于外部系统或代理接入。
- 容器化部署:代码中包含 Dockerfile/脚本示例,支持 Podman/Docker 的容器化运行。
安装与运行
- 本地直接运行(stdio 模式):
- python3 mcp_server.py
- 服务化运行(server 模式,带 TCP MCP 与 HTTP Hooks):
- python3 mcp_server.py --server
- 容器化部署(参考)
- 使用仓库提供的 Dockerfile 构建容器镜像,按需设置数据卷与端口映射,然后以容器方式运行。
服务器配置(MCP 客户端配置示例)
- 服务器名称(server_name): ltm
- 命令(command): python3
- 参数(args):
- --server
- --mcp-port 8765
- --hooks-port 9999 JSON 配置示例(客户端不需要代码,仅用于描述连接信息) { "server_name": "ltm", "command": "python3", "args": [ "mcp_server.py", "--server", "--mcp-port", "8765", "--hooks-port", "9999" ] } 注释说明:
- server_name 指定 MCP 服务器的唯一标识,仓库实现中使用 "ltm" 作为服务器实例名。
- command/args 指定在客户端侧如何启动服务器进程(此处为服务器端执行命令,客户端仅需知道启动参数即可建立连接)。
- 客户端连接后即可通过 MCP 的工具调用接口进行记忆管理、查询与状态获取。
基本使用方法
- 连接与交互
- 以 stdio 方式连接时,Claude Code 将通过标准输入输出与 MCP 服务器进行 JSON-RPC 请求/响应。
- 以 server 模式运行时,客户端可通过 TCP 端口 8765(示例)与服务器建立 JSON-RPC 会话,HTTP Hooks 端口(示例)用于加载上下文与跟踪难度等钩子。
- 常用操作
- 存储记忆(store_memory):添加记忆条目,内容可包含问题描述、解决方案和关键学习点;可传入 topic、content、tags、difficulty 等字段,支持自动标签提取。
- 检索记忆(recall):通过 query 指定关键词,返回匹配度较高的记忆摘要与元数据。
- 列出记忆(list_memories):按 phase、tag、keyword 过滤,支持分页与排序(按优先级排序)。
- 获取记忆(get_memory):按 memory_id 获取完整内容。
- 删除记忆(forget):将记忆归档后从活动存储中移除。
- 系统状态与健康检查(ltm_status、ltm_check、ltm_fix):查看、检测并修复存储与索引的一致性问题。
- 重置令牌/工具计数(reset_tokens):用于在新主题开始时重置会话的 token 与工具调用统计。
注意事项
- MCP 服务器通过本地数据目录(默认 .claude/ltm)进行持久化存储,包含 memories、index.json、stats.json、state.json、archives 等结构。
- 记忆及元数据的版本化设计遵循 GitOps 友好原则,支持跨分支合并、冲突解决。
- 服务器内部实现包含对优先级、 eviction、归档、历史存档等机制的完整逻辑,便于长期记忆的管理与调度。
运行与集成要点
- 使用 MCP 客户端在 Claude Code 中注册服务器时,需指向上述启动命令与端口配置,确保客户端能够通过 MCP JSON-RPC 与服务器交互。
- 本仓库提供了全面的单元测试与集成测试,覆盖 Memory 存储、优先级计算、 eviction、服务器端工具路由等关键环节,帮助确保实现的稳定性与正确性。
关键词 长期记忆, 资源管理, 工具执行, 上下文渲染, JSON-RPC
分类ID 6