ホームへ戻る

AI 標準與代理基礎設施

MCP 2026-07-28、ハンドシェイクとセッションを廃止し、リモートツールサーバーをステートレスリクエスト方式へ移行

新版MCPでは、プロトコルバージョン、ケイパビリティ、クライアント情報を各リクエストに含め、`initialize`ハンドシェイクと`Mcp-Session-Id`を廃止する。水平スケーリングを簡素化できる一方、クライアント、サーバー、ゲートウェイルールを同時に更新する必要がある破壊的変更だ。

Alec Wilson from Solihull, United Kingdom · CC BY-SA 2.0 · Image source
zh-Hant

Model Context Protocolの正式仕様`2026-07-28`では、コアトランスポートがステートレス方式に変更された。`initialize`/`initialized`ハンドシェイクと`Mcp-Session-Id`は廃止され、プロトコルバージョン、クライアントケイパビリティ、識別情報は各JSON-RPCリクエストの`_meta`に格納される。サーバーには`server/discover`の実装が義務付けられ、クライアントがバージョンとケイパビリティを事前に照会できるようになった。Streamable HTTPではさらに`Mcp-Method`および`Mcp-Name`ヘッダーが必須となり、ロードバランサー、レートリミッター、APIゲートウェイはJSON本文を解析せずにルーティングできる。

運用チームにとっては、リモートMCPサーバーがプロトコルセッションのためにsticky sessionや共有session storeへ依存する必要がなくなる。呼び出しをまたいで状態を保持する必要があるアプリケーションでは、ツールがhandleを明示的に生成し、モデルが後続のパラメーターでそれを返さなければならない。これによりオブザーバビリティとコンポーザビリティは向上する一方、handleの認可、ライフサイクル、漏えいリスクへの対応はアプリケーション層に委ねられる。

長時間実行されるフローも再設計された。Tasksはコアから独立してバージョニング可能な拡張機能へ移され、`tasks/get`、`tasks/update`、`tasks/cancel`を使用する。サーバーが追加情報を必要とする場合は、まず`InputRequiredResult`を返し、クライアントが入力を収集した後に元のリクエストを再送する。ツールschemaも完全なJSON Schema 2020-12へアップグレードされ、合成、条件、`$ref`をサポートする。ただし、悪意のあるschemaによるリソース消費を防ぐため、実装者は深さと検証時間を制限しなければならない。

これは単なるバージョン文字列の変更ではない。旧版のTasks、エラーコード、HTTP GETサブスクリプション、初期化フローには互換性リスクがあり、Roots、Sampling、Loggingも非推奨に指定されている。エンジニアリングチームは、まず公式conformance suiteでクライアントとサーバーの両方をテストし、その後に段階的な切り替えを計画する必要がある。また、OAuthの`iss`検証、キャッシュスコープ、トレースフィールドがプロキシチェーン内で失われていないことも確認すべきだ。

出典

  1. Model Context Protocol 2026-07-28 Specification
  2. Key Changes in MCP 2026-07-28
  3. MCP specification repository