ADK-RustにおけるModel Context Protocol
Model Context Protocol (MCP) は、AIアプリケーションと個別に所有される機能との間の境界です。MCPサーバーは、ツール、読み取り可能なリソース、プロンプトテンプレート、および引数補完を公開できます。クライアントはそのカタログを発見し、プライベートな統合ではなく、交渉されたプロトコルメソッドを通じて通信します。
ADK-Rust 2 は、公式の rmcp 2.2 SDK および MCP 2025-11-25 型を使用します。
ADK-Rustが適合する場所
Rendering architecture…
McpToolset は、初期化された MCP クライアント接続を ADK-Rust に適応させます。McpServerManager は、ローカルのstdio子プロセスの変化するレジストリを所有し、それらのツールを集約します。機能を公開するアプリケーションは、フレームワークで使用される正確な SDK バージョンである adk_tool::mcp::rmcp を使用して MCP サーバーを構築できます。
適切なサーフェスを選択する
| 必要なこと | 使用 | 所有権 |
|---|---|---|
| 既知のローカルサーバーに接続する | McpToolset + TokioChildProcess | アプリケーションが子プロセスを開始する |
| リモートの 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 | 交渉されたTool呼び出しタスクの作成、ポーリング、結果、およびキャンセル |
| ストリーミング可能なHTTP | McpHttpClientBuilder | タイムアウト、ヘッダー、認証インジェクション、期限切れのSessionの回復 |
| 動的ローカルレジストリ | McpServerManager | 追加、更新、有効化、無効化、削除、保存、監視、および再起動 |
| 高度なSDK作業 | adk_tool::mcp::rmcp | サーバーハンドラー、トランスポート、通知、および拡張タイプ |
ドキュメントパス
重要な境界
- 動的な管理は現在、ローカルの stdio 子プロセスを対象としています。
- マネージャーのヘルス監視は、閉じた MCP 接続を検出します。これは、サーバーのデータベースまたは外部 API が正常であることを証明するものではありません。
autoApproveは互換性のある構成のために保持されます。ADK-Rust はこれを authorization と解釈しません。OAuth2Configは固定の client-credentials token request を実行します。これは、完全な MCP authorization discovery および browser-authorization flow ではありません。- サンプリング、ルート、およびロギングは、SEP-2577 を通じてアップストリームで非推奨になりました。
これらの境界は公開契約の一部であり、デプロイメント設計に反映されるべきです。