ADK-Rustにおけるモデルコンテキストプロトコル

モデルコンテキストプロトコル(MCP)は、AIアプリケーションと、別個に所有される機能の境界です。MCPサーバーは、ツール、読み取り可能なリソース、プロンプトテンプレート、引数補完を公開できます。クライアントはそのカタログを検出し、非公開の統合ではなく、ネゴシエーションされたプロトコルメソッドを介して通信します。

ADK-Rust 2 は公式の rmcp 3.1 SDK を使用します。クライアントはデフォルトで MCP 2025-11-25 をネゴシエートし、従来のハンドシェイクを通じて 2026-07-28 サーバーに接続します。rmcp の互換性を参照してください。

ADK-Rustの位置付け

Rendering architecture…

McpToolsetは、初期化済みの1つのMCPクライアント接続をADK-Rustに適応させます。 McpServerManagerは、変化するローカルstdio子プロセスのレジストリを管理し、それらのツールを集約します。機能を公開するアプリケーションは、adk_tool::mcp::rmcpを使用してMCPサーバーを構築できます。これは、フレームワークが使用する正確なSDKバージョンです。

適切なインターフェースを選択する

必要なこと使用するもの所有権
既知のローカルサーバーに接続するMcpToolset + TokioChildProcessアプリケーションが子プロセスを起動する
1つのリモート MCP サービスに接続するMcpHttpClientBuilderリモートデプロイメントが可用性を管理する
実行時にローカルサーバー定義を変更するMcpServerManagerアプリケーションがローカルレジストリと子プロセスを所有する
MCP サーバーを公開するadk_tool::mcp::rmcpサービスがスキーマ、認可、ならびに副作用を所有する
非推奨のサンプリング統合を動作させ続けるmcp-sampling 機能SEP-2577 における互換性のみ

実装済み機能マップ

機能ADK-Rust API動作
ツールの検出と呼び出しMcpToolset, Toolset生のスキーマとマルチモーダルな結果が保持されます
ツールのフィルタリングwith_filter, with_toolsモデルには選択されたツールのみが表示されます
リソースとテンプレートlist_resources, list_resource_templates, read_resource安定した URIs を通じてコンテキストを読み取る
プロンプトlist_prompts, get_prompt再利用可能なサーバー所有メッセージを解決する
補完complete_prompt_argument, complete_resource_argument引数の候補をサーバーに問い合わせる
リソースサブスクリプションsubscribe_resource, unsubscribe_resourceカスタムハンドラーが更新通知を受け取る
エリシテーションElicitationHandlerフォームおよびURLモード
タスクMcpTaskConfigツール呼び出しタスクの作成、ポーリング、結果取得、およびキャンセル
ストリーミング可能なHTTPMcpHttpClientBuilderタイムアウト、ヘッダー、認証の注入、期限切れセッションからの復旧
動的ローカルレジストリMcpServerManager追加、更新、有効化、無効化、削除、保存、監視、および再起動
高度な SDK 作業adk_tool::mcp::rmcpサーバーハンドラー、トランスポート、通知、拡張機能の型

ドキュメントのパス

重要な境界

  • 動的管理の対象は、現在ローカルの stdio 子プロセスです。
  • マネージャーのヘルスモニタリングは、切断された MCP 接続を検出します。サーバーのデータベースや外部 API が正常であることを保証するものではありません。
  • autoApprove は互換性のある構成のために保持されます。ADK-Rust はこれを認可として解釈しません。
  • OAuth2Config は固定されたクライアント認証情報トークンリクエストを実行します。これは完全な MCP 認可のディスカバリおよびブラウザー認可フローではありません。
  • サンプリング、ルート、ロギングは SEP-2577 を通じて上流で非推奨となっています。

これらの境界は公開契約の一部であり、デプロイ設計に反映する必要があります。