Cloudflareの製品別MCPサーバーで/sseが410 Goneになった:/mcpへの切り替えとClaude Codeでの見え方を確かめる

Cloudflareの製品別MCPサーバーで/sseが410 Goneになった:/mcpへの切り替えとClaude Codeでの見え方を確かめる

Cloudflareの製品別MCPサーバーが/sseの提供をやめ、/mcpだけになりました。17個のサーバーで/sseが410 Goneを返すことをcurlで確かめ、Claude Codeでの見え方と、設定を/mcpへ切り替える手順を整理しました。
2026.10.26

どうも!オペ部の西村祐二です!

2026年10月22日に、Cloudflareの製品別MCPサーバーが /sse の提供をやめ、/mcp だけになりました(Cloudflare Changelog)。https://docs.mcp.cloudflare.com/sse のような /sse のURLを設定したままのMCPクライアントは、接続できなくなります。

この記事では、実際に /sse と /mcp が何を返すかをcurlで確かめ、Claude Code での表示も見ます。そのうえで、設定を /mcp に切り替える手順を整理します。

製品別MCPサーバーが/sseをやめて/mcpだけになった

  • 日付: 2026年10月22日
  • 対象: docs.mcp.cloudflare.com や bindings.mcp.cloudflare.com など、*.mcp.cloudflare.com の製品別MCPサーバー
  • 変更: /sse は 410 Gone を返し、レスポンスに移行先の /mcp のURLが入る
  • 必要な対応: クライアント設定のURLを /sse から /mcp に変える。Changelogによると、/sse でサインインしていた場合はもう一度サインインを求められる
  • 影響しないもの: Changelogでは、すでに /mcp で接続している設定は影響を受けないとされている

Cloudflareのドキュメントでは、各サーバーにStreamable HTTPのエンドポイント /mcp で接続するよう案内されています。全APIを扱う Cloudflare API MCPサーバー(https://mcp.cloudflare.com/mcp)は今回の変更の対象外です。

変更を入れた cloudflare/mcp-server-cloudflare#505 によると、OAuthライブラリ(@cloudflare/workers-oauth-provider)を1.x系に上げたことが理由です。1.xではトークンを結び付けるリソースを1つしか持てません。リソースをオリジン全体にすれば /mcp と /sse の両方を保護できますが、既存の /mcp 向けの認可がすべて無効になります。そのためリソースを <origin>/mcp にし、/sse は廃止したと説明されています。リダイレクトではなく410にした理由は、リダイレクトで救えるのはAPIトークンの利用者だけで、OAuthの利用者には /mcp への移行が必要だと伝わらないためです。

試してみる

環境

  • macOS 26.6.1(arm64)
  • curl(macOS同梱)
  • Claude Code 2.1.300
  • 検証日: 2026年10月25日(日本時間)

認証情報は使っていません。Cloudflareアカウントへのログインや、OAuthの認可フローも行っていません。

1. /sseは410 Goneと移行先のURLを返す

ドキュメント検索用のサーバーで、/sse にリクエストを送りました。

curl -s -i https://docs.mcp.cloudflare.com/sse
HTTP/2 410
content-type: application/problem+json
link: <https://docs.mcp.cloudflare.com/mcp>; rel="alternate"

{"type":"https://developers.cloudflare.com/agents/model-context-protocol/cloudflare/servers-for-cloudflare/","title":"This MCP URL has moved to /mcp","status":410,"detail":"The /sse URL is no longer served. Update your MCP client configuration to https://docs.mcp.cloudflare.com/mcp.","url":"https://docs.mcp.cloudflare.com/mcp"}

(一部のヘッダーは省略しています)

ステータスは410で、本文はエラー内容をJSONで返すproblem+json形式(RFC 9457)です。detail と url に移行先の /mcp のURLが入り、link ヘッダーにも同じURLが rel="alternate" で付いています。ブラウザで開いても同じJSONが表示されます。

ブラウザでhttps://docs.mcp.cloudflare.com/sseを開いた画面。This MCP URL has moved to /mcp というtitleと、移行先のhttps://docs.mcp.cloudflare.com/mcpを含むJSONが表示されている。

2. 17個のサーバーすべてで/sseが410になっている

cloudflare/mcp-server-cloudflare のREADMEに載っている17個のサーバーについて、/sse へのGETと、/mcp へのリクエストのステータスを並べました。/mcp には、MCPの接続開始時に送る initialize リクエストを認証なしで送っています。

curl -s -o /dev/null -w '%{http_code}\n' -X POST \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl-check","version":"0.0.1"}}}' \
  https://docs.mcp.cloudflare.com/mcp
サーバー /sse /mcp(認証なし)
docs、blog、demo-day 410 200
ai-gateway、auditlogs、autorag、bindings、browser、builds、casb、containers、dex、dns-analytics、graphql、logs、observability、radar 410 401

/sse はすべて410でした。/mcp が401を返したのはOAuthが必要なサーバーで、14個とも応答の www-authenticate ヘッダーに resource_metadata="https://<ホスト>/.well-known/oauth-protected-resource/mcp" が入っていました。

なお、17個のうち bindings、builds、observability、radar など10個は、READMEで非推奨(Deprecated servers)とされ、Cloudflare API MCPサーバーへの移行が勧められています。非推奨のサーバーを /sse で使っていた場合は、/mcp に変えるか、API MCPサーバーに移るかを選ぶことになります。

ドキュメントの製品別一覧にはAgents SDKのドキュメント用サーバー(agents.cloudflare.com/mcp)も載っていますが、こちらとAPI MCPサーバーの /sse は、試した時点で410ではなく404でした。410を返すのは *.mcp.cloudflare.com の製品別サーバーです。

3. Claude Codeでは/sseの設定が「Failed to connect」になる

MCPクライアント側でどう見えるかを、Claude Codeの claude mcp list で確かめました。テスト用のディレクトリで /sse と /mcp のサーバーを追加し、接続状態を表示しました。

claude mcp add --scope local --transport sse cf-bindings-sse https://bindings.mcp.cloudflare.com/sse
claude mcp add --scope local --transport http cf-bindings-http https://bindings.mcp.cloudflare.com/mcp
claude mcp add --scope local --transport sse cf-docs-sse https://docs.mcp.cloudflare.com/sse
claude mcp add --scope local --transport http cf-docs-http https://docs.mcp.cloudflare.com/mcp
claude mcp list
cf-bindings-sse: https://bindings.mcp.cloudflare.com/sse (SSE) - ✘ Failed to connect — HTTP 410: SSE error: Non-200 status code (410)
cf-bindings-http: https://bindings.mcp.cloudflare.com/mcp (HTTP) - ! Needs authentication
cf-docs-sse: https://docs.mcp.cloudflare.com/sse (SSE) - ✘ Failed to connect — HTTP 410: SSE error: Non-200 status code (410)
cf-docs-http: https://docs.mcp.cloudflare.com/mcp (HTTP) - ✔ Connected

/sse の2つは Failed to connect で、表示されるのは Non-200 status code (410) までです。transportを sse にしている場合、レスポンス本文の移行先URLはこの一覧には出てきませんでした。PR #505の検証表でも、SSE transportのクライアントでは Non-200 status code (410) になると記録されています。/mcp のほうは、認証が不要なdocsサーバーが Connected、OAuthが必要なbindingsサーバーが Needs authentication になりました。

URLが /sse のままでも、transportを http にして追加すると表示が変わりました。

claude mcp add --scope local --transport http cf-docs-sse-as-http https://docs.mcp.cloudflare.com/sse
claude mcp list
cf-docs-sse-as-http: https://docs.mcp.cloudflare.com/sse (HTTP) - ✘ Failed to connect — HTTP 410: Error POSTing to endpoint: {"type":"https://developers.cloudflare.com/agents/model-context-protocol/cloudflare/servers-for-cloudflare/","title":"This MCP URL has moved to /mcp","status":410,"detail":"The [redacted] URL is no longer served. Update your MCP client configuration to https://docs.mcp.cloudflare.com/mcp.","url":"https://docs.mcp.cloudflare.com/mcp"}

こちらは410の本文がそのまま表示され、移行先のURLを確認できます(本文中の /sse は、Claude Codeの表示では [redacted] に置き換わっていました)。Changelogには、多くのMCPクライアントが接続エラーに /mcp のURLを表示すると書かれていますが、Claude Codeでtransportが sse の設定ではステータスコードだけでした(Claude Code以外のクライアントは今回試していません)。

4. 設定を/mcpに切り替える

まず、/sse のURLが残っている設定を探します。claude mcp list はスコープ(local、project、user)を問わず設定を表示するので、ここから探すのが確実です。

claude mcp list | grep 'mcp.cloudflare.com/sse'
cf-docs: https://docs.mcp.cloudflare.com/sse (SSE) - ✘ Failed to connect — HTTP 410: SSE error: Non-200 status code (410)

見つかったサーバーがどのスコープに登録されているかは、claude mcp get の Scope で分かります。

claude mcp get cf-docs
cf-docs:
  Scope: Local config (private to you in this project)
  Status: ✘ Failed to connect
  Issue: HTTP 410: SSE error: Non-200 status code (410)
  Type: sse
  URL: https://docs.mcp.cloudflare.com/sse

同じスコープを指定して削除し、transportを http(Streamable HTTP)、URLを /mcp にして追加し直します。サーバー名は、claude mcp list に表示された自分の環境の名前に置き換えます。

claude mcp remove cf-docs -s local
claude mcp add --scope local --transport http cf-docs https://docs.mcp.cloudflare.com/mcp
claude mcp list | grep cf-docs
cf-docs: https://docs.mcp.cloudflare.com/mcp (HTTP) - ✔ Connected

チームで共有している .mcp.json(projectスコープ)に書かれている場合は、ファイルの type と url を次のように書き換えて共有し直すことになります。この書き換え後の接続は、今回は確かめていません。

.mcp.json
{
  "mcpServers": {
    "cf-docs": {
      "type": "http",
      "url": "https://docs.mcp.cloudflare.com/mcp"
    }
  }
}

Claude Code以外のクライアントは試していませんが、設定ファイルの場所はクライアントごとに異なるので、それぞれの設定ファイルから mcp.cloudflare.com/sse を探すことになりそうです。

検証結果の考察

  • 確認できたこと: READMEに載っている17個のサーバーは、すべて同じ挙動でした。書き換え先の /mcp のURLはレスポンスから機械的に分かります
  • Claude Codeでの見え方: transportが sse の設定では、claude mcp list に Non-200 status code (410) とだけ表示され、移行先のURLは出ません。410 が出たら、設定に *.mcp.cloudflare.com/sse が残っていないかを確かめるのが確実です
  • 公式情報と照合したこと: Changelogの「/sse は410を返す」という説明は、curlの結果と一致しました。/mcp は認証なしの initialize に200または401を返しており、引き続き応答しています。既存の /mcp 接続が影響を受けないことまでは、今回の方法では確かめられていません。401応答の resource_metadata が /mcp を指していることは、OAuthのリソースを /mcp にしたというPRの説明と整合しています
  • 運用上の注意点: チームで .mcp.json を共有している場合は、URLとtransportの両方を書き換えて共有し直すことになります

まとめ

Cloudflareの製品別MCPサーバーは2026年10月22日から /mcp だけになり、/sse は410 Goneと移行先のURLを返します。手元で確かめた17個のサーバーはすべてこの挙動でした。

Claude Codeでtransportを sse にしている設定では、Failed to connect と 410 だけが表示されます。claude mcp list で *.mcp.cloudflare.com/sse を見つけたら、transportを http、URLを /mcp にして追加し直し、OAuthが必要なサーバーは認可をやり直す、という流れで移行できます。

誰かの参考になれば幸いです。


参考リンク:


Claudeならクラスメソッドにお任せください

クラスメソッドは、Anthropic社とリセラー契約を締結しています。各種製品ガイドから、業種別の活用法、フェーズごとのお悩み解決などサービス支援ページにまとめております。まずはご覧いただき、お気軽にご相談ください。

サービス詳細を見る

この記事をシェアする

AI白書

関連記事