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 缓存的可用性和容错策略。

服务器信息