「セッション」を捨てて普通のHTTPに戻る──MCP最大の改訂が、長時間エージェントに「Tasks」という共通の作法を渡す
Anthropic発の接続規格MCPが、2026年7月28日付で立ち上げ以来最大の改訂を迎える。中核から「セッション」を外してステートレス化し、長時間処理の共通作法「Tasks」と画面を返す「MCP Apps」を拡張として追加。破壊的変更も含む。
Anthropic発の接続規格 Model Context Protocol(MCP)が、2026年7月28日付の仕様「2026-07-28」を節目に迎えました。5月にリリース候補(RC)として内容を固め、約10週間の検証期間を経てこの日を最終化の目標に据えたもので、公式ブログは「立ち上げ以来で最大の改訂」と位置づけています。MCPは、Claudeが持ち込んだ仕組みが他の開発ツールへ広く波及した代表例で、コーディングエージェントが外部ツールやデータへつながる土台を担ってきました。今回の改訂は、その土台の設計思想そのものを作り替えます。
「毎回のやり取りに素性を書く」へ──中核からセッションを外す
最も大きい変更は、プロトコルの中核から「セッション」をなくしたことです。これまでは接続の最初に initialize / initialized というやり取り(ハンドシェイク)を交わし、Mcp-Session-Id というヘッダーで会話の状態を保っていました。新仕様ではこの二つを廃止し、クライアントの情報は毎回のリクエストに付く _meta という付帯データに載せて運びます。
ねらいは運用のしやすさです。状態を持たない(ステートレス)ため、リクエストはどのサーバーインスタンスが受けても処理できます。特定のサーバーに会話を固定する「スティッキーセッション」や、状態を共有する仕組みがなくても、ありふれたロードバランサーの後ろで台数を水平に増やせます。リモートで動くMCPサーバーを、普通のWebサービスと同じ感覚で運用できるようにする、という方向づけです。
拡張という新しい入り口──画面を返す「MCP Apps」、待たせる「Tasks」
もう一つの柱が「拡張(Extensions)」の正式化です。拡張は逆引きDNS形式の識別子を持ち、能力交換(ケイパビリティ)で有効・無効を取り決め、仕様本体とは別に版を重ねられます。本体を薄く保ちつつ機能を後付けできる枠組みで、今回は次の二つが同時に提供されます。
| 拡張 | 何をするか |
|---|---|
| MCP Apps | サーバーがサンドボックス化したiframe内に、対話的なHTML画面を返せる。ツールはUIテンプレートを事前に宣言し、先読みや安全性の審査を可能にする。画面上の操作は通常のJSON-RPC経由で処理する |
| Tasks | 時間のかかる処理を扱う共通の作法。tools/call に対してサーバーが「タスクの控え(ハンドル)」を返し、クライアントが tasks/get・tasks/update・tasks/cancel で進行を操作する |
Tasks は、これまで実験的な中核機能だった位置づけを改め、拡張として設計し直されました。サーバーは即答の代わりにタスクIDと初期状態、推奨の問い合わせ間隔を返し、クライアントは tasks/get で working(実行中)/input_required(入力待ち)/completed(完了)/failed(失敗)/cancelled(取り消し)といった状態を確認します。人の承認待ちのように途中で入力が要る場合は tasks/update で値を渡せ、一つのタスクの中で対話的な多段処理を進められます。長時間走り続けるエージェントの「待たせ方」を、各ツールがばらばらに実装せず共通の型で扱えるようにするものです。
認証はOAuthへ寄せ、古い機能には退場の予告を出す
認証まわりも実運用へ寄せられました。6件のSEP(仕様提案)で OAuth 2.0 と OpenID Connect の実務に沿うよう整え、たとえば認可時の iss パラメータ検証を必須にし、OpenID Connect の application_type 宣言などを求めます。企業のIDプラットフォームにそのまま載せやすくするための調整です。
あわせて、初めて正式な非推奨(deprecation)の方針も示されました。Roots・Sampling・Logging の三つが非推奨となり、削除まで最低12か月の猶予が置かれます。壊さずに前へ進めるための、退場のルールづくりです。
「上げなくても動く。ただし上げるなら壊れる」二面性
開発現場にとっては、恩恵と手間が背中合わせです。今回は破壊的変更を含みます。主な変更点を整理します。
| 変わる点 | 内容 |
|---|---|
| セッション | initialize / initialized と Mcp-Session-Id を廃止し、ステートレス化する |
| エラーコード | リソース未検出が -32002 から標準の -32602(Invalid Params)へ変わる |
| Tasks API | 旧「2025-11-25」版からの移行が必要になる |
| 旧機能 | Roots・Sampling・Logging を非推奨とする(12か月後以降に削除) |
もっとも公式は、「既存のサーバーは動き続け、アップグレードは任意で段階的に進めればよい」としています。移行を助けるため、Python(v2.0.0b1)、TypeScript(v2ベータ)、Go(v1.7.0-pre.1)、C#(v2.0.0-preview.1)のベータSDKが先行して公開され、PythonとTypeScriptには自動変換(codemod)付きの移行ガイドが用意されました。とはいえ、ロードバランサーやゲートウェイの背後で実負荷をかけて検証すべき、という注意も添えられています。規格が「ローカルの道具」から「分散前提の接続層」へ移る過渡期であり、動かし続けたいなら早めの検証が要る、というのが実務上の含意です。
Claudeが起点となった規格が、いまや各社のエージェントが共有する配管になりつつあります。今回の改訂は華やかな新モデルの発表ではありませんが、コーディングエージェントを「継続して安全に運用する」条件が、モデル性能の外側で着々と固まっていることを示す一手といえます。
参照: The 2026-07-28 MCP Specification Release Candidate(Model Context Protocol Blog) / Beta SDKs for the 2026-07-28 MCP Spec Release Candidate / SEP-2663: Tasks Extension / MCP's Largest Spec Change Since Launch(TechTimes)