mcp-cloudflare-crunchtools
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLOUDFLARE_API_TOKEN | Yes | Your Cloudflare API token. Required for authentication. Create a token at https://dash.cloudflare.com/profile/api-tokens with appropriate permissions (e.g., Zone Read, DNS Edit, etc.). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_zones_toolA | List all Cloudflare zones accessible by the API token. |
| get_zone_toolA | Get Cloudflare zone details by ID or name. Provide either zone_id or zone_name, not both. |
| list_dns_records_toolC | List DNS records for a Cloudflare zone. |
| get_dns_record_toolB | Get a single DNS record by ID. |
| create_dns_record_toolC | Create a new DNS record. |
| update_dns_record_toolC | Update an existing DNS record. |
| delete_dns_record_toolC | Delete a DNS record. |
| list_request_header_rules_toolB | List request header modification rules. |
| set_request_header_rules_toolA | Set request header modification rules (replaces all existing rules). Each rule should have:
|
| list_response_header_rules_toolC | List response header modification rules. |
| set_response_header_rules_toolA | Set response header modification rules (replaces all existing rules). Each rule should have:
|
| list_url_rewrite_rules_toolC | List URL rewrite rules. |
| set_url_rewrite_rules_toolA | Set URL rewrite rules (replaces all existing rules). Each rule should have:
|
| list_page_rules_toolC | List all page rules for a zone. |
| create_page_rule_toolC | Create a new page rule. |
| update_page_rule_toolC | Update an existing page rule. |
| delete_page_rule_toolC | Delete a page rule. |
| purge_cache_toolA | Purge cached content from Cloudflare's edge. Use one of: purge_everything, files, tags, hosts, or prefixes. Every method works on every plan, Free included. Prefer hosts, prefixes, tags or files over purge_everything when only part of a zone is stale. |
| get_zone_analytics_toolA | Get zone traffic analytics summary. Returns total requests, unique visitors, bandwidth, cache ratio, and status code breakdown for the given date range. Provide either zone_id or zone_name, not both. |
| get_top_pages_toolB | Get top pages by request count. Provide either zone_id or zone_name, not both. |
| get_traffic_by_country_toolA | Get traffic breakdown by country. Provide either zone_id or zone_name, not both. |
| get_security_events_toolA | Get security/firewall events grouped by action and source. Provide either zone_id or zone_name, not both. |
| list_waf_rules_toolA | List all WAF custom rules for a zone. Provide either zone_id or zone_name, not both. |
| create_waf_rule_toolA | Create a new WAF custom rule. Free plans support up to 5 custom rules. Provide either zone_id or zone_name, not both. |
| update_waf_rule_toolB | Update an existing WAF custom rule. Provide either zone_id or zone_name, not both. |
| delete_waf_rule_toolB | Delete a WAF custom rule. Provide either zone_id or zone_name, not both. |
| get_access_organization_toolB | Get the Zero Trust organization behind a zone's Access applications. |
| list_access_apps_toolC | List the Access applications on a zone. |
| get_access_app_toolA | Get one Access application, including its audience tag (aud). |
| create_access_app_toolA | Put a hostname behind a Cloudflare Access login. A new application has no policy and admits no one until create_access_policy adds one. |
| delete_access_app_toolB | Delete an Access application, leaving its hostname with no Access login. |
| list_access_policies_toolB | List the policies on an Access application. |
| create_access_policy_toolB | Add a policy to an Access application. Each rule is an object with exactly one key: {"email": "user@example.com"}, {"email_domain": "example.com"}, {"ip": "203.0.113.0/24"} or {"everyone": true}. |
| delete_access_policy_toolC | Delete a policy from an Access application. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 34 tools
Each tool targets a distinct Cloudflare resource and action (zones, DNS records, header rules, URL rewrite rules, page rules, cache, analytics, WAF, Access apps/policies), and the separate rule types are clearly differentiated by their names. No two tools appear to perform the same operation.
All 34 tools use a consistent snake_case verb_noun pattern with a uniform _tool suffix, using standard verbs like list/get/create/update/delete/set/purge. The only variation is 'set_' for replace-all operations, which is semantically appropriate and consistent across the header/URL rewrite tools.
34 tools is on the heavy side for an MCP server, exceeding the typical 3-15 range, though the breadth of Cloudflare features (DNS, WAF, Access, analytics, etc.) provides some justification. The set is not bloated with redundant tools, but a more consolidated approach could reduce count while keeping coverage.
Core CRUD is strong for DNS, WAF, and page rules, but there are notable lifecycle gaps: Access applications and policies lack update operations, and no tool exists for zone settings or SSL configuration. These gaps could force agents into delete-and-recreate workarounds for common Access management tasks.