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

服务器信息