Overview
任何模型上下文协议 (MCP)客户端(例如 Claude Code 或 Codex)都可以直接连接到内存,而无需使用agentic-platform-memory SDK。使用此 MCP 连接为客户端提供内存,而无需自己针对 SDK 编写Python代码。在本指南中,您可以学习;了解如何将 MCP客户端连接到内存以及如何记录和调出对话轮次。
MCP服务器提供三种工具:
record_turn:记录一个短期对话轮次。这是三个工具中唯一的写入操作。build_context:查询相关的内存并将其格式化为上下文。search_memories:按类型搜索长期记忆。
背景进程会从记录的回合中异步提取长期记忆。要直接创建长期内存而不是等待提取,请使用使用独立内存服务中描述的 agentic-platform-memory SDK。
先决条件
开始之前,请确保您具备以下先决条件:
Atlas Agent Engine 上的项目。要查找您的项目ID,请参阅 查看项目。
已在该项目上启用内存,这需要以下组件:
作为项目密钥上传的
MONGODB_URI、VOYAGE_API_KEY和 LLM API密钥(例如ANTHROPIC_API_KEY)。运行时内存。如果您没有运行时,运行
agentengine memory apply --wait命令以预配运行时。等待运行时报告准备就绪,然后再继续。
具有
PROJECT_OWNER角色的项目服务帐户。运行以下命令创建一个帐户,并将<name>替换为服务帐户的名称:agentengine service-account create <name> --role PROJECT_OWNER 重要
保存命令返回的客户端ID和客户端密钥。 Atlas Agent Engine 仅显示客户端密钥一次。
获取访问令牌
要获取访问权限令牌,运行以下命令,并将 <client-id> 替换为您的服务帐户的客户端ID:
read -r -p "Client ID: " CLIENT_ID curl --fail-with-body --silent --show-error --user "$CLIENT_ID" \ --data grant_type=client_credentials \ https://agentengine.mongodb.com/api/v1/oauth/token
curl 提示输入客户端密钥,而不将其回显到终端。从返回的JSON对象中复制 access_token 字段的值,以便在下一部分中使用。
重要
访问权限令牌会在一小时后过期。如果您在 MCP客户端配置中对令牌进行硬编码,则连接将在过期后停止工作。要恢复连接,请重新运行前面的命令以获取新令牌,然后更新配置。
连接您的 MCP 客户端
任何支持 Streamable HTTP传输的 MCP客户端都可以使用以下URL连接到内存。将 <project_id> 替换为您的项目ID。
https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp
将上一节中的访问权限令牌作为 Authorization: Bearer <access-token> 标头发送。
选择与 MCP客户端对应的标签页,查看添加服务器时发送访问权限令牌的示例:
运行以下命令,将内存添加为 MCP服务器,并将 <project_id> 和 <access-token> 替换为您的项目ID和访问权限令牌。 --scope user 标志使服务器在每个项目中都可用。
claude mcp add --scope user --transport http project-memory \ https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp \ --header "Authorization: Bearer <access-token>"
或者,将以下配置添加到 ~/.claude.json,Claude Code CLI和 Claude Code VS Code扩展股票该配置:
{ "mcpServers": { "project-memory": { "type": "http", "url": "https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp", "headers": { "Authorization": "Bearer <access-token>" } } } }
Codex 从环境变量而不是 add 命令上的标头发送持有者令牌。导出启动 Codex 的环境中的访问权限令牌,然后运行以下命令以添加内存作为 MCP服务器。将 <project_id> 替换为您的项目ID。
export AGENTIC_MEMORY_TOKEN=<access-token> codex mcp add project-memory \ --url https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp \ --bearer-token-env-var AGENTIC_MEMORY_TOKEN
或者,将下表添加到 ~/.codex/config.toml 中,并将 <project_id> 替换为您的项目ID:
[mcp_servers.project-memory] url = "https://agentengine.mongodb.com/api/v1/projects/<project_id>/mcp" bearer_token_env_var = "AGENTIC_MEMORY_TOKEN"
验证连接
添加 MCP服务器后,重新启动 MCP客户端并确认它列出了三个内存工具并且记录的回合变为可搜索。
记录一次对话。
使用特殊事实调用 record_turn 两次、一次 user_id 和一次 session_id。记录 user角色轮次,然后记录 assistant角色轮次。以下示例记录了有关归属机场的事实:
record_turn(user_id="user_1", session_id="session_1", role="user", content="I always fly out of Boston.") record_turn(user_id="user_1", session_id="session_1", role="assistant", content="Got it, Boston is saved as your home airport.")