TAMS MCP Server
使用说明(简要、面向开发与集成):
-
项目简介
- TAMS MCP 服务器实现了一个基于 MCP 协议的后端服务,封装了对 Temporal Abstraction Memory System (TAMS) 的操作接口,包括获取上下文、存储对话、检索内存、搜索实体、触发 consolidation 等功能。通过 MCP 客户端可以以标准化的 JSON-RPC 方式与内存引擎交互,支持多传输协议(如 STDIO、HTTP 流式传输等)。
-
主要功能点
- tams_context:获取始终开启的内存上下文块(D0/D1 等分层摘要+最近对话)。
- tams_store:写入对话 Transcript,并在后台进行 7 层压缩(D6 到 D0)的 consolidation。
- tams_prompt_store:将用户原始提示存入短期提示缓存(STM)。
- tams_stm:读取 STM 缓存(对话摘要与原始提示)。
- tams_retrieve:基于时间范围和深度读取记忆,支持自动规划。
- tams_search:跨 D3 层的实体/主题搜索。
- tams_consolidate:触发时间维度的汇总 consolidation。
- tams_status:系统健康与统计信息。
- admin/Reconsolidate 等工具:辅助运维和重汇总。
-
安装步骤
- 准备依赖环境(Node.js/TypeScript 构建工具、数据库 PostgreSQL、Redis、OpenAI 兼容 LLM 提供商等)。
- 构建 MCP 服务器:
- 在 mcp 目录执行构建,产出 dist/server.js。
- 运行 Node 进程加载 MCP 服务器,例如 node dist/server.js(若使用源码包管理工具,请按项目的常规构建步骤执行)。
- 运行 MCP 客户端前,请确保 TAMS HTTP 服务已启动并可访问(默认 http://localhost:3100)。
- 参考仓库提供的桥接方案与说明,若要通过 MCP 客户端以 STDIO 传输连接,需要使用 MCP 客户端提供的 STDIO 通道。
-
服务器配置(MCP 客户端需要的配置信息示例,按实际使用时的需求填写;此处为描述性示例,不是代码)
- server name: tams-memory
- command: uv
- args: ["run", "tams-mcp"] // 通过 MCP 桥接工具启动 STDIO/MCP 服务
- 说明:在正式启动前,通常需要先执行一次 "uv sync"(同步命令定义和工具清单),随后再执行 "uv run tams-mcp" 启动具体的 MCP 服务进程。桥接环境会通过环境变量传递服务器地址与鉴权令牌(示例:TAMS_BASE_URL、TAMS_AUTH_TOKEN)给 MCP 客户端。
高级配置示例(环境变量要根据实际部署填写):
- TAMS_BASE_URL: http://localhost:3100
- TAMS_AUTH_TOKEN: tams_xxxxxxxxxxxxxxxx
- 说明:MCP 客户端在访问 TAMS HTTP 服务时会通过 Bearer Token 进行鉴权,具体 token 的获取请参考管理员端 token 生成功能。
-
基本使用方法
- 启动方式:通过 STDIO 传输或通过 HTTP 传输暴露 API,客户端按照 MCP 规范调用上述工具接口。
- 典型流程:
- 客户端启动并连接到 MCP 服务器(STDIO 或 HTTP)。
- 调用 tams_context 获取上下文,随后按需要调用 tams_store/_prompt_store 将对话与提示写入记忆。
- 调用 tams_retrieve/tams_search 按需获取记忆或进行查询。
- 调用 tams_consolidate 触发时间维度的汇总,后台将逐步更新 D0-D4 层以及后续层级。
- 监控与运维:通过 tams_status 获取系统状态,结合数据库/缓存的指标进行容量与性能调优。
-
运行与部署注意
- MCP 服务器需要对接 OpenAI 兼容的 LLM 提供商,确保 consolidation 流程具备可用的模型与接口。
- 数据库与缓存(PostgreSQL、Redis)应作为独立服务运行,MCP 服务器应具备相应的网络访问权限。
- 持续关注后台队列处理、并发调用、以及 STM 缓存的可用性和容错策略。