Overview
句読点コードやコーデックなどの任意の MCP(モデル コンテキスト プロトコル)クライアント は、 Agentic プラットフォーム メモリ SDK を使用せずにメモリに直接接続できます。この MCP 接続を使用して、SDK に対してPythonコードを自分で記述する代わりに、そのクライアントにメモリを付与します。このガイドでは、MCPクライアントをメモリに接続し、交流回数をレコードて呼び出す方法を学習できます。
MCPサーバーは3 つのツールを公開します。
record_turn: 1 つの短時間の交信のタームを記録します。これは、3 つのツールのうち唯一の書込み操作です。build_context: クエリに関連するメモリを検索し、それをコンテキストとしてフォーマットします。search_memories: 長期メモリを型で検索します。
バックグラウンド プロセスは、記録されたタームから長期メモリを非同期に抽出します。抽出を待つ代わりに、長期メモリを直接作成するには、「 スタンドアロン メモリ サービスの使用 」で説明されている SDKagentic-platform-memory を使用します。
前提条件
開始する前に、次の前提条件があることを確認してください。
Atlas Agent Engine 上のプロジェクト。プロジェクトIDを見つけるには、「 プロジェクトを表示 」を参照してください。
そのプロジェクトで有効になっているメモリ。これには次のコンポーネントが必要です。
プロジェクトシークレットとしてアップロードされた
MONGODB_URI、VOYAGE_API_KEYと LM APIキー(ANTHROPIC_API_KEYなど)。実行中のメモリ ランタイム。ランタイムがない場合は、
agentengine memory apply --waitコマンドを実行してランタイムをプロビジョニングします。ランタイムが準備完了と報告するまで待ってから続行します。
これらの前提条件を構成する方法については、「 メモリの構成 」を参照してください。
PROJECT_OWNERロールを持つプロジェクトサービス アカウント。次のコマンドを実行して 1 を作成し、<name>をサービス アカウントの名前に置き換えます。agentengine service-account create <name> --role PROJECT_OWNER 重要
コマンドによって返されたクライアントIDとクライアントシークレットを保存します。 Atlas Agent Engine はクライアントシークレットを 1 回だけ表示します。
アクセス トークンを取得する
アクセス トークンを取得するには、次のコマンドを実行して、<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 フィールドの値をコピーします。
重要
アクセス トークンは 1 時間後に期限切れになります。 MCPクライアント構成でトークンをハードコードすると、有効期限が切れると接続が機能しなくなります。接続を復元するには、前述のコマンドを再実行して新しいトークンを取得し、構成を更新します。
MCP クライアントの接続
ストリーム可能な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>"
または、Clude Code CLI と Clade Code VS Code拡張機能が共有する次の構成を ~/.claude.json に追加します。
{ "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クライアントを再起動し、3 つのメモリ ツールがリストされ、記録された参照が検索可能になることを確認します。
やり取りのタームを記録します。
それぞれの特権を持ち、user_id、session_id を指定して record_turn を 2 回呼び出します。 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.")