loading…
Search for a command to run...
loading…
Enables AI assistants to manage Cloudflare infrastructure including DNS records, cache purging, SSL settings, Workers, and analytics through the Cloudflare API.
Enables AI assistants to manage Cloudflare infrastructure including DNS records, cache purging, SSL settings, Workers, and analytics through the Cloudflare API. Eliminates dashboard context-switching by allowing natural language control of domain management and infrastructure operations.
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.
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: 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 } }
| 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 |
GET /health
Returns:
{ "status": "ok", "server": "cloudflare-control", "version": "1.0.0", "tools": 12 }
Also available at GET /.
| Variable | Required | Description |
|---|---|---|
CLOUDFLARE_API_TOKEN |
Yes | Cloudflare API token with zone and DNS permissions |
PORT |
No | HTTP port (default: 8080) |
MIT License
Run in your terminal:
claude mcp add cloudflare-control -- npx Yes, Cloudflare Control MCP is free — one-click install via Unyly at no cost.
No, Cloudflare Control runs without API keys or environment variables.
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
Open Cloudflare Control on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Web content fetching and conversion for efficient LLM usage.
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
by modelcontextprotocolProvides auto-configuration for setting up an MCP server in Spring Boot applications.
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
by xuzexin-hzNot sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All ai MCPs