社内の BigQuery や CRM、社内 API を AI エージェントにつなぐ MCP サーバーを作った方、これから作る方向けの記事です。2026-07-28 に公開された MCP の新しい仕様で「どこを作り直し、どこはそのまま使え、いつまでに対応すればよいか」が分かり、移行の工数を見積もれるようになります。
この記事で分かること
- 新仕様の変更は、件数で見ると「接続・認証」の区分に集中していること(主要変更 9 件のうち 6 件、筆者の分類)
- 非推奨になった Roots・Sampling・Logging・Dynamic Client Registration は、仕様上 2027-07-28 より前には削除されないこと
- 2026-10-28 時点で、新仕様への対応を一次情報で確認できたのは Claude Code の一部の接続だけで、対応は始まったばかりであること
MCP とは:AI エージェントと社内データをつなぐ共通規格
MCP(Model Context Protocol。AI エージェントが外部のツールやデータを呼び出すための共通の通信ルール)は、AI 側と社内システム側の「つなぎ方」をそろえる規格です。つなぎ方がそろうので、1 つの MCP サーバーを作れば、複数の AI ツールから同じ社内データを使えます。
MCP の仕様は日付付きの版で管理されています。今回取り上げるのは 2026-07-28 版です。MCP は Linux Foundation 傘下の Agentic AI Foundation(AAIF)に寄贈されており、2026-10-22 には Agent Skills も同じ財団へ寄贈されると Anthropic が発表しました(Anthropic の発表)。
なぜ今回の改定が重要なのか
今回の改定は、通信の始め方そのものを変えます。これまで必須だった最初の「挨拶」の手順がなくなるので、古い版の前提で作ったサーバーは、新しい版のクライアントとそのままでは話が合わなくなる可能性があります。
一方で、非推奨(将来なくす予定だが、当面は使える状態)になった機能は、すぐには消えません。だから「すぐ直す部分」と「期限までに直す部分」を分けて計画すると、工数を無駄にしにくくなります。
2026-07-28 版の変更一覧:主要9件・軽微12件を4区分に整理
公式の changelog(変更履歴)は、主要変更 9 件・軽微変更 12 件を掲げ、別に非推奨 4 件などを並べています(MCP 2026-07-28 版 changelog)。この記事では、これらを「接続・認証」「機能」「非推奨」「エラー」の 4 区分に筆者が分類しました。この区分は公式のものではありません。
図 1 のとおり、主要変更 9 件のうち 6 件(約 67%)が接続・認証の区分に入りました。筆者が changelog の各項目を分類し、件数を数えた結果です。図と同じ値を表にします。
| 区分 | 主要変更 | 軽微変更 | 非推奨リスト | 代表例 |
|---|---|---|---|---|
| 接続・認証 | 6 | 4 | 0 | セッション廃止、initialize 廃止、Mcp-Method ヘッダー必須、認証情報を発行元に結び付ける規則 |
| 機能 | 3 | 6 | 0 | Tasks の拡張化、resultType 必須、ttlMs と cacheScope 必須、extensions 欄の追加 |
| 非推奨 | 0 | 0 | 4 | Roots・Sampling・Logging、Dynamic Client Registration |
| エラー | 0 | 2 | 0 | -32020〜-32099 の予約、リソース未検出のコード変更 |
| 合計 | 9 | 12 | 4 |
軽微変更 12 件のうち、OpenTelemetry(処理の流れを追跡するための共通規格)のトレース情報の受け渡し規則と、notifications/elicitation/complete の削除は「機能」に入れました。掲載 25 項目すべてを、4 区分のどれかに分類しています。
接続が変わる:セッションと initialize ハンドシェイクの廃止
これまでの MCP は、最初に initialize(クライアントとサーバーが互いの対応版や機能を伝え合う挨拶の手順)を行い、サーバーが セッション ID(一連のやり取りを同じ相手だと見分ける番号)を発行していました。以後のリクエストは、このセッション ID を共有して進みます。
2026-07-28 版では、プロトコルとしてのセッションと Mcp-Session-Id ヘッダーが削除されました。initialize と notifications/initialized の手順もなくなり、各リクエストが _meta という欄にプロトコル版とクライアントの能力を毎回載せます(changelog)。このように 1 回ごとに必要な情報をすべて持たせる作りを ステートレス(サーバーが会話の途中経過を覚えておかなくてよい状態)と呼びます。
図 2 のとおり、1 つ前の 2025-11-25 版と比べて消えるのは「挨拶」と「セッション ID」で、増えるのは「毎回の自己紹介」です。具体的には次の点が変わります。
- サーバーは server/discover(対応版・能力・名前を知らせる手順)を実装しなければなりません
- 版が合わないときは UnsupportedProtocolVersionError を返します
- 呼び出しをまたいで状態を持ちたい場合は、サーバーが発行する ハンドル(状態を指し示す目印の値)をツールの引数で受け渡します
- ping、logging/setLevel、roots/list_changed、SSE(Server-Sent Events。サーバーから通知を流し続ける仕組み)の再開(Last-Event-ID)が削除され、購読は subscriptions/listen に置き換わります
社内データ連携では、セッションに検索条件や途中結果を保存していたサーバーが最も影響を受けると考えられます。
機能が変わる:Tasks の拡張機能化とキャッシュ属性の必須化
Tasks(時間のかかる処理を受け付けて、後から結果を受け取る仕組み)は、実験的な機能としてコアに入っていました。2026-07-28 版では、コアから外れて公式拡張 io.modelcontextprotocol/tasks に移りました。tasks/result は tasks/get による ポーリング(定期的に状況を問い合わせること)に替わり、tasks/update が追加され、tasks/list は削除されています(changelog)。
BigQuery の重いクエリを Tasks で待たせていたサーバーは、この呼び出し名の変更に合わせる必要があります。
キャッシュにも変更があります。tools/list、prompts/list、resources/list、resources/read、resources/templates/list の結果に、ttlMs(結果を使い回してよい時間、単位はミリ秒)と cacheScope(public か private で、誰と共有してよい結果かを示す)が必須になりました。社員ごとに見える範囲が違う CRM のデータを返すなら、cacheScope を private にするのが安全だと考えられます。
さらに、roots/list・sampling/createMessage・elicitation/create などサーバー起点のリクエストは MRTR(Multi Round-Trip Requests。1 つの要求を複数回の往復で完了させる仕組み)に置き換わりました。すべての結果に resultType(complete か input_required か)が必須になります。
非推奨になる機能と12か月ルール
2026-07-28 版で非推奨になったのは、次の 4 項目です(changelog)。
| 非推奨になった機能 | 何に使っていたか | 移行先 |
|---|---|---|
| Roots | 扱ってよいフォルダなどの範囲をクライアントが伝える | ツールの引数など |
| Sampling | サーバーがクライアント経由で AI モデルに文章を作らせる | LLM の API を直接使う |
| Logging | サーバーのログをクライアントへ送る | 標準エラー出力(stderr)か OpenTelemetry |
| HTTP+SSE トランスポート(HTTP の要求とは別に、SSE の接続で通知を送る旧方式の通信) | 旧方式の通信 | Streamable HTTP(1 本の HTTP 接続で要求と通知を扱う現行方式) |
| includeContext の値 thisServer・allServers | Sampling で AI に渡す文脈の範囲を指定する | 項目を省くか “none” を使う |
| Dynamic Client Registration(DCR) | OAuth のクライアントを自動登録する | Client ID Metadata Documents(クライアントの情報を書いた文書を URL で公開し、その URL を ID として使う方式) |
changelog は、1 番目に Roots・Sampling・Logging の 3 機能をまとめ、2 番目を HTTP+SSE、3 番目を includeContext の値、4 番目を DCR としています。表は分かりやすさを優先して 1 番目を 3 行に分けたため、6 行になっています。
MCP の 機能ライフサイクルポリシー(機能を Active・Deprecated・Removed の 3 状態で管理する決まり)は、非推奨にしてから削除するまで最低 12 か月の猶予を置くと定めています。猶予は、非推奨が初めて書かれた仕様版の公開日から数えます(MCP 機能ライフサイクルポリシー)。
筆者が公開日と今日の日付から計算した結果を、図 3 と次の表にまとめます。
| 項目 | 日付・日数 | 根拠 |
|---|---|---|
| 仕様の公開日(猶予の起点) | 2026-07-28 | changelog |
| 今日 | 2026-10-28 | |
| 起点からの経過 | 92 日(猶予の約 25%) | 筆者計算 |
| 最小猶予の終了まで | 残り 273 日(約 39 週) | 筆者計算 |
| 削除してよくなる最も早い時点 | 2027-07-28 以降の最初の正式版 | ライフサイクルポリシー |
ここで大事なのは、2027-07-28 が「削除日」ではなく「これより前には削除されない」という下限だという点です。ポリシーは、削除は猶予の後の最初の正式版から行い、非推奨のまま長く残ることもあると書いています。また、セキュリティ上の危険がある場合は猶予を短くでき、その場合も最低 90 日は確保されます。
エラーコードの予約範囲と自前エラーの衝突
JSON-RPC(MCP が使っている、命令と結果を JSON でやり取りする形式)では、エラーを数値のコードで返します。2026-07-28 版では、-32000〜-32019 は実装側が自由に決めてよい範囲のまま残り、-32020〜-32099 は MCP 仕様が予約しました(changelog)。
HeaderMismatch は -32020、MissingRequiredClientCapability は -32021、UnsupportedProtocolVersion は -32022 に振り直されています。そのため、自社のサーバーで「-32050 = BigQuery の権限不足」のような独自コードを使っていた場合は、-32000〜-32019 に移すのが安全です。予約範囲のコードを使い続けると、将来の仕様で別の意味が割り当てられたときにクライアントが誤解するおそれがあります。
リソースが見つからないときのコードも -32002 から -32602(Invalid Params)に変わりました。「-32002 なら再試行しない」のような分岐をクライアント側に書いていたら、見直しが必要です。
社内データ連携サーバーの構成図で見る影響箇所
典型的な社内データ連携サーバーを「認証 → 接続 → ツール定義 → データ取得 → 結果の返し方 → ログ」の 6 つの部品に分け、影響の大きさを筆者が評価しました。
図 4 のとおり、BigQuery や CRM に問い合わせる業務ロジック自体は、今回の変更の対象外です。作り直しの中心は、その手前の接続層だと考えられます。
| 部品 | 影響の大きさ(筆者評価) | やること |
|---|---|---|
| クライアント登録・認証 | 中 | DCR を使っていれば Client ID Metadata Documents へ移す計画を立てる |
| 接続層 | 大 | セッション前提をやめ、server/discover と _meta の処理を入れる |
| ツール定義 | 中 | ttlMs と cacheScope を付け、tools/list の順序を固定する |
| データ取得 | 小 | 原則そのまま |
| 結果の返し方 | 中 | resultType を付け、独自エラーコードを予約範囲の外へ移す |
| ログ・長時間処理 | 中 | Logging を stderr か OpenTelemetry へ、Tasks を拡張の呼び出し名へ |
各ツールの追随状況
最後に、MCP を使う主なツールの最近の更新を並べます。筆者が各社の変更履歴を確認した範囲では、新仕様への対応が書かれていたのは Claude Code だけで、それも一部の接続に限られていました。
| ツール | ステートレス接続 | Tasks 拡張 | キャッシュ属性 | 企業向け認証 | 状態 |
|---|---|---|---|---|---|
| Codex CLI 0.164.0 | 未確認 | 未確認 | 未確認 | 対応 | 2026-10-23 リリース |
| Snowflake Cortex AI Gateway のツール機能 | 未確認 | 未確認 | 未確認 | 未確認 | 2026-10-19 Preview |
| Cursor Agent SDK | 未確認 | 未確認 | 未確認 | 未確認 | 2026-10-20 GA |
| Claude Code | 一部対応(cloud session と Remote Control の接続のみ。v2.1.299) | 未確認 | 関連する修正あり(v2.1.302) | 未確認 | 2026-10-14 から一部の接続で新仕様を既定にした |
- Codex CLI 0.164.0 は、企業向けの MCP 接続を、Codex アカウントの権限付与か専用のサインインで認証できるようにしました。シークレットが必要な OAuth クライアントも含みます(OpenAI の変更履歴)。
- Snowflake は Cortex AI Gateway のツール機能を Preview(正式公開前の試用版)で載せましたが、一覧ページでは MCP 対応かどうかを確認できませんでした(新機能一覧)。Cursor は Agent SDK(エージェントを自分のプログラムから組み立てるための開発キット)を GA(General Availability。正式に一般公開された状態)にし、mcp-connections フォルダで MCP サーバーのツールを追加できますが、新仕様への対応は書かれていません(変更履歴)。
- Anthropic は 2026-07-28 の時点で、Claude 各製品の新仕様対応を「近日中に順次展開」としていました(Anthropic のブログ)。Claude Code の変更履歴では、v2.1.299(2026-10-14)で、cloud session(クラウド上で動く Claude Code の作業環境)と Remote Control(別の端末から Claude Code を操作する機能)の MCP 接続が、既定で 2026-07-28 版を使うようになりました。環境変数
MCP_PROTOCOL_NEGOTIATION=legacyで旧方式に戻せます(Claude Code の変更履歴)。 - 続く v2.1.302(2026-10-16)では、2026-07-28 版を名乗りながら resultType・ttlMs・cacheScope を返さないサーバーで、ツールが表示されない、またはすべての呼び出しが失敗する不具合が直されました。新仕様の必須項目が欠けると、実際に動かなくなる例です。2026-10-22 の Agent Skills の寄贈は、規格の運営に関する話で、新仕様への対応とは別の話です。
新仕様の 3 列 × 4 ツール = 12 マスのうち、対応や関連する修正を一次情報で確認できたのは Claude Code の 2 マスだけで、どちらも一部の接続に限られます。つまり、2026-10-28 時点では対応は始まったばかりで、新しい版で話しかけてくるクライアントと古い版で話しかけてくるクライアントが混在すると考えられます。
移行計画のテンプレート
ここまでの分析から、次の順で進める計画を提案します。期限は、非推奨の最小猶予が終わる 2027-07-28 から逆算しています。
- 自社サーバーが使っている機能を棚卸しする(セッション、Tasks、Roots、Sampling、Logging、DCR、独自エラーコード)
- 独自エラーコードを -32000〜-32019 へ移す(他の変更と独立して進められるため)
- tools/list などの結果に ttlMs と cacheScope を、すべての結果に resultType を付ける(新しい版を名乗るのにこれらが欠けると、Claude Code ではツールが表示されない不具合が起きていました)
- セッションに保存していた状態を、ハンドルで受け渡す形に置き換える
- 新旧どちらの版のクライアントからも呼べるかを試験する
- Logging・Sampling・Roots・DCR の置き換えを、2027-07-28 より前に終える
つまずきやすい点:クライアント側とサーバー側の版ずれ
よくある誤解は「仕様が出たから、すぐ全部を新しい版に切り替えればよい」という考え方です。前の節で見たとおり、クライアントの新仕様対応は Claude Code の一部の接続で始まったばかりです。サーバーだけを新しい版にすると、古い版で initialize を送ってくるクライアントとつながらなくなるおそれがあります。
もう 1 つの誤解は「12 か月たてば非推奨機能が使えなくなる」というものです。ポリシー上、2027-07-28 は下限であり、削除はその後の最初の正式版からです。さらに、SDK(MCP サーバーやクライアントを作るための各言語向けの部品集)は仕様から削除されても、すぐに機能を落とす義務はないとされています(MCP 機能ライフサイクルポリシー)。
逆に「まだ消えないから放置してよい」と考えるのも危険です。Tier 1 の SDK は非推奨の API に、言語標準の deprecated の印を付ける義務を負います。この印があると、多くの開発環境では非推奨の API を使った箇所に警告が表示されます。SDK を更新して警告が見えたら、それを移行開始の合図にすると計画が立てやすくなります。
まとめ
- 2026-07-28 版の主要変更 9 件のうち 6 件は接続・認証に関するもので、作り直しの中心はセッションと initialize に頼った接続層です。BigQuery や CRM への問い合わせ部分は原則そのまま使えます。
- Roots・Sampling・Logging・DCR などの非推奨機能は、2027-07-28 より前には仕様から削除されません。2026-10-28 時点で残りは 273 日です。
- クライアントの新仕様対応は Claude Code の一部の接続で始まったばかりなので、当面は新旧両方の版のクライアントから呼べる状態を保つのが安全です。