cloudflare-dns-mcp-server
cloudflare-dns-mcp-server
Model Context Protocol (MCP) サーバーで、MCP 互換の LLM クライアント(Claude Code、Claude Desktop、claude.ai カスタムコネクタ、Cursor など)が Cloudflare アカウントの DNS レコードを読み取り・編集できるようにします。これはストリーミング可能な HTTP サーバー(ステートレス JSON モード、リモートサーバー向けの現在の MCP 標準)として動作し、ローカルサブプロセスサーバーを起動するクライアント向けの stdio モードも備えています。
Tools
Tool | 説明 |
| API トークンが有効でアクティブであることを確認します |
| トークンが管理できるドメインを一覧表示します |
| ゾーン内のレコードを一覧表示/フィルタリングします(レコード ID の取得元) |
| ID で 1 つのレコードを取得します |
| A/AAAA/CNAME/MX/TXT/SRV/CAA などのレコードを作成します |
| 部分更新。編集を元に戻せるように変更前/変更後を返します |
| 削除( |
| ゾーンを BIND ファイルとしてエクスポート — 一括変更の前にバックアップを取得します |
Related MCP server: cloudflare-dns-mcp-server
Setup
Node.js 20+ が必要です。
1. スコープ付き Cloudflare API トークンを作成します。 Cloudflare ダッシュボードで My Profile → API Tokens → Create Token に移動し、Edit zone DNS テンプレートを使用して、Zone Resources でモデルに管理させたい特定のゾーンに制限します。Global API Key は使用しないでください。スコープ付きトークンを使用すると、最悪の場合の影響範囲はそれらのゾーンの DNS のみに限定されます。
2. インストールとビルド:
npm install
npm run build3. 設定と実行:
cp .env.example .env # fill in tokens, then either export them or use a loader
export CLOUDFLARE_API_TOKEN="cf_..."
export MCP_AUTH_TOKEN="$(openssl rand -hex 24)" # protects the MCP endpoint itself
npm startMCP エンドポイントは http://127.0.0.1:8787/mcp にあります(ヘルスチェックは /healthz)。環境変数: HOST(デフォルト 127.0.0.1)、PORT(デフォルト 8787)、TRANSPORT(デフォルト http、または stdio)、ALLOWED_ORIGINS(追加のブラウザオリジン、カンマ区切り)。
4. スモークテスト:
MCP_AUTH_TOKEN="<same token>" npm run smokeこれは実際の MCP クライアントに接続し、8 つのツールを一覧表示し、cloudflare_verify_token を呼び出します。また、MCP Inspector を URL に向けることもできます: npx @modelcontextprotocol/inspector。
Connecting clients
Claude Code:
claude mcp add --transport http cloudflare-dns http://127.0.0.1:8787/mcp \
--header "Authorization: Bearer $MCP_AUTH_TOKEN"Cursor / その他の JSON 設定を持つクライアント — カスタムヘッダーでストリーミング可能な HTTP をサポートするクライアントはすべて同じように動作します:
{
"mcpServers": {
"cloudflare-dns": {
"url": "http://127.0.0.1:8787/mcp",
"headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
}
}
}ローカル stdio サーバーのみを起動するクライアント:
{
"mcpServers": {
"cloudflare-dns": {
"command": "node",
"args": ["/path/to/cloudflare-dns-mcp-server/dist/index.js"],
"env": { "CLOUDFLARE_API_TOKEN": "cf_...", "TRANSPORT": "stdio" }
}
}
}claude.ai / Claude mobile カスタムコネクタ は公開 HTTPS URL が必要です — localhost には到達できません。最も迅速な方法は、サーバーを実行しているマシンから Cloudflare Tunnel を使用することです:
cloudflared tunnel --url http://127.0.0.1:8787重要な注意点: claude.ai のカスタムコネクタ UI は OAuth または認証なしでのみ認証され、静的ベアラーヘッダーのフィールドはありません。そのため、リモート使用には 2 つの選択肢があります: トンネルを Cloudflare Access(サービス認証)の背後に置き、そこで認証を終了させるか、MCP_AUTH_TOKEN を設定せずに実行し、トンネル URL が秘密に保たれることに依存するかです。これは DNS を編集できるものにとってはかなり弱い保護です。Cloudflare Tunnel を使用する場合、サーバーは依然として 127.0.0.1 にバインドされるため、オプトインは不要です。ただし、トンネルではなくポートを直接公開する場合、認証なしの非 localhost バインドには ALLOW_UNAUTHENTICATED=true が必要です。選択する前に、現在の claude.ai コネクタの認証オプションを確認してください。これは時間とともに変わります。
Security notes
サーバーはデフォルトで 127.0.0.1 にバインドし、CLOUDFLARE_API_TOKEN なしでは起動を拒否します。MCP_AUTH_TOKEN が設定されていない状態で他のアドレスにバインドすると、起動を拒否します。ポートに到達できる人は誰でも DNS を編集できるためです。ただし、ALLOW_UNAUTHENTICATED=true を設定した場合は例外で、これは認証が上流で終了している場合(例: Cloudflare Access)にのみ適切です。ブラウザオリジンからのリクエストは、localhost または ALLOWED_ORIGINS からの場合を除き拒否されます(DNS リバインディング保護)。トークンは環境から読み取られ、ログに記録されることはなく、どのツールからも返されることはありません。
モデルの安全性の面では、削除には明示的な confirm=true 引数が必要で、更新は変更前/変更後の状態を返すため、任意の変更を元に戻すことができます。また、cloudflare_export_zone は 1 回の呼び出しで BIND バックアップを提供します。一括編集の前にモデルに実行させる価値があります。DNS の編集は実際のインターネットに伝播します。誤ったレコードはサイトやメールをオフラインにする可能性があるため、本番ゾーンでモデルを実行する前に、モデルが提案する内容を確認してください。
Development
npm run build # compile TypeScript → dist/
npm start # run HTTP server
npm run smoke # end-to-end client test against the running serverソースレイアウト: src/index.ts(トランスポート、認証ミドルウェア)、src/cloudflare.ts(API クライアント、ゾーン解決、フォーマット)、src/tools.ts(ツール登録)。
License
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 Servers
- Alicense-quality-maintenanceA lightweight MCP server for managing DNS records, purging cache, and interacting with the Cloudflare API through natural language commands.24
- Alicense-quality-maintenanceA token-efficient MCP server for managing Cloudflare DNS zones and records with full CRUD support and bulk operations. It can be deployed locally via stdio or as a Cloudflare Worker for remote HTTP access.
- Alicense-qualityCmaintenanceMCP server for managing Cloudflare DNS across multiple zones from a single API token, enabling bulk operations like toggling proxy, listing records, and batch updates.18MIT
- Alicense-qualityBmaintenanceCloudflare DNS MCP server. Manage zones, DNS records, cache, and page rules from Claude, Cursor, Codex, or any MCP-compatible AI assistant.MIT
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP server that integrates with Discord to provide AI-powered features.
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/SquarePiSigma5/CloudFlareMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server