AIエージェント・MCP

CloudflareでMCPサーバーを構築・公開する方法|Workersリモートデプロイと認証・ポータル

CloudflareでMCPサーバーを構築・公開する方法|Workersリモートデプロイと認証・ポータル

MCP(Model Context Protocol)はAIアシスタントを外部ツールやデータに接続するためのオープン標準で、CloudflareはそのリモートサーバーをWorkers上でホストする基盤を提供します。この記事では、MCPの正しい定義から、Wrangler CLIでリモートMCPサーバーをCloudflareへデプロイする手順、OAuth認証の追加、複数のMCPサーバーを組織で集中管理する「MCPサーバーポータル」(Cloudflare One)まで、公式ドキュメントとCloudflare公式ブログを一次ソースに整理します。ClaudeやCursorといったクライアントから接続する方法も扱います。

まとめ:CloudflareはリモートMCPサーバーの実行・保護基盤

  • MCP=Model Context Protocol。Anthropicが2024年11月に公開したオープン標準で、AI(LLM)と外部ツール・データを橋渡しする。「Webサーバーの一種」ではない。
  • Cloudflareの役割:MCPサーバーをWorkers(サーバーレス/エッジ)で実行し、世界中から低遅延で使えるリモートMCPサーバーとして公開できる。
  • 構築:npm create cloudflare のテンプレートでプロジェクトを作り、wrangler でデプロイ。エンドポイントは /mcp の1本(Streamable HTTP)。
  • 認証:workers-oauth-provider でOAuthを付与し、無認証(authless)と使い分ける。
  • 組織運用:MCPサーバーポータル(Cloudflare One / Zero Trust)で複数サーバーを1エンドポイントに集約し、アクセス制御・ログ・DLPを一括適用(Open Beta)。

MCP(Model Context Protocol)とは何か

MCPはModel Context Protocolの略で、Anthropicが2024年11月に公開したオープン標準です。ChatGPTやClaudeのようなAIモデルが、ファイル・データベース・SaaS・社内APIといった外部リソースを、決められた共通の作法で呼び出せるようにする「AI向けの接続規格」です。USB-Cのように、モデルとツールの接続方法を1つに統一する役割を担います。ApacheやNginxのようなWebサーバーソフトでも、独自のWebサーバーアーキテクチャでもありません。ここを取り違えると設計を丸ごと誤るため、まず定義を正します。

MCPサーバーとMCPクライアントの役割分担

MCPは「サーバー」と「クライアント」の2者で構成されます。MCPサーバーは、AIに使わせたい機能を「ツール(tool)」「リソース(resource)」「プロンプト(prompt)」として公開する側です。たとえばGitHub操作、社内DB参照、天気取得などを1つのMCPサーバーが提供します。MCPクライアントは、そのツールを呼び出すAIアプリ側で、Claude Desktop、Cursor、VS Code、CloudflareのWorkers AI Playgroundなどが該当します。Cloudflareで作るのは前者の「MCPサーバー」であり、ユーザーはお気に入りのクライアントからそれに接続して使います。

ローカル(stdio)とリモート(Streamable HTTP)の違い

MCPサーバーには2つの接続形態があります。ローカルサーバーは利用者のPC内でプロセスとして動き、標準入出力(stdio)でクライアントと通信します。導入は各自の端末で完結する一方、配布・更新・共有には向きません。リモートサーバーはHTTPでネットワーク越しに接続し、現在はStreamable HTTPトランスポートを用いて /mcp の単一エンドポイントで双方向にやり取りします。URLを配れば誰でも接続でき、更新も一箇所で済むため、チームや不特定多数へ配布する用途に適します。Cloudflareが担うのはこのリモート型です。トランスポートの詳細はStreamable HTTPトランスポートの解説記事で補足します。

CloudflareでMCPサーバーを動かす理由

Cloudflareは元来CDN・DDoS防御・WAF・DNSを提供する企業で、サーバーレス実行環境「Cloudflare Workers」を持ちます。リモートMCPサーバーをWorkersに載せる利点は、世界中のエッジで実行されるため利用者の最寄り拠点で応答でき、AIツールの遅延を抑えられる点にあります。サーバー台数を事前に見積もる必要がなくアクセス増に自動で追随し、無料枠から始められるためコスト面のハードルも低めです。状態を持つMCPサーバーはDurable Objectsでセッションを保持でき、agents SDKの McpAgent クラスを使うと接続・ツール定義・認証を組み込んだ形で実装できます。Workersそのものの基礎はCloudflare Workersの解説記事を参照してください。

Wrangler CLIでリモートMCPサーバーをデプロイする手順

CloudflareへのリモートMCPサーバー構築は、公式テンプレートとWrangler CLIで進めるのが最短です。ここでは認証なし(authless)の最小構成を作り、デプロイし、クライアントから接続するまでを追います。

テンプレートからプロジェクトを作成する

Node.js環境で、Cloudflare公式のリモートMCPテンプレートからプロジェクトを生成します。

npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless

生成物には、ツールを定義するエントリーポイント、Wranglerの設定ファイル wrangler.jsonc(または wrangler.toml)、依存を管理する package.json が含まれます。公開したいツールはコード内で this.server.tool(...) のように定義します。テンプレート名や構成は更新されることがあるため、最新は公式ドキュメントで確認してください。

ログインしてWorkersへデプロイする

プロジェクトのディレクトリでCloudflareにログインし、デプロイします。

npx wrangler login
npm run deploy

デプロイが完了すると、サーバーは https://my-mcp-server.<アカウント名>.workers.dev/mcp の形式で公開されます。ローカルでの動作確認は npx wrangler dev で行え(既定では http://localhost:8788/mcp に立ち上がります)、本番へ載せる前にエッジ相当の挙動をテストできます。なお現行のリモート接続はStreamable HTTPの /mcp が主で、後方互換として /sse エンドポイントを併せて公開する構成もあります。

MCPクライアントから接続して確認する

公開したエンドポイントは、リモートMCPに対応するクライアントから接続します。手軽なのはCloudflareのWorkers AI Playground(リモートMCPクライアント)で、接続先に上記の /mcp URLを入力するとツール一覧が表示されます。MCP inspectorや、Claudeデスクトップアプリ・Cursorといった対応クライアントからも同じURLで接続できます。定義したツールがクライアント側に現れ、自然言語の指示から呼び出せれば疎通確認は完了です。Python中心で構築したい場合は、FastMCPのようなフレームワークでサーバーを書く選択肢もあります。

認証を追加する:workers-oauth-provider

社内データや課金APIを扱うMCPサーバーは、無認証のまま公開してはいけません。Cloudflareは workers-oauth-provider というTypeScriptライブラリを提供しており、Workerのコードをラップする形でMCPサーバーのエンドポイントにOAuth認可を追加できます。GitHubやGoogleなど外部のOAuthプロバイダーを認可サーバーとして繋ぎ込むこともでき、「誰がどのツールを使えるか」をトークンで制御します。まずauthlessで疎通を確認し、公開範囲を広げる段階でOAuthを導入する、という順序が実務的です。認可の要否は扱うデータの機密度で判断し、外部公開するサーバーは原則として認証を前提に設計してください。

MCPサーバーポータル(Cloudflare One)で組織のMCP接続を集中管理する

MCPの利用が組織に広がると、部署ごとに乱立したMCPサーバーを誰がどう使っているか把握できなくなります。これに対する仕組みが、Cloudflare One(Zero Trust)の「MCPサーバーポータル」です(記事時点でOpen Beta)。複数のMCPサーバーを1つのHTTPエンドポイントに集約し、無認証のサーバーも、サードパーティ/独自のOAuthで保護されたサーバーもまとめて束ねられます。

ポータルの設定場所と接続方法

設定はZero Trustダッシュボードの「Access > AI Controls」から行います。作成したポータルには、利用者がWorkers AI Playground・MCP inspectorなどの対応クライアントの接続先にポータルのURL(https://<subdomain>.<domain>/mcp)を入力して接続します。個々のサーバーURLを配る代わりに、ポータル1本を配れば済むのが利点です。「mcp gateway」「cloudflare mcp gateway」と呼ばれる、複数MCPサーバーを束ねる集約ゲートウェイ的な用途は、このポータルが担います(LLMのコスト・レート制御を行う「AI Gateway」や、社内通信を制御するSecure Web Gatewayとは別機能です)。

集中ログ・アクセス制御・DLPで守る

ポータルの本質は利便性より統制です。人間ユーザー向けと同じAccessポリシーをAI接続にも適用でき、誰がどのポータルにログインしたかを集中的にログとして残せます。さらにDLP(データ損失防止)ガードレールで、特定のデータが特定のMCPサーバーへ渡るのを止めるルールを作れます。MCPは外部ツールへの実行権限をAIに与える性質上、統制なしの拡大はリスクになります。組織導入ではまずポータルで入口を1本化し、ポリシーとログを効かせる設計が現実的です。

Cloudflare公式のMCPサーバーを使う

自作せずとも、CloudflareはCloudflare自身を操作するためのMCPサーバー群を公式に公開しています(github.com/cloudflare/mcp-server-cloudflare)。ドキュメント検索、Workersのバインディング操作、Radar、ブラウザレンダリングなど、製品ごとに分かれたサーバーが用意され、対応クライアントから接続すればAIにCloudflareの管理・調査を任せられます。「既存サービスをAIから操作する」というMCPの典型例で、GitHubが公式提供するGitHub Remote MCP Serverと同じ発想です。自作の前に、目的のサービスに公式MCPサーバーが無いかを先に確認すると早道です。

Cloudflareでホストすべきケース・避けるべきケース

「とりあえずWorkersに載せる」が常に正解ではありません。判断軸は、そのMCPサーバーを誰と共有するかです。

Cloudflareのリモートホストが向くケース:チームや社外へURLで配布したい、複数のクライアント(Claude・Cursor・自社アプリ)から同じツールを使わせたい、グローバルに低遅延で提供したい、認証やアクセス制御を効かせたい——こうした「共有・公開」が絡む用途です。

避ける/ローカルで十分なケース:自分のPC内のファイルやローカルDBだけを触るツール、機密度が高くネットワークに出したくない処理、試作段階で自分しか使わないもの。これらはstdioのローカルMCPサーバーの方が簡単で安全です。リモート化は「共有する必要が出てから」で遅くありません。まずローカルで作り、配布要件が生じた時点でWorkersへ移す進め方が、無用な認証・運用コストを避けられます。

よくある質問

MCPとは何の略ですか?

Model Context Protocol(モデル・コンテキスト・プロトコル)の略です。Anthropicが2024年11月に公開した、AIと外部ツール・データを接続するためのオープン標準を指します。Webサーバーの製品名やアーキテクチャの名称ではありません。

Cloudflare MCPサーバーは無料で使えますか?

Cloudflare Workersには無料枠があり、小規模なMCPサーバーの実験や個人利用は無料の範囲で始められます。リクエスト数やCPU時間、Durable Objectsなどが一定量を超えると有料プラン(Workers Paid)が必要になります。最新の無料枠と料金は公式の料金ページで確認してください。

cloudflare mcp server portalとは何ですか?

Cloudflare One(Zero Trust)が提供する、複数のMCPサーバーを1つのエンドポイントに集約する機能です。アクセス制御・集中ログ・DLPを一括で適用でき、組織のAI接続を統制する目的で使います。Zero Trustダッシュボードの「Access > AI Controls」から設定します(記事時点でOpen Beta)。

リモートMCPとローカルMCPはどう違いますか?

ローカルは利用者のPC内で標準入出力(stdio)を通じて動き、配布や共有には不向きです。リモートはHTTP(Streamable HTTP)でネットワーク越しに接続し、URLを配れば複数人・複数クライアントで共有できます。CloudflareのWorkersで作るのはリモート型です。

ClaudeやCursorからCloudflareのMCPサーバーに接続できますか?

できます。デプロイ後の /mcp エンドポイントのURLを、リモートMCPに対応するクライアント(Workers AI Playground、MCP inspector、Claudeデスクトップアプリ、Cursorなど)の接続先に登録すれば、定義したツールを自然言語から呼び出せます。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.15 テックブログ リゾートトラスト不正アクセス:会員2.6万件・カハラ横浜3.6万件の対象確認と窓口
  2. 2025.09.03 コラム ストループ効果とは?原典1935年の実測値と年齢別の平均・テストのやり方
  3. 2026.10.16 テックブログ バーガーキング不正アクセスで約1,118万件の情報漏洩|対象確認・案内メールの真偽と運営側のログ点検
  4. 2026.04.13 コラム ゴルフ賞金の税金はいくら?1,000万円で源泉194万円・確定申告での精算と副賞の車、海外賞金【令和8年分】
  5. 2026.01.20 テックブログ PineDramaとは?TikTokのショートドラマアプリの日本配信・料金・安全性を解説

RELATED POSTS 関連記事

目次