Cloudflare Control MCP 服务

Cloudflare Control 是一个 MCP 服务器,可让 AI 助手直接管理 Cloudflare 的 DNS 记录、清理缓存、检查 Worker 脚本、配置 SSL 并获取分析数据,无需打开浏览器,适用于在 AI 工作流中快速管理 Cloudflare 基础设施。

  • by joecheofficial
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 josephtandle/cloudflare-mcp-mcp

使用说明

Stop context-switching between dashboards to manage your infrastructure.

Cloudflare Control is an MCP server that lets your AI assistant manage DNS records, purge cache, inspect Workers, configure SSL, and pull analytics directly from Cloudflare, no browser required.

Quick Start

Add this to your mcpServers config:

{
  "mcpServers": {
    "cloudflare-control": {
      "url": "https://your-cloud-run-url/mcp",
      "env": {
        "CLOUDFLARE_API_TOKEN": "your_token_here"
      }
    }
  }
}

Generate your API token at Cloudflare dashboard > My Profile > API Tokens. Grant it Zone:Read, DNS:Edit, Cache Purge, and Workers Scripts:Read permissions.

Before / After

Before: Open Cloudflare dashboard, navigate to the right zone, find DNS records, identify the record ID, edit the value, wait for propagation confirmation.

After:

Prompt: "Update the A record for api.example.com to point to 203.0.113.42"

1. list_zones -> finds zone_id for example.com: "abc123xyz"
2. list_dns_records(zone_id: "abc123xyz", name: "api.example.com") -> finds record_id: "rec456"
3. update_dns_record(zone_id: "abc123xyz", record_id: "rec456", type: "A", name: "api.example.com", content: "203.0.113.42")

Result: { "message": "DNS record updated", "record": { "name": "api.example.com", "content": "203.0.113.42", "proxied": true } }

Tools

Tool What it does
list_zones List all domains in your Cloudflare account with IDs and status
get_zone Get full metadata for a specific zone by ID
list_dns_records List A, AAAA, CNAME, MX, TXT and other DNS records for a zone
create_dns_record Create a new DNS record (A, CNAME, TXT, MX, etc.)
update_dns_record Update an existing DNS record by record ID
delete_dns_record Permanently remove a DNS record from a zone
purge_cache Purge cached content for specific URLs or the entire zone
get_zone_analytics Fetch request counts, bandwidth, threats, and cache stats over a time range
list_workers List all deployed Cloudflare Workers scripts in an account
get_ssl_settings Read SSL mode, minimum TLS version, and HSTS config for a zone
set_ssl_mode Set SSL/TLS encryption mode (off, flexible, full, full_strict)
list_page_rules List URL-based Page Rules including redirects and cache overrides

Who is this for?

  • Solo founders and indie hackers who manage multiple domains and want to make DNS changes without leaving their AI workflow.
  • Platform engineers who need to purge cache, audit Workers, or triage SSL errors fast during an incident.
  • Agencies managing client infrastructure who want to delegate Cloudflare operations to an AI assistant with read/write API access.

Health Check

GET /health

Returns:

{ "status": "ok", "server": "cloudflare-control", "version": "1.0.0", "tools": 12 }

Also available at GET /.

Environment Variables

Variable Required Description
CLOUDFLARE_API_TOKEN Yes Cloudflare API token with zone and DNS permissions
PORT No HTTP port (default: 8080)

Built by Mastermind HQ

MIT License