MCP 2026-07-28 仕様リリース候補 — ステートレス化とMCP Apps/Tasksで何が変わるか

MCP 2026-07-28 仕様リリース候補 — ステートレス化とMCP Apps/Tasksで何が変わるか

作成日:
読了:16
更新日:
この記事を読む人におすすめPR / Amazonアソシエイト

当サイトは Amazon.co.jp を宣伝しリンクすることで紹介料を得る手段を提供する、Amazonアソシエイト・プログラムの参加者です。価格・在庫はリンク先の最新情報をご確認ください。

MCPとリリース候補(RC)の位置づけ

Model Context Protocol(MCP)は、AIモデルとツールやデータソースをつなぐためのオープン標準です。Claude / Cursor / Windsurf / Zed などの主要AI製品がネイティブ対応しており、AIインテグレーションの事実上の標準になりつつあります。前提のおさらいはMCP 2026 ロードマップまとめを参照してください。

その次期仕様である2026-07-28版が、現在リリース候補(Release Candidate、RC)段階にあります。RC本文(公式ブログ)によれば、RCは2026年5月21日に公開され、正式版(normative specification)は2026年7月28日に公開予定です。RC公開から正式版までのあいだに10週間の検証ウィンドウが設けられており、SDKメンテナやクライアント実装者が実ワークロードに対して変更を検証する期間とされています。

WARNING

本記事執筆時点(2026年7月21日)で、この仕様はまだRC段階です。正式に確定した最終仕様ではありません。RC期間中に細部が変わる可能性があるため、実装判断の前に必ず一次情報(本文末尾のリンク)で最新状態を確認してください。

前版は2025-11-25版です。今回の2026-07-28版は、MCPが公開されて以来もっとも大きな改訂と公式に位置づけられており、2026ロードマップで掲げられた「通常のHTTPインフラでスケールするステートレスなコア」「拡張(Extensions)」「認可のOAuth/OpenID Connectへの整合」を具体化するものです。

なお正式版公開日(7月28日)は、あくまで「規範的な仕様テキストが公開される日」であり、現行プロトコルに依存する実装者にとっての「切り替え強制日」ではない、と公式は明言しています。既存実装が同日に動かなくなるわけではありません。

主な柱は次の6つです。

  • プロトコルのステートレス化(セッションの廃止)
  • Extensions フレームワーク(拡張が第一級市民に)
  • MCP Apps(サンドボックスiframeで描画する対話的UI)
  • Tasks 拡張(長時間実行の駆動)
  • 認可(authorization)のハードニング
  • 正式な非推奨(deprecation)ポリシー

以下、順に見ていきます。

なぜステートレス化するのか(従来のセッションの課題)

今回の目玉は、プロトコル層でMCPをステートレスにしたことです。

これまでのMCPは、接続の最初に initialize / initialized のハンドシェイクを行い、以後は Mcp-Session-Id ヘッダでセッションを識別する設計でした。この方式は単一プロセスでは素直ですが、水平スケール(サーバを複数インスタンスに増やす構成)では厄介でした。

  • 同じセッションのリクエストを同じインスタンスに届けるスティッキールーティングが必要
  • インスタンス間で状態を共有するセッションストア(共有キャッシュ等)が必要
  • ロードバランサがヘッダを深く見て振り分ける必要があり、素の round-robin では回せない

つまり、プロトコルの都合がインフラ構成に強く漏れ出していました。この課題感は2026ロードマップでも水平スケールの論点として挙がっていたものです。

RC本文はこの点を次のように表現しています。任意のMCPリクエストが任意のサーバインスタンスに到達でき、水平デプロイがこれまで必要としていたスティッキールーティングと共有セッションストアはもう不要になる、という趣旨です。実運用上のメリットとしては、素の round-robin ロードバランサの背後でMCPサーバを動かせるようになります。振り分けはメソッドを示すヘッダ(RC本文では Mcp-Method ヘッダに言及)で行え、ペイロードのディープパケットインスペクションは不要になります。

具体的に何が削除・変更されたか

ステートレス化に伴う主な変更点を、before / after で整理します。

項目従来(2025-11-25まで)2026-07-28 RC
初期化initialize / initialized ハンドシェイク廃止
セッション識別Mcp-Session-Id ヘッダ廃止
ルーティングスティッキー(同一インスタンスへ)任意リクエストが任意インスタンスへ
能力・バージョン伝達初期化時に一度交換各リクエストの _meta で毎回運ぶ
能力の事前取得ハンドシェイクに依存server/discover メソッドで取得

ポイントは、プロトコルバージョン・クライアント情報・ケイパビリティが、毎リクエストの _meta に載って運ばれるようになったことです。加えて、クライアントがサーバのケイパビリティをまとめて取得できる server/discover メソッドが追加されました。これにより、共有セッションストアなしに、コモディティなHTTPインフラ上でステートレスに動かせます。

擬似的なイメージとしては、従来は次のようにセッションIDをヘッダで引き回していました。

POST /mcp HTTP/1.1
Mcp-Session-Id: 6f1a...c3
Content-Type: application/json
 
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search"}}

RCでは、セッションIDに頼らず、必要な文脈をリクエスト自身が持ちます(下記はあくまで概念を示す擬似例です。正確なフィールド構造はRC本文・SDKで確認してください)。

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "search",
    "_meta": {
      "protocolVersion": "2026-07-28",
      "capabilities": { "extensions": {} }
    }
  }
}

その他、ステートレス化と前後して、いくつかの技術的な整備も入っています。

  • ツールのスキーマがJSON Schema 2020-12のフル機能をサポートし、oneOf / anyOf / allOf などの合成キーワード、条件分岐、参照が使えるようになりました。
  • リソースが見つからない場合のエラーコードが、独自の -32002 からJSON-RPC標準の -32602 へ変更されました。

Extensions フレームワーク

今回のもう一つの軸が、Extensions(拡張)を第一級市民に格上げしたことです。

拡張は逆DNS形式のID(reverse-DNSのID)を持ち、クライアントとサーバ双方のケイパビリティにある extensions マップを通じてネゴシエーションされます。拡張は仕様本体とは独立してバージョニングされるため、コア仕様のリリースサイクルに縛られずに機能を進化させられます。

この枠組みの上に、後述するMCP Apps(サーバ描画のUI)とTasks(長時間実行)が拡張として乗ります。従来コアに実験的に取り込まれていた機能を、拡張として切り出して独立に育てられる構造になったのが大きな変化です。

MCP Apps(サンドボックスiframeの対話的UI)

MCP Appsは、サーバがサンドボックス化されたiframe内に描画する、対話的なHTML UIを提供する拡張です。

仕組みの要点は次の通りです。

  • ツールは、自身が使うUIテンプレートを事前に宣言します(プリフェッチとセキュリティレビューを可能にするため)。
  • UIはサンドボックスiframe内で描画されます。
  • UI上の操作は、すべて標準のJSON-RPCプロトコル経由でルーティングされます。

つまり、UIがサーバ側から供給されつつも、そのアクションは独自経路ではなく通常のMCPメッセージに落ちる、という設計です。事前宣言によってクライアント側がテンプレートを審査・キャッシュできる点は、任意HTMLをそのまま流し込む方式に比べてセキュリティ面の見通しが良くなります。とはいえUIを扱う以上、入力の扱いには注意が必要です。MCPまわりのセキュリティ観点はMCPのプロンプトインジェクション/RCEもあわせて押さえておくとよいでしょう。

ブラウザ側でエージェントにツールを供給する話題(WebMCP)とあわせて、「UIとツールの境界」がMCPの新しい論点になりつつあります。

Tasks 拡張(長時間実行の駆動)

Tasksは、時間のかかる処理を扱うための拡張です。2025-11-25版では実験的なコア機能でしたが、2026-07-28 RCで独立した拡張へ移動しました。ステートレス化に合わせてライフサイクルも再設計されています。

再設計後の駆動フローは次の通りです。

  • サーバは tools/call に対してタスクハンドルを返す
  • クライアントは tasks/get / tasks/update / tasks/cancel で実行を駆動する

一方、セッションが無くなったことによるスコープの問題から、tasks/list は削除されました(セッションなしでは「誰のタスク一覧か」を安全にスコープしづらいため)。

擬似的なやり取りのイメージは次の通りです(フィールド名は概念を示す擬似例です)。

// 1. tools/call がタスクハンドルを返す
{
  "jsonrpc": "2.0", "id": 1,
  "result": { "task": { "id": "task_abc", "status": "working" } }
}
 
// 2. tasks/get で進捗を取りにいく
{
  "jsonrpc": "2.0", "id": 2,
  "method": "tasks/get",
  "params": { "taskId": "task_abc" }
}

NOTE

2025-11-25版の実験的Tasks APIを使っている実装は、更新が必要です。ハンドルベースのライフサイクルと tasks/list の削除を前提に、呼び出し側のポーリング処理を見直してください。

認可(authorization)のハードニング

認可まわりは、OAuthおよびOpenID Connectの実デプロイへの整合を強める方向で複数のSEP(仕様提案)により強化されました。主な内容は次の通りです。

  • クライアントは、レスポンスをどの認可サーバが発行したかをiss パラメータで検証する(RFC 9207準拠)。認可サーバの移行には再登録が必要。
  • クライアントは登録時に、OpenID Connectのapplication_typeを宣言する(デスクトップ/CLIクライアントを既定で「web」と扱ってlocalhostリダイレクトを拒否する、といった設定ミスを解消するため)。
  • 資格情報(credential)を、特定の認可サーバのissuer 値に束縛する。
  • スコープの累積(step-up認可時)や、.well-known によるディスカバリの挙動を明確化。

RC本文と解説記事によれば、これらはOAuth 2.1のリソースサーバモデル(RFC 9728のProtected Resource Metadata、RFC 8707のResource Indicators等)への整合を進めるものです。

NOTE

SEPの正確な番号(SEP-xxxx)の対応づけは、解説ソース間で表記に揺れが見られました。個別のSEP番号を実装根拠にする場合は、GitHubのmodelcontextprotocol/specificationで一次確認することを推奨します(本記事では要確認扱いとします)。

MCPの認可設計は、AIエージェントの認証・認可という広いテーマにつながります。実際のセットアップ例としてはClaude CodeとGoogle Calendar MCPの連携のような、OAuthを伴う接続が参考になります。

正式な非推奨(deprecation)ポリシー

今回、正式な非推奨ポリシーが導入されました。これまで日付ベースのリリースで機能が入れ替わる際、互換性の扱いが明文化されていませんでしたが、今後は非推奨のライフサイクルが定められます。

RC本文では、次の3機能が新ポリシーのもとで非推奨に入るとされています。

非推奨になる機能代替
Rootsツールのパラメータ、リソースURI、サーバ設定
SamplingLLMプロバイダAPIとの直接統合
Loggingstderr または OpenTelemetry

重要なのは、非推奨になっても即座には壊れない点です。RC本文は、これらのメソッド・型・ケイパビリティフラグは本リリースでも、そしてそれから1年以内に公開される各仕様版でも動作し続ける、という趣旨を述べています。移行のための猶予が明文で保証される形です。

開発者はいつ何をすべきか(移行と検証)

現時点(2026年7月21日)での実務的な優先順位を整理します。

  1. まずはRC本文を読む。ステートレス化・Extensions・MCP Apps・Tasks・認可・非推奨の6本柱を、自分の実装のどこに影響するかで棚卸しします。
  2. ベータSDKで検証する。公式ブログ(2026年6月29日付)によれば、Python / TypeScript / Go / C# のTier 1 SDKに、2026-07-28 RC対応のベータがすでに提供されています。Tier 1 SDKは検証ウィンドウ内での対応が期待されています。
  3. ステートレス前提でインフラを見直すMcp-Session-Id に依存したスティッキー構成や共有セッションストアを、round-robin + _meta 前提へ移せるか確認します。
  4. Tasksを使っている場合は書き換える。ハンドルベースのライフサイクルへ移行し、tasks/list 依存を外します。
  5. 認可を点検するiss 検証、application_type 宣言、issuer 束縛に対応できているか確認します。
  6. 非推奨機能(Roots / Sampling / Logging)を使っているなら、代替への移行計画を立てます。1年以内は動作が保証される見込みですが、早めに動くほど安全です。

いずれも「7月28日に一斉切り替え」ではなく、猶予のなかで段階的に進める性質のものです。あわてて本番を差し替える必要はありませんが、RC段階のうちにベータSDKで手を動かしておくと、正式版公開後の移行がスムーズになります。

まとめ

  • 2026-07-28版MCP仕様は、本記事時点でRC段階(RC公開2026年5月21日、正式版予定2026年7月28日、検証ウィンドウ10週間)。まだ確定ではありません。
  • 最大の変更はプロトコルのステートレス化initialize ハンドシェイクと Mcp-Session-Id を廃し、_metaserver/discover で文脈を運ぶことで、素のround-robin背後でも動くようになります。
  • Extensionsが第一級市民になり、その上にMCP Apps(サンドボックスiframeのUI)とTasks(ハンドルベースの長時間実行)が乗ります。
  • 認可はOAuth/OpenID Connectへ整合を強め、非推奨ポリシーが明文化されました(Roots / Sampling / Logging が対象、1年以上の互換維持見込み)。
  • 開発者はベータSDK(Python / TypeScript / Go / C#)で早めに検証し、ステートレス前提のインフラとTasks・認可の移行を進めるのが得策です。

一次情報が更新される領域なので、実装判断の前に必ず公式仕様とGitHubで最新状態を確認してください。

参考リンク

MCP 2026 ロードマップまとめ — Linux Foundation化したAIツール標準プロトコルの進化

MCP 2026 ロードマップまとめ — Linux Foundation化したAIツール標準プロトコルの進化

7

Model Context Protocol(MCP)は2025年にLinux Foundation配下のプロジェクトとなり、2026年には日付ベースから「Working Group」ベースの開発体制へ移行。Streamable HTTPの水平スケール、.well-known によるサーバー能力ディスカバリ、Tasks primitive 強化など、2026ロードマップの重点を整理します。

Playwright MCP 入門 - AIエージェントにブラウザ操作と画面確認を任せる

Playwright MCP 入門 - AIエージェントにブラウザ操作と画面確認を任せる

9

Microsoft 製の Playwright MCP を整理します。LLM にブラウザ自動化を開放する MCP サーバーで、スクリーンショットや視覚モデルではなくアクセシビリティツリーを使うのが特長です。Claude Code への導入(claude mcp add)、提供される主なツール、headless / isolated などの実行モード、そして「実装したが画面を見ていない」問題への効き方をまとめます。

WebMCP とは何か - サイトが AIエージェントに「道具」を渡すブラウザネイティブな仕組み

WebMCP とは何か - サイトが AIエージェントに「道具」を渡すブラウザネイティブな仕組み

9

Google I/O 2026 で公開され Chrome 149 でオリジントライアルが始まる WebMCP を整理します。ブラウザ内の AIエージェントに対して、サイト側が document.modelContext.registerTool で構造化ツールを公開する新しい Web 標準提案です。MCP との違い、API の書き方、現状の対応状況と注意点をまとめます。