Search the alley

記事を検索

2文字以上でタイトル・カテゴリ・タグを検索できます。

MCP 2026-07-28仕様の変更点|ステートレス化・Tasks・認証・移行ガイド

正式公開されたMCP 2026-07-28仕様の変更点を、stateless core、server/discover、MRTR、Tasks、MCP Apps、認証強化、deprecation policyから整理します。2025-11-25系から移行する前に、SDK・クライアント・接続先の対応範囲を確認できます。

公開 2026.07.28 / 更新 2026.08.09

この記事のポイント

  • 2026-07-28正式仕様の変更点と、クライアント・SDK側の対応状況を分けて読む
  • プロトコル層のstateless化でinitialize・initializedとMcp-Session-Idの扱いが変わる
  • Tasks、MCP Apps、Extensionsは仕様上の機能と、各クライアント・SDKの対応状況を分ける
  • 移行前にSDK、クライアント、認証、conformance、既存サーバーの実装範囲を確認する

結論:大きな変更だが、全利用者が今日一斉移行する話ではない

MCP 2026-07-28は、statelessなプロトコルコア、MRTR、header-based routing、cacheable list results、Extensions、Tasks、MCP Apps、認証強化、正式なdeprecation policyをまとめた大きな改訂です。仕様の正式公開は完了しましたが、SDK・クライアント・接続先が同じ速度で対応するとは限りません。既存のMCP Serverが動いているなら、まず対応表と検証環境を作り、本番の接続方式を先に変えない判断も正解です。

観点2025-11-25系2026-07-28正式仕様の変更移行前の確認
接続の状態プロトコル層のstateful connectionstatelessなself-contained requestを中心にするSDKが新旧transportをどう扱うか
初期化initialize / initialized handshakehandshakeとMcp-Session-Idを廃止し、request単位で情報を渡すclientInfo、capability、version negotiationの実装
発見接続時のcapability negotiationserver/discoverで必要時に能力を取得する設計対応メソッドとcacheの扱い
長時間処理Tasksは実験的なcore機能Tasks extensionのtasks/get・tasks/updateなどで追跡する旧Tasks APIとextension対応
UI標準coreの中心ではないMCP Appsがsandboxed iframeのserver-rendered UIとして整理hostのsandbox、consent、監査

stateless化は、アプリケーションの状態を消すことではない

公式説明でいうstatelessは、MCPのプロトコル層が接続sessionを管理しないという意味です。買い物かごやブラウザの状態が必要なアプリケーションは、ツールの引数として明示的なhandleを返し、次の呼び出しで渡す設計にできます。隠れたsessionに依存していた実装は、状態をどこで持ち、誰が渡し、期限や権限をどう確認するかをコードと監査ログに出す必要があります。

server/discover、Extensions、Tasks、MCP Appsを混同しない

要素仕様上の役割個人開発者が見るべき実装差
server/discoverサーバーの能力を必要な時に取得するサーバーとクライアントの対応version、cache、失敗時のfallback
Extensionscoreの外側で機能を個別に進化させる枠組み両端が明示的に対応し、negotiationするか
Tasks長時間処理をhandleで追跡し、更新・取消するextension旧experimental APIとの違い、cancelと権限の設計
MCP Appshostがsandboxed iframeでUIを表示するextensionUI表示とtool callのconsent・監査が同じ線上にあるか

認証強化は、APIキーを置き換えるだけの話ではない

正式仕様の認証変更には、authorization responseのiss検証、OIDCのapplication_type、issuerに結びついたcredential、refresh token、scopeの扱い、well-known discoveryの整理が含まれます。DCRは後方互換のため動作しますが、CIMDへの移行方針と将来の削除予定も明示されました。これは認証サーバーとクライアントの実装を確認する話であり、仕様名を設定ファイルへ貼り付ければ安全になる話ではありません。個人開発では、まずサーバーごとの認証方式、scope、tokenの保管場所、再認証、ログに残す情報を表にします。

移行前チェックリスト

  • 実装対象の仕様version、URL、確認日、SDK・clientの対応範囲を記録する
  • MCP client、server、SDKの対応versionと互換性を確認する
  • initialize / initialized / Mcp-Session-Idを前提にした実装箇所を洗い出す
  • sessionを外した後も必要な状態を、明示的なhandle・期限・権限で設計する
  • server/discover、Mcp-Method、Mcp-Name、cacheの扱いをgatewayと一緒に検証する
  • Tasksを使う場合は旧APIとの違い、cancel、途中入力、権限を確認する
  • MCP Appsを使う場合はiframe、UI action、consent、監査ログを分けずに確認する
  • OAuth/OIDCのissuer、iss、scope、refresh token、再認証をテストする
  • conformance test、SDKのtier、既存の接続先を確認してから段階的に切り替える

今すぐ変更しない方がよいケース

対応SDKが2026-07-28をサポートしていない、接続先が2025-11-25前提、認証のテスト環境がない、本番のrollback手順がない場合は、仕様が正式公開されたからといってtransportを即変更しない方が安全です。新仕様を理解することと、本番を移行することは別の作業として扱います。

よくある質問

MCP 2026-07-28は正式仕様ですか?

はい。MCP公式ブログと2026-07-28仕様本文では、正式仕様として公開されたと案内されています。ただし、すべてのclient、server、SDK、接続先が同時に対応済みとは限らないため、移行前に実装単位で確認します。

既存のMCP Serverはすぐ壊れますか?

互換性はclient、server、SDK、transport、認証の組み合わせで変わります。既存実装が旧仕様に依存している箇所を洗い出し、検証環境で新旧を比較してから移行します。

statelessなら長時間タスクは使えなくなりますか?

Tasksはstatelessモデルに合わせたextensionとして整理されています。task handle、状態取得、更新、取消をクライアントとサーバーが対応しているか確認する必要があります。

関連記事