Model Context Protocol の仕様 2026-07-28 が正式公開された。双方向ステートフルからリクエスト/レスポンスのステートレスコアへ変わり、ラウンドロビン負荷分散の背後でも共有セッションなしに任意のインスタンスへリクエストを載せられる。
移行・破壊的変更
initialize/initializedとMcp-Session-Idを廃止。各リクエストがプロトコル版・クライアント識別・capabilities を_metaに載せて自己記述する- capabilities の事前取得は任意の
server/discoverRPC。必須のハンドシェイクはない - Streamable HTTP では
Mcp-MethodとMcp-Nameヘッダが必須。ゲートウェイは JSON 本体を解析せずルーティング/認可できる - サーバー起点の elicitation / sampling / roots は Multi Round-Trip Requests(MRTR)へ再設計。
resultType: "input_required"とinputResponsesで往復する - Dynamic Client Registration(DCR)を正式非推奨にし、Client ID Metadata Documents(CIMD)へ移行する。RFC 9207 の
iss検証やクレデンシャルの issuer 束縛も入る - Roots / Sampling / Logging と旧 HTTP+SSE は非推奨。少なくとも 12 か月は動き続ける
セッション状態が必要なアプリは、ツールが明示ハンドルを返し、モデルが引数で持ち回す形に寄せる。
http
POST /mcp HTTP/1.1
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: search
{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"search","arguments":{"q":"otters"},
"_meta":{"io.modelcontextprotocol/clientInfo":{"name":"my-app","version":"1.0"}}}}その他の変更
tools/list等の一覧応答にttlMsとcacheScopeが付き、カタログのキャッシュとプロンプトキャッシュの安定化に使える- Tasks はコアから
io.modelcontextprotocol/tasks拡張へ移り、tasks/get/tasks/updateとsubscriptions/listenを使う - MCP Apps や Enterprise Managed Authorization(EMA)も拡張フレームワーク上に載る