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