attention-matters MCP 服务器实现
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了一个以“几何记忆引擎”为核心的 MCP 服务器端,支持资源管理、工具调用、提示渲染等功能,通过 JSON-RPC 与客户端通信,能够持续地向 LLM 客户端提供上下文信息与外部能力。
- 服务器核心与客户端工具分离,服务端提供 am_query、am_ingest、am_buffer、am_stats、am_export、am_import、am_salient、am_feedback、am_batch_query、am_retrieve 等多种 MCP 接口,便于 LLM 调用外部功能与查询上下文。
-
主要功能点
- MCP 核心能力
- 资源与记忆管理:管理潜在记忆( episodes/ neighborhoods / occurrences )以及意识记忆(conscious episode)。
- 工具注册与执行:提供 am_query、am_ingest、am_buffer、am_salient、am_feedback、am_retrieve 等工具,以及两阶段检索等能力。
- Prompt/上下文渲染:对检索结果进行打包,渲染成可供 LLM 使用的上下文片段(Conscious、Subconscious、Novel 等类别)。
- 服务器实现要点
- 通过 am-cli/server.rs 与 rmcp 框架实现 MCP 服务端逻辑,提供多条 MCP 接口的实现与路由。
- 会话管理与记忆能力声明:维护 session_recalled、记忆的活性与演化( drift、interference、kuramoto 耦合 等机制)。
- 支持多种传输协议(如 stdio),以及通过客户端配置实现的扩展传输。
- 运行与调试
- 服务器以 MCP 端点形式提供,客户端可通过 JSON-RPC 调用各类端点,进行记忆检索、记忆增强、记忆标注等操作。
- MCP 核心能力
-
安装步骤
- 安装依赖与工具链:需要 Rust 环境与 cargo。
- 构建与安装服务器客户端工具
- 使用 Rust 工具链构建 am-cli(提供服务器入口和 MCP 服务功能)。
- 典型命令为:cargo install --path crates/am-cli
- 启动 MCP 服务器
- 直接在项目根目录执行服务入口(通过 am serve 启动,使用 stdio 传输)。
- 服务器启动后将通过 MCP 与客户端进行 JSON-RPC 交互,提供上述多种接口。
-
服务器配置(MCP 客户端必需的启动信息,JSON 格式) 注:MCP 客户端需要配置服务器启动命令与参数,用于建立与 MCP 服务器的连接。以下为示例结构描述,实际值请按客户端配置要求填入。 { "server_name": "attention-matters", "command": "am", "args": ["serve"], "transport": "stdio", "notes": "使用 am serve 通过 stdio 传输与 MCP 客户端通信;如需通过 WebSocket/ SSE,请相应调整 transport 与底层实现。" }
-
基本使用方法
- 启动与对接
- 先在客户端环境确保可以通过 MCP 客户端配置连接到服务器(如上配置示例所示)。
- 使用 am serve 启动服务器,并确保客户端能够通过指定传输方式与服务器进行 JSON-RPC 通信。
- 调用与流水线
- 使用 MCP 客户端通过 JSON-RPC 调用 am_query(记忆检索)、am_ingest(文档导入)、am_buffer(缓冲对话后形成记忆)、am_salient(标注为 conscious)、am_feedback(记忆反馈)等接口,获得结构化的上下文与结果。
- 服务端返回的上下文可直接嵌入到 LLM 的回答中,或用于后续的推理与决策过程。
- 运行与调试要点
- 互动过程中请关注服务器输出日志与返回的 JSON 结果结构,确保字段包括 context、metrics、recalled_ids、token_estimate、stats 等以便下游组件正确解析。
- 如遇到连接问题,检查配置的 transport、端口(若扩展到 Socket/WebSocket),以及服务器是否已正确启动并监听。
- 启动与对接
-
额外说明
- 该实现包含丰富的单元测试和集成测试,覆盖查询、索引、两阶段检索、 sev 行为、序列化/反序列化、GC 等功能点,确保 MCP 服务端的稳定性与可扩展性。