MCP仕様「2026-07-28」公開 —⁠—プロトコルをステートレス化⁠拡張機構や認可も強化

Model Context Protocol(MCP)プロジェクトは2026年7月28日、新仕様「2026-07-28」を公開した。MCPは、AIアプリケーションと外部のツールやデータソースを接続するためのオープンプロトコル。前回の「2025-11-25」以来となる更新で、プロトコル層のセッションを廃止してステートレスなリクエスト/レスポンス方式へ移行したほか、拡張機構の正式化、認可の強化、非推奨ポリシーの導入などを盛り込んでいる。

セッション管理を廃止し⁠リクエストを自己完結型に

新仕様では、MCPのコアをステートレス化した。これまでStreamable HTTPでは、クライアントとサーバーがinitializeinitializedによる初期化を行い、Mcp-Session-Idを後続のリクエストで引き回していた。今回、この初期化処理とセッションIDを廃止した。各リクエストは、プロトコルのバージョンやクライアント情報、対応機能を持つ自己完結型になる。

サーバーの情報や対応機能を事前に確認するためのserver/discoverも追加された。ただし、クライアントが最初に呼び出すことは必須ではない。各リクエストだけで処理に必要な情報がそろうため、ロードバランサーで振り分けられたリクエストを、どのサーバーインスタンスでも処理できる。これにより、セッション情報を保存・共有するストレージや、特定のインスタンスへ接続を固定する仕組みが不要になり、リモートMCPサーバーを水平に拡張しやすくなる。

複数の呼び出しにまたがる情報は、ステートレス化後もアプリケーション側で保持できる。必要な場合は、サーバーがハンドルを発行し、クライアントが後続のツール呼び出しで通常の引数として渡す。こうした情報は、プロトコル層のセッションではなく、アプリケーション層で明示的に扱う設計になった。

MRTRやHTTPヘッダー⁠キャッシュ制御を追加

ステートレスな通信でも処理の途中でユーザーに確認や追加入力を求められるよう、Multi Round-Trip Requests(MRTR)も導入された。サーバーは、必要な追加入力を示すinput_requiredの結果を返す。クライアントはユーザーの回答を添え、元のリクエストを再試行する。これにより、双方向の接続を常時維持することなく、処理の途中でユーザーの入力を受け取れる。

Streamable HTTPのPOSTリクエストでは、RPCメソッド名を示すMcp-Methodヘッダーが必須となった。ツールやリソースなどを名前で指定するリクエストでは、Mcp-Nameヘッダーも必要になる。これらのヘッダーを使えば、ゲートウェイやレートリミッター、WAFは、JSON本文を解析せずにルーティングや認可を行える。

tools/listprompts/listresources/listなどの一覧取得結果には、キャッシュの有効期間を示すttlMsと、共有キャッシュで扱えるかを示すcacheScopeが追加された。クライアントはこれらの情報を使って一覧をキャッシュし、不要な再取得を減らせる。

MCP AppsやTasksを支える拡張機構を正式化

新仕様では、コアプロトコルとは独立して機能を追加・更新するための拡張機構を正式化した。クライアントとサーバーは、それぞれが対応する拡張をextensionsフィールドで示す。

長時間処理を扱うTasksは、実験的なコア機能から公式拡張のio.modelcontextprotocol/tasksへ移った。対話内にインタラクティブなUIを表示するMCP Appsや、組織のIDプロバイダーを通じてMCPサーバーへのアクセスを一元管理するEnterprise-Managed Authorization(EMA)なども、この拡張機構を通じてコア仕様とは別に更新される。

認可を強化⁠RootsやSamplingなどは非推奨に

認可では、OAuth 2.0やOpenID Connectを使った本番環境での運用を想定した変更が加わった。認可レスポンスの発行者を検証する仕組みを加え、クライアントの種類に応じた登録情報や、認可サーバーごとのクライアント認証情報の管理方法を明確にした。クライアント登録方式では、Dynamic Client Registration(DCR)が非推奨となり、クライアント情報を文書で提示するClient ID Metadata Documents(CIMD)への移行方針が示された。

あわせて、Roots、Sampling、Loggingの各機能と、旧HTTP+SSEトランスポートを非推奨にした。これらは直ちに削除されるわけではなく、少なくとも12カ月の移行期間が設けられる。新規実装では非推奨となった機能やトランスポートを採用せず、既存実装では代替手段への移行を進めるよう推奨されている。

TypeScript⁠Python⁠Go⁠C#のSDKが新仕様に対応

公開時点で、Tier 1に分類されるTypeScript、Python、Go、C#の公式SDKは「2026-07-28」に対応している。Rust SDKについては、新仕様に対応したベータ版が公開されている。

新仕様には、初期化処理やセッションIDの廃止など、既存実装の修正が必要になる変更が含まれる。ただし、公式SDKの解説によると、7月28日の公開と同時に既存のクライアントやサーバーが使えなくなるわけではない。SDKを新しいメジャーバージョンへ更新する作業と、新仕様に対応する作業は分かれており、必要な手順もSDKごとに異なる。


MCPのリードメンテナーを務めるDavid Soria Parra氏はXへの投稿で、今回のリリースは個人や企業がともに作り上げたコミュニティーの成果だと強調し、仕様策定に協力した企業としてAnthropic、Google、Microsoft、OpenAIなどを挙げている。

AAIF(Agentic AI Foundation)のブログでも、MCP関連の解説や事例を掲載している。MCP「2026-07-28」については、最終仕様の公開に先立ち、変更点と移行時の確認事項をまとめた解説記事を公開している。このほか、MCP Apps、MCPとCLIの関係、MCPとAgent Skillsの組み合わせ、企業での運用事例なども取り上げられている。

おすすめ記事

記事・ニュース一覧