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) |
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 | {} |
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_listA | List IP access rules (firewall rules) for a zone. Filter by mode (block, challenge, whitelist, js_challenge). |
| cloudflare_ip_access_createB | Create an IP access rule for a zone. Targets can be a specific IP, CIDR range, ASN, or country code. |
| cloudflare_ip_access_deleteB | Delete an IP access rule from a zone by its rule ID. |
| cloudflare_under_attack_statusB | Check whether a zone is currently in 'Under Attack' mode. Returns the current security level and whether DDoS protection is maximized. |
| cloudflare_security_insightsA | List Security Center insights (configuration issues, vulnerabilities, misconfigurations) for the account. Requires CLOUDFLARE_ACCOUNT_ID. |
| cloudflare_security_insights_severity_countA | Get Security Center insight counts grouped by severity (low, moderate, critical). Quick overview without fetching all issues. Requires CLOUDFLARE_ACCOUNT_ID. |
| cloudflare_kv_namespace_listB | List all Workers KV namespaces in the account. |
| cloudflare_kv_namespace_createB | Create a new Workers KV namespace in the account. |
| cloudflare_kv_namespace_deleteA | DESTRUCTIVE: Delete a Workers KV namespace by its ID. This removes all keys in the namespace. |
| cloudflare_kv_list_keysA | List keys stored in a Workers KV namespace. Supports prefix filtering and cursor-based pagination. |
| cloudflare_kv_readA | Read the value of a key from a Workers KV namespace. Returns the raw string value. |
| cloudflare_kv_writeA | Write a value to a key in a Workers KV namespace. Optionally set a TTL for automatic expiration. |
| cloudflare_kv_deleteB | Delete a key from a Workers KV namespace. |
| cloudflare_worker_listA | List all Workers scripts deployed in the account. |
| cloudflare_worker_deployC | Deploy a Workers script. Creates or updates the named script with the provided source code. |
| cloudflare_worker_deleteA | DESTRUCTIVE: Delete a Workers script by name. This action cannot be undone. |
| cloudflare_worker_route_listA | List all Workers routes for a zone. Routes map URL patterns to Worker scripts. |
| cloudflare_worker_route_createB | Create a Workers route that maps a URL pattern to a Worker script for a zone. |
| cloudflare_worker_deploy_projectA | 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_listA | List all secrets bound to a Workers script. Only secret names are returned, not values. |
| cloudflare_worker_secret_setA | 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_deleteA | Delete a secret from a Workers script by name. |
| cloudflare_worker_analyticsA | Query Workers invocation analytics (time-series). Returns per-script metrics including requests, errors, subrequests, and CPU time percentiles ordered by time. |
| cloudflare_worker_usageA | Query Workers usage summary (per-script aggregated). Returns scripts ranked by total request count, with error rates and CPU time percentiles. |
| cloudflare_web_analytics_listA | List all Web Analytics (RUM) sites for the account. Returns site IDs, hostnames, and creation dates. |
| cloudflare_web_analytics_createA | Create/enable a Web Analytics (RUM) site. Enables privacy-first, cookie-free analytics beacon auto-injection for the specified hostname. |
| cloudflare_web_analytics_getA | Get details of a specific Web Analytics (RUM) site by ID. |
| cloudflare_web_analytics_deleteA | Delete a Web Analytics (RUM) site and stop collecting analytics. |
| cloudflare_web_analytics_statsB | Query Web Analytics traffic stats for a zone. Returns page views, visits, and bandwidth grouped by time. |
| cloudflare_r2_bucket_listA | List all R2 buckets in the account. Supports filtering by name and pagination. |
| cloudflare_r2_bucket_createB | Create a new R2 storage bucket. Name must be 3-63 lowercase alphanumeric characters with hyphens. |
| cloudflare_r2_bucket_getB | Get details of an R2 bucket including creation date and location. |
| cloudflare_r2_bucket_deleteA | DESTRUCTIVE: Delete an R2 bucket. The bucket must be empty before deletion. |
| cloudflare_r2_object_listA | List objects in an R2 bucket. Supports prefix filtering, delimiter for directory-like listing, and pagination. |
| cloudflare_r2_object_getA | Get metadata of an object in an R2 bucket (size, etag, content type, last modified). Does not return object body. |
| cloudflare_r2_object_deleteC | Delete an object from an R2 bucket. |
| cloudflare_r2_bucket_domain_listA | List custom domains attached to an R2 bucket. Shows domain name, status, and zone info. |
| cloudflare_r2_bucket_domain_addA | 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_removeA | Remove a custom domain from an R2 bucket. This disables public access via that domain. |
| cloudflare_certificate_listA | List SSL/TLS certificate packs for a zone. Shows all certificates including Universal SSL, Advanced, and custom uploads. |
| cloudflare_certificate_getB | Get details of a specific SSL/TLS certificate pack including hosts, status, validity, and issuer. |
| cloudflare_ssl_setting_getA | Get the current SSL/TLS encryption mode for a zone (off, flexible, full, strict). |
| cloudflare_ssl_setting_setA | DESTRUCTIVE: Set the SSL/TLS encryption mode for a zone. Changes affect live traffic immediately. 'strict' is recommended for production. |
| cloudflare_ssl_verificationA | Get SSL/TLS verification status for a zone. Shows certificate validation progress, hostname coverage, and brand check status. |
| cloudflare_tls_setting_getA | Get the minimum TLS version setting for a zone (1.0, 1.1, 1.2, or 1.3). |
| cloudflare_tls_setting_setA | 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_listB | List all rate limiting rules for a zone with pagination. |
| cloudflare_rate_limit_getB | 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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