Cloudflare MCP server
DNS, WAF, Workers and analytics -- scoped to the zones you explicitly authorise.
- Tools
- 27
- Read-only
- 14
- Write
- 13
- Off by default
- Destructive
- 7
- Flagged distinctly
Cloudflare through an assistant
A Cloudflare token usually reaches every domain on the account. Here you pick which zones a connection may touch, and that list is checked server-side before any tool runs. An assistant can read DNS records, zone settings, WAF rulesets, Worker scripts and routes, and pull traffic, DNS and security-event analytics. Every write is opt-in; deleting a record or rule, purging cache, or deploying a Worker over live code needs a confirmation as well.
- Zones, DNS records and zone settings for the domains you authorise
- WAF custom rules via the modern Rulesets API
- Worker scripts, routes and cron triggers
- Traffic, DNS query and security-event analytics
- Create, update and delete DNS records and WAF rules (opt-in)
- Deploy Worker scripts and purge cache (opt-in, confirmation required)
What people actually ask
Real questions, answered from live Cloudflare data.
“What does the DNS for this domain currently point at?”
cloudflare_list_dns_recordscloudflare_get_zone“How much traffic did we block at the WAF yesterday, and where from?”
cloudflare_get_security_eventscloudflare_get_zone_analytics“Which Workers are deployed, and what routes are attached to them?”
cloudflare_list_workers_scriptscloudflare_list_workers_routes27 Cloudflare tools
Grouped by what they touch. Every tool is individually toggleable — you expose only what you want.
Workers
10 tools5 read-only · 5 writeShowing 10 of 10 tools
- cloudflare_create_workers_routeWrite
Bind a URL pattern (e.g. 'sub.example.com/*') in this zone to a Worker script.
- cloudflare_delete_workers_routeWriteDestructive
Remove a route binding. Requests matching its pattern will stop reaching the Worker.
- cloudflare_delete_workers_scriptWriteDestructive
Permanently delete a Worker script. Any routes still pointing at it will start failing.
- cloudflare_deploy_workers_scriptWriteDestructive
Upload/overwrite a Worker script's live code. This takes effect immediately with no rollback -- confirm the script name and content are correct before calling.
- cloudflare_get_workers_cron_triggersRead-only
Get a Worker script's cron trigger schedule.
- cloudflare_get_workers_script_contentRead-only
Get a Worker script's raw source code. This is not structured JSON -- large scripts may be truncated by the MCP client transport; prefer cloudflare_get_workers_script_metadata when source isn't needed.
- cloudflare_get_workers_script_metadataRead-only
Get a Worker script's metadata (size, modified date, usage model). Does not return source code.
- cloudflare_list_workers_routesRead-only
List URL-pattern-to-script route bindings for a zone.
- cloudflare_list_workers_scriptsRead-only
List Worker scripts in this connection's account.
- cloudflare_update_workers_cron_triggersWrite
Replace a Worker script's full cron trigger schedule (this is a full replace, not an incremental add).
Dns
6 tools3 read-only · 3 writeShowing 6 of 6 tools
- cloudflare_create_dns_recordWrite
Create a DNS record in a zone.
- cloudflare_delete_dns_recordWriteDestructive
Permanently delete a DNS record. This is destructive -- confirm the record_id first with cloudflare_get_dns_record.
- cloudflare_get_dns_analyticsRead-only
DNS query analytics for a zone over a date range: query volume by type and response code.
- cloudflare_get_dns_recordRead-only
Get a single DNS record by ID.
- cloudflare_list_dns_recordsRead-only
List DNS records for a zone, optionally filtered by type or name.
- cloudflare_update_dns_recordWrite
Update an existing DNS record.
Firewall
4 tools1 read-only · 3 writeShowing 4 of 4 tools
- cloudflare_create_firewall_ruleWrite
Add a rule to a zone's custom WAF ruleset. `expression` uses Cloudflare's Wireshark-inspired rules language, e.g. `(http.request.uri.path contains "/admin") and not ip.src in {1.2.3.4}`.
- cloudflare_delete_firewall_ruleWriteDestructive
Permanently remove a rule from a zone's custom WAF ruleset. Confirm rule_id first with cloudflare_get_firewall_ruleset.
- cloudflare_get_firewall_rulesetRead-only
Read a zone's custom WAF ruleset, including every rule in it (expression, action, enabled state).
- cloudflare_update_firewall_ruleWrite
Update an existing rule in a zone's custom WAF ruleset. Confirm rule_id first with cloudflare_get_firewall_ruleset.
Analytics
2 tools2 read-only · 0 writeShowing 2 of 2 tools
- cloudflare_get_security_eventsRead-only
Recent WAF/firewall events for a zone: what was blocked/challenged/logged, and by which rule.
- cloudflare_get_zone_analyticsRead-only
Traffic analytics for a zone over a date range: requests, bandwidth, threats blocked, cached vs. uncached.
Zones
2 tools2 read-only · 0 writeShowing 2 of 2 tools
- cloudflare_get_zoneRead-only
Get a zone's status, plan, and name servers.
- cloudflare_list_zonesRead-only
List the zones (domains) visible to this connection's API token.
Zone settings
2 tools1 read-only · 1 writeShowing 2 of 2 tools
- cloudflare_get_zone_settingsRead-only
Bulk-read all of a zone's settings (SSL mode, security level, cache level, etc.).
- cloudflare_update_zone_settingWriteDestructive
Update one zone setting. Only a vetted allowlist of settings can be changed through this tool -- a wrong SSL mode or security level can take a zone offline, so this deliberately does not accept arbitrary Cloudflare setting IDs.
More tools
1 tool0 read-only · 1 writeShowing 1 of 1 tools
- cloudflare_purge_cacheWriteDestructive
Purge cached content for a zone -- by specific file URLs, cache tags, hostnames, or everything. A full purge is a real operational event: it forces every cached asset to be re-fetched from origin, which can spike origin traffic. Prefer scoping to files/tags/hosts over purge_everything when possible.
Every tool name and description, machine-readable: /llms-full.txt
You decide what it can touch
The same model applies to every connector, and it defaults closed.
Your own credential
You supply your own Cloudflare key, scoped however you like on their side. It is encrypted with AES-256-GCM and never returned by any API response or tool call.
Writes off by default
A new connection switches on a read-oriented default set only. Every write tool must be enabled deliberately before any client can call it.
Roles enforced server-side
READ, WRITE and ADMIN gate tool invocation on the server, not just in the UI. A READ member's token is refused any write tool.
Connect Cloudflare in minutes
No infrastructure to run. Copy one URL and one token into your client.
- 1Create a free workspace and connect Cloudflare.
- 2Choose which tools to expose — writes stay off until you enable them.
- 3Copy your MCP endpoint URL and bearer token.
- 4Paste them into Claude, Cursor, or any MCP client.
{
"mcpServers": {
"serve-mcp": {
"url": "https://servemcp.com/api/mcp/your-workspace",
"transport": "http",
"headers": {
"Authorization": "Bearer smcp_..."
}
}
}
}More in Network & Infrastructure
Cisco Meraki
Network & InfrastructureEvery read in the Meraki Dashboard API, across every product line. No write tools exist.
DigitalOcean
Network & InfrastructureThe whole DigitalOcean account, at the same depth as DigitalOcean's own MCP server.
Microsoft Azure
Network & InfrastructureThe core-infrastructure slice of Azure Resource Manager, on your own tenant's consent.
Put Cloudflare in front of your assistant
Free plan, no card required. Connect in minutes.