wp-mcp-gateway
wp-mcp-gateway (Cloudflare Workers版)
Node バージョンと同じ考え方です。1 つの MCP エンドポイントがあり、すべてのツール呼び出しが site_id を受け取るため、1 つの Claude コネクタで WordPress サイト群全体をカバーできます。このバージョンは VPS の代わりに Cloudflare Workers 上で動作します。パッチ適用が必要なサーバーはなく、無料枠で十分に賄えます。wrangler deploy を実行すると、数分以内に workers.dev の URL で公開されます。
Cloudflare が現在推奨するアプローチに基づいています。agents SDK の ステートレス な createMcpHandler を使用しています(古いステートフルな McpAgent / Durable Objects アプローチは新規サーバーでは非推奨です。このゲートウェイはすべてのツール呼び出しが独立しているため、そもそもセッション状態は必要ありません)。
引き渡し前にローカルでエンドツーエンドの検証済みです。Worker が起動し、/health が応答し、MCP の initialize ハンドシェイクが機能し、ベアラートークン認証が欠落/誤ったトークンを正しく拒否して正しいトークンを許可し、list_sites がテスト用の SITES_JSON から実データを返します。
1. 前提条件
npm install -g wrangler # or just use npx wrangler as shown below
wrangler login # opens a browser to authenticate with your Cloudflare accountまだ Cloudflare アカウントをお持ちでない場合は、https://dash.cloudflare.com/sign-up から無料でサインアップできます。無料枠(1日あたり100,000リクエスト)で、この用途には十分すぎるほどです。
2. 依存関係のインストール
cd wp-mcp-gateway-cf
npm install3. サイトの設定
Node バージョンとは異なり、Workers にはファイルシステムがないため、サイトレジストリはファイルの代わりに シークレット(SITES_JSON)に保存されます。以前と同じ形式で、サイトごとに1エントリです:
{
"town-green": {
"label": "Town Green",
"baseUrl": "https://town-green.org",
"username": "mcp-agent",
"appPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
"host": "wpengine"
},
"cra": {
"label": "CRA",
"baseUrl": "https://cra.com",
"username": "mcp-agent",
"appPassword": "xxxx xxxx xxxx xxxx xxxx xxxx",
"host": "gridpane"
}
}すべてのサイトの JSON を構築してください(各サイトの Application Passwords を生成すれば、スプレッドシートから JSON へ変換するスクリプトは簡単に作成できます。必要な場合はお知らせください)。その後、シークレットとして設定します:
npx wrangler secret put SITES_JSON
# paste the whole JSON blob when prompted, then press Ctrl+DApplication Passwords: wp-admin で Users → your user → Application Passwords の順に進みます。推奨事項も以前と同じです。個人の管理者アカウントではなく、サイトごとに専用の低権限 WP ユーザーを使用してください。漏洩したトークンがその役割で許可された範囲を超えて操作できないようにするためです。
4. ゲートウェイ認証トークンの設定
npx wrangler secret put GATEWAY_TOKEN
# paste a long random value, e.g. output of: openssl rand -hex 32これを設定しない場合、エンドポイントは認証なしで動作します。最初のローカルテストでは問題ありませんが、デプロイ版では決して使用しないでください。
5. ローカルでテスト
npx wrangler devこれによりローカル開発サーバーが起動します(デフォルトは http://localhost:8787)。ローカルテストでは、シークレットを代わりに .dev.vars ファイルに置いてください(決してコミットしないでください):
GATEWAY_TOKEN=some-local-test-token
SITES_JSON={"town-green":{"label":"Town Green","baseUrl":"https://town-green.org","username":"mcp-agent","appPassword":"xxxx"}}動作しているか確認:
curl http://localhost:8787/health6. デプロイ
npx wrangler deployWrangler が公開 URL を出力します。例:
https://wp-mcp-gateway.<your-subdomain>.workers.devあなたの MCP エンドポイントは https://wp-mcp-gateway.<your-subdomain>.workers.dev/mcp です。
7. Claude にコネクタとして追加
カスタムコネクタを追加し、その /mcp URL を指定して、ヘッダー Authorization: Bearer <GATEWAY_TOKEN> を設定します(手順4で設定した値と同じもの)。
以降、「cra.com の下書き投稿を一覧表示」には、Claude が list_sites を呼び出す(または ID をすでに知っている)だけでよく、その後 site_id: "cra" を指定して list_posts を呼び出すだけです。Node バージョンと同じ動作ですが、エッジでホストされています。
後からサイトを更新する
新しいサイトを追加したり、認証情報を変更したりするには、再実行してください:
npx wrangler secret put SITES_JSON再デプロイは不要です。シークレットは Worker コードとは独立して更新されます。
このデプロイ固有のメモ
ファイルシステムなし、長時間実行プロセスなし — レジストリ全体は
SITES_JSONシークレット内にあり、リクエストごとに新たに解析されます。約80サイトでもコストはごくわずかです。設計上ステートレス — 各 MCP リクエストで新しいサーバーインスタンスが作成されます(Cloudflare の現在のガイダンスに従う)。リクエスト間のセッションを失う心配はありません。
マネージドホストでの WAF フラグ — Node バージョンと同じ注意点です。特に WP Engine は、馴染みのない IP 範囲から REST API を呼び出すトラフィックにフラグを立てる可能性があります。このゲートウェイ経由でアクセスしたときだけサイトが 403 を返す場合は、WP Engine サポートに確認する最初のポイントです。必要に応じて Cloudflare の egress 範囲を許可リストに追加する価値があります。
ツールの範囲 — これはコア WP REST API(
/wp/v2/...)とのみ通信します。WP-CLI、SSH、データベースレベルでの操作はありません。Workers はそもそも外部への SSH ができないため、後で必要になった場合には、まったく別のコンポーネントが必要になります。
Claude をデプロイ済み URL に接続する前のセキュリティチェックリスト
GATEWAY_TOKENをwrangler secret putで設定し、長くてランダムな値にするSITES_JSONで各サイトに専用の低権限 WP ユーザーを使用する.dev.vars(ローカルで使用した場合)を.gitignoreに含め、コミットしないシークレットを全約80サイトに拡大する前に、2〜3サイトでテスト済みである
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Turn Claude or ChatGPT into a website builder that ships a real site to a live URL you own.
WHOOP recovery, strain, sleep and workouts in Claude via official WHOOP OAuth. Free, open source.
The bridge from K2 agents through Wrangler to your master AI - safe, approval-gated Cloudflare ops.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/118group/wp-mcp-gateway'
If you have feedback or need assistance with the MCP directory API, please join our Discord server