---
title: "CloudflareでMCPサーバーを構築・公開する方法｜Workersリモートデプロイと認証・ポータル"
url: "https://www.issoh.co.jp/tech/details/6032/"
published: 2025-03-26
updated: 2026-09-27
categories: ["AIエージェント・MCP"]
publisher: "株式会社一創"
---

# 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トランスポートの解説記事](https://www.issoh.co.jp/tech/details/6580/)で補足します。

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

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

## 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](https://www.issoh.co.jp/tech/details/6507/)のようなフレームワークでサーバーを書く選択肢もあります。

## 認証を追加する：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](https://www.issoh.co.jp/tech/details/7271/)と同じ発想です。自作の前に、目的のサービスに公式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など）の接続先に登録すれば、定義したツールを自然言語から呼び出せます。

## 関連記事

- [Cloudflare Workersとは？エッジコンピューティングの基本解説](https://www.issoh.co.jp/tech/details/6539/)
- [Streamable HTTPとは？MCPの新トランスポートとSSEとの違いを解説](https://www.issoh.co.jp/tech/details/6580/)
- [GitHub Remote MCP Serverとは？ローカル版との違い・接続手順・認証を解説](https://www.issoh.co.jp/tech/details/7271/)
- [FastMCPとは｜PythonでMCPサーバーを最速構築するフレームワークの使い方](https://www.issoh.co.jp/tech/details/6507/)

---

出典: [CloudflareでMCPサーバーを構築・公開する方法｜Workersリモートデプロイと認証・ポータル](<https://www.issoh.co.jp/tech/details/6032/>)（株式会社一創）
