MCP リリース候補版(Release Candidate)サバイバルガイド
MCPのリリース候補版は、プロトコル開始以来最大のアップデートです。これは、クライアント、サーバー、ツールを構築しているすべての人にとってのテストとなります。最終バージョンは2026年7月28日にリリースされます。この期間を利用して、移行時の問題を特定してください。
最大の変化は、MCPがステートレス(stateless)になったことです。
実装においてセッションIDや初期化ステップを使用している場合は、コードを変更する必要があります。各リクエストは、メタデータ内にバージョンと機能(capability)のデータを持つようになりました。
この変更はインフラストラクチャに役立ちます。ロードバランサーは、どのアカウントのサーバーインスタンスにもリクエストを送信できます。特定のサーバーに対して接続を維持し続ける必要はありません。
ステートの扱い方:
- 接続内にステートを隠さない。
- ステートをアプリケーションハンドルに移動する。
- ツールに
basket_idのようなIDを返させる。 - モデルはそのIDを次の呼び出し時に再度渡すことができる。
サーバー主導のリクエストも変更されます。サーバーは、クライアントの呼び出しを処理している間のみ、リクエストを開始できます。サーバーが追加情報を必要とする場合は、InputRequiredResult を返します。その後、クライアントは新しいデータを使用して呼び出しを再試行します。
MCP Appsが登場しました。サーバーはHTMLインターフェースを提供できるようになります。ホストはこれらをサンドボックス化された iframe 内でレンダリングします。これによりユーザーエクスペリエンスが向上しますが、厳格なセキュリティが必要になります。
認可(Authorization)がより厳格になりました。
- OAuth 2.0 および OpenID Connect を使用してください。
- クライアントは
issuerパラメータを検証する必要があります。 - 認可サーバーは、現在
issuerパラメータを送信する必要があります。
注意すべき非推奨(Deprecations)事項:
- Roots、Sampling、Logging は非推奨となりました。
- 現時点ではまだ動作しますが、新規プロジェクトでは使用しないでください。
- Roots はツールのパラメータに移動してください。
- Sampling はモデルプロバイダーの直接APIに移動してください。
- Logging は OpenTelemetry または
stderrに移動してください。
スキーマの更新:
- ツールのスキーマは、フル版の JSON Schema 2020-12 を使用するようになりました。
oneOfやanyOfのような複雑なロジックを使用できます。- エラーを避けるため、サーバーはスキーマの深さを制限する必要があります。
- エラーハンドリングを更新してください。リソース不足(missing resource)のエラーには、標準の JSON-RPC コード
-32602が使用されるようになりました。
問題を見つけた場合は、仕様リポジトリで Issue を作成するか、Discord のコントリビューターチャンネルで質問してください。
オプションの学習コミュニティ: https://t.me/GyaanSetuAi
