7月10日、Yuan Teoh・Anubhav Dhawan(ともにGoogle ソフトウェアエンジニア)が「The Future is Stateless: MCP 2026 Draft Spec Arrives in MCP Toolbox」と題した記事を公開した。AIエージェント開発の現場では、MCPサーバーを複数インスタンスで水平スケールアウトしようとした際に「特定インスタンスへの固定ルーティング(スティッキールーティング)」や「セッションストアの共有」が避けられず、インフラ設計の障害となっていた。この問題をプロトコル仕様レベルで解消するのが、今回紹介するMCP 2026ドラフト仕様のステートレス設計だ。
MCP 2026ドラフト仕様の核心:「ハンドシェイク不要」のステートレス設計
MCP(Model Context Protocol)は、AIエージェントとツール・データソース間の通信を標準化するプロトコルで、Anthropicが主導して策定が進んでいる。2025年後半から急速に採用が広がり、今やAIエージェント開発の基盤プロトコルとなりつつある。
そのMCPの次世代仕様として、リリース候補(Release Candidate)が2026-07-28リリース予定でアナウンスされた。今回の記事では、GoogleがメンテナンスするMCP Toolbox for Databasesがこのドラフト仕様にいち早く対応したことを伝えている。
最も大きな変更点は、ステートレス化(SEP-2575)だ。
従来のMCPは、実際の処理を始める前に厳密な初期化ハンドシェイクが必要だった。これが「スティッキールーティング」や「セッションストアの共有」を強いられる原因になっていた。水平スケールアウトの障害になるこの制約が、新仕様でまるごと取り除かれる。
具体的には、initializeとpingメソッドが廃止され、新たにserver/discoverメソッドに一本化された。各リクエストは独立した単一のやり取りとして完結し、サーバーはセッション状態を保持しない。
HTTPリクエストの厳格化:Mcp-Methodヘッダーによるルーティング
ステートレス化と並ぶもう一つの変更が、HTTPリクエストの標準化(SEP-2243)だ。
新仕様では、すべてのリクエストにMcp-MethodやMcp-Nameといったヘッダーの付与が必須となる。これらはリクエストの意図を明示するメタデータで、Toolboxサーバー側はヘッダーの内容とリクエストボディが一致しているかを検証し、不一致のリクエストは拒否する。
この変更がもたらす実質的なメリットは三点だ。
- セキュリティ強化:ヘッダーとペイロードの二重チェックにより、矛盾したデータによる攻撃を防ぐ
- 通信の高速化:セッション確立のオーバーヘッドがなくなり、接続ごとの待ち時間が削減される
- スケーラビリティ:ステートレス構造により、水平スケールアウトが素直に機能する
また、Agnost AIとの協力により、リクエストメタデータの標準的な取り扱いを定める**SEP-414(request-meta)**も追加された。リクエストごとのメタ情報をプロトコルレベルで扱えるようになることで、トレーシングや可観測性ツールとの連携が容易になる。
試用方法:--enable-draft-specsフラグで既存環境を壊さず有効化
Toolbox v1.6.0以降では、--enable-draft-specsコマンドラインフラグを追加することでドラフト仕様を有効化できる。このフラグがない状態でドラフトプロトコルのクライアントが接続を試みた場合、サーバーはサポートするプロトコルバージョン一覧を返して丁寧に拒否する設計だ。
PythonのSDK(v1.2.0以降)ではProtocol.MCP_DRAFT定数を渡すだけで切り替えられる。
from toolbox_core import ToolboxClient, Protocol
# ドラフト仕様にオプトイン
async with ToolboxClient("http://localhost:5000", protocol=Protocol.MCP_DRAFT) as client:
# 2026-07-28プロトコルで接続を試みる
pass
本番ワークロードはProtocol.MCP_LATESTのまま据え置ける。
フォールバック機構
サーバーがドラフト仕様未対応の場合、SDKは自動でネゴシエーションを行い、旧プロトコルで接続し直す。複数のプロトコルバージョンを優先順位付きで渡すことも可能だ。
from toolbox_core import ToolboxClient, Protocol
# カスタムフォールバック配列
my_protocols = [Protocol.MCP_DRAFT, Protocol.MCP_v20251125]
async with ToolboxClient("http://localhost:5001", protocol=my_protocols) as client:
# まずDRAFTを試み、非対応なら2025-11-25にフォールバック
pass
SDKはバージョンを新しい順に並べ替え、サーバーとクライアントの双方がサポートする最新バージョンを自動選択する。
注意点
記事はドラフト仕様を本番環境で使用しないよう明記している。現在の2026-07-28というバージョン文字列はドラフト段階のものであり、2026年7月の正式リリース時点で廃止される予定だ。つまり、ドラフト版を前提に組んだクライアントコードは、正式版リリース後に修正が必要になる可能性がある。試用はあくまで仕様の先行評価・フィードバック目的にとどめることが推奨されている。
また、Toolboxチームは新仕様のSDKティアリング構造(SEP-1730)への完全準拠に向けて、現在アーキテクチャのレビュー中だという。SDKティアリング構造とは、MCPクライアント・サーバー実装をその機能セットに応じて階層分類する仕組みで、実装の品質担保と相互運用性の向上を目的としている。この準拠作業が完了することで、Toolboxはより広いMCPエコシステムとの互換性を確保することになる。
認証周りの対応については、別途公開されたブログ記事に詳しい。
詳細はThe Future is Stateless: MCP 2026 Draft Spec Arrives in MCP Toolboxを参照していただきたい。