mcp-cloudflare
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLOUDFLARE_TIMEOUT | No | Request timeout in milliseconds | 30000 |
| CLOUDFLARE_API_TOKEN | Yes | Cloudflare API Token (with appropriate permissions) | |
| CLOUDFLARE_ACCOUNT_ID | No | Cloudflare Account ID (required for account-level operations) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| cloudflare_zone_listA | List all Cloudflare zones with pagination. Optionally filter by status or name. |
| cloudflare_zone_getA | Get zone details including status, nameservers, and plan. |
| cloudflare_zone_setting_getB | Get a specific zone setting by name (e.g., 'ssl', 'security_level', 'minify'). |
| cloudflare_zone_setting_updateC | Update a specific zone setting (e.g., change SSL mode, security level). |
| cloudflare_cache_purgeA | Purge cached files from Cloudflare's edge. Purge specific URLs (files), cache tags, URL prefixes, or everything. CAUTION: purge_everything causes a temporary origin load spike as the entire cache is rebuilt. |
| cloudflare_dns_listB | List DNS records for a zone. Optionally filter by type, name, content, or proxied status. |
| cloudflare_dns_getA | Get a single DNS record by its record ID. |
| cloudflare_dns_createC | Create a new DNS record in a zone. |
| cloudflare_dns_updateA | Update an existing DNS record (full replacement via PUT). |
| cloudflare_dns_deleteB | Delete a DNS record from a zone. |
| cloudflare_dns_searchA | Search DNS records by name pattern. Returns all records whose name contains the given string. |
| cloudflare_dns_exportA | Export all DNS records for a zone in BIND zone file format. Returns raw text. |
| cloudflare_dns_importA | Import DNS records from a BIND zone file. Sends the file content as multipart/form-data. |
| cloudflare_dnssec_statusA | Get the DNSSEC status for a zone. |
| cloudflare_dnssec_enableA | DESTRUCTIVE: Enable DNSSEC for a zone. After enabling, you must add the DS record at your domain registrar for DNSSEC to become fully active. |
| cloudflare_dnssec_disableA | DESTRUCTIVE: Disable DNSSEC for a zone. Also remove the DS record at your domain registrar to avoid DNS resolution failures. |
| cloudflare_account_infoA | Get Cloudflare account details (account name, ID, settings). No zone_id needed. |
| cloudflare_token_verifyB | Validate the configured Cloudflare API token and check its permissions. |
| cloudflare_zone_healthA | Check the health of a zone: combines zone status, DNSSEC configuration, and SSL mode into a single health report. |
| cloudflare_rate_limit_statusA | Check Cloudflare API rate limit consumption. Returns current limit, remaining requests, and reset time from response headers. |
| cloudflare_tunnel_listC | List Cloudflare Tunnels for the account. Optionally filter by name or deleted status. |
| cloudflare_tunnel_getA | Get details for a specific Cloudflare Tunnel by its ID. |
| cloudflare_tunnel_createA | Create a new Cloudflare Tunnel. A secure 32-byte tunnel secret is automatically generated. |
| cloudflare_tunnel_deleteA | Delete a Cloudflare Tunnel by its ID. This action cannot be undone. |
| cloudflare_tunnel_tokenA | Get the connector token for a Cloudflare Tunnel. This JWT token is used by cloudflared to authenticate with the Cloudflare edge. Store securely — treat as a credential. |
| cloudflare_tunnel_config_getB | Get the ingress configuration for a Cloudflare Tunnel. |
| cloudflare_tunnel_config_updateC | Update the ingress configuration for a Cloudflare Tunnel. |
| cloudflare_waf_list_rulesetsA | List all WAF rulesets for a zone (managed, custom, rate-limiting, etc.). |
| cloudflare_waf_get_rulesetA | Get a specific WAF ruleset by ID, including all rules within the ruleset. |
| cloudflare_waf_list_custom_rulesA | List all custom WAF firewall rules for a zone (http_request_firewall_custom phase entrypoint). |
| cloudflare_waf_create_custom_ruleB | Add a new custom WAF firewall rule to a zone. Uses Cloudflare Rules Language for the expression. |
| cloudflare_waf_delete_custom_ruleC | Delete a custom WAF firewall rule from a zone ruleset. |
| cloudflare_zt_list_appsA | List all Zero Trust Access applications for the account. |
| cloudflare_zt_get_appA | Get details for a specific Zero Trust Access application by its ID. |
| cloudflare_zt_create_appB | Create a new Zero Trust Access application. Protects a domain with identity-based access control. |
| cloudflare_zt_list_policiesA | List all access policies attached to a Zero Trust Access application. |
| cloudflare_zt_create_policyB | Create an access policy for a Zero Trust Access application. Policies define who can access the application. |
| cloudflare_zt_list_idpsA | List all identity providers (IdPs) configured for Zero Trust Access on the account. |
| cloudflare_zt_create_idpB | Create a new identity provider (IdP) for Zero Trust Access. Supports GitHub, Google, SAML, OIDC, Azure AD, Okta, and one-time PIN. |
| cloudflare_zt_gateway_statusA | Get the Zero Trust Gateway (DNS/HTTP filtering) configuration status for the account. |
| cloudflare_zt_delete_appA | DESTRUCTIVE: Delete a Zero Trust Access application. This removes the application and all its associated policies. |
| cloudflare_zt_delete_policyB | DESTRUCTIVE: Delete an access policy from a Zero Trust Access application. |
| cloudflare_zt_delete_idpB | DESTRUCTIVE: Delete an identity provider (IdP) from Zero Trust Access. |
| cloudflare_security_level_getA | Get the current security level setting for a zone (off, essentially_off, low, medium, high, under_attack). |
| cloudflare_security_level_setA | DESTRUCTIVE: Update the security level for a zone. Changes affect live traffic immediately. Use 'under_attack' only during active DDoS attacks. |
| cloudflare_security_eventsA | Query recent security/firewall events for a zone using Cloudflare GraphQL Analytics. |
| cloudflare_ddos_analyticsB | Query DDoS attack analytics for a zone using Cloudflare GraphQL Analytics. Returns aggregated attack traffic data. |
| cloudflare_ip_access_list | List IP access rules (firewall rules) for a zone. Filter by mode (block, challenge, whitelist, js_challenge). |
| cloudflare_ip_access_create | Create an IP access rule for a zone. Targets can be a specific IP, CIDR range, ASN, or country code. |
| cloudflare_ip_access_delete | Delete an IP access rule from a zone by its rule ID. |
| cloudflare_under_attack_status | Check whether a zone is currently in 'Under Attack' mode. Returns the current security level and whether DDoS protection is maximized. |
| cloudflare_security_insights | List Security Center insights (configuration issues, vulnerabilities, misconfigurations) for the account. Requires CLOUDFLARE_ACCOUNT_ID. |
| cloudflare_security_insights_severity_count | Get Security Center insight counts grouped by severity (low, moderate, critical). Quick overview without fetching all issues. Requires CLOUDFLARE_ACCOUNT_ID. |
| cloudflare_kv_namespace_list | List all Workers KV namespaces in the account. |
| cloudflare_kv_namespace_create | Create a new Workers KV namespace in the account. |
| cloudflare_kv_namespace_delete | DESTRUCTIVE: Delete a Workers KV namespace by its ID. This removes all keys in the namespace. |
| cloudflare_kv_list_keys | List keys stored in a Workers KV namespace. Supports prefix filtering and cursor-based pagination. |
| cloudflare_kv_read | Read the value of a key from a Workers KV namespace. Returns the raw string value. |
| cloudflare_kv_write | Write a value to a key in a Workers KV namespace. Optionally set a TTL for automatic expiration. |
| cloudflare_kv_delete | Delete a key from a Workers KV namespace. |
| cloudflare_worker_list | List all Workers scripts deployed in the account. |
| cloudflare_worker_deploy | Deploy a Workers script. Creates or updates the named script with the provided source code. |
| cloudflare_worker_delete | DESTRUCTIVE: Delete a Workers script by name. This action cannot be undone. |
| cloudflare_worker_route_list | List all Workers routes for a zone. Routes map URL patterns to Worker scripts. |
| cloudflare_worker_route_create | Create a Workers route that maps a URL pattern to a Worker script for a zone. |
| cloudflare_worker_deploy_project | Deploy a multi-file Workers project using wrangler. Runs 'npx wrangler deploy' in the given project directory. Requires wrangler installed in the project (devDependency) and a wrangler.toml config file. Uses the CLOUDFLARE_API_TOKEN from the MCP server environment. |
| cloudflare_worker_secret_list | List all secrets bound to a Workers script. Only secret names are returned, not values. |
| cloudflare_worker_secret_set | Set a secret for a Workers script. Creates or updates the named secret. The secret value is NOT echoed in the response for security. |
| cloudflare_worker_secret_delete | Delete a secret from a Workers script by name. |
| cloudflare_worker_analytics | Query Workers invocation analytics (time-series). Returns per-script metrics including requests, errors, subrequests, and CPU time percentiles ordered by time. |
| cloudflare_worker_usage | Query Workers usage summary (per-script aggregated). Returns scripts ranked by total request count, with error rates and CPU time percentiles. |
| cloudflare_web_analytics_list | List all Web Analytics (RUM) sites for the account. Returns site IDs, hostnames, and creation dates. |
| cloudflare_web_analytics_create | Create/enable a Web Analytics (RUM) site. Enables privacy-first, cookie-free analytics beacon auto-injection for the specified hostname. |
| cloudflare_web_analytics_get | Get details of a specific Web Analytics (RUM) site by ID. |
| cloudflare_web_analytics_delete | Delete a Web Analytics (RUM) site and stop collecting analytics. |
| cloudflare_web_analytics_stats | Query Web Analytics traffic stats for a zone. Returns page views, visits, and bandwidth grouped by time. |
| cloudflare_r2_bucket_list | List all R2 buckets in the account. Supports filtering by name and pagination. |
| cloudflare_r2_bucket_create | Create a new R2 storage bucket. Name must be 3-63 lowercase alphanumeric characters with hyphens. |
| cloudflare_r2_bucket_get | Get details of an R2 bucket including creation date and location. |
| cloudflare_r2_bucket_delete | DESTRUCTIVE: Delete an R2 bucket. The bucket must be empty before deletion. |
| cloudflare_r2_object_list | List objects in an R2 bucket. Supports prefix filtering, delimiter for directory-like listing, and pagination. |
| cloudflare_r2_object_get | Get metadata of an object in an R2 bucket (size, etag, content type, last modified). Does not return object body. |
| cloudflare_r2_object_delete | Delete an object from an R2 bucket. |
| cloudflare_r2_bucket_domain_list | List custom domains attached to an R2 bucket. Shows domain name, status, and zone info. |
| cloudflare_r2_bucket_domain_add | Attach a custom domain to an R2 bucket, enabling public access via that domain. The domain must belong to a zone in the same account. Cloudflare automatically creates a CNAME record. |
| cloudflare_r2_bucket_domain_remove | Remove a custom domain from an R2 bucket. This disables public access via that domain. |
| cloudflare_certificate_list | List SSL/TLS certificate packs for a zone. Shows all certificates including Universal SSL, Advanced, and custom uploads. |
| cloudflare_certificate_get | Get details of a specific SSL/TLS certificate pack including hosts, status, validity, and issuer. |
| cloudflare_ssl_setting_get | Get the current SSL/TLS encryption mode for a zone (off, flexible, full, strict). |
| cloudflare_ssl_setting_set | DESTRUCTIVE: Set the SSL/TLS encryption mode for a zone. Changes affect live traffic immediately. 'strict' is recommended for production. |
| cloudflare_ssl_verification | Get SSL/TLS verification status for a zone. Shows certificate validation progress, hostname coverage, and brand check status. |
| cloudflare_tls_setting_get | Get the minimum TLS version setting for a zone (1.0, 1.1, 1.2, or 1.3). |
| cloudflare_tls_setting_set | DESTRUCTIVE: Set the minimum TLS version for a zone. Changes affect live traffic immediately. Higher versions are more secure but may break older clients. |
| cloudflare_rate_limit_list | List all rate limiting rules for a zone with pagination. |
| cloudflare_rate_limit_get | Get details of a specific rate limiting rule including threshold, period, action, and match conditions. |
| cloudflare_rate_limit_statusA | Get a summary of all rate limiting rules for a zone — total count, enabled/disabled breakdown, and action types. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/itunified-io/mcp-cloudflare'
If you have feedback or need assistance with the MCP directory API, please join our Discord server