Skip to content
Agentmart
Submit a tool

MCP Cloudflare

Secure MCP server for Cloudflare DNS, Transform Rules, and Page Rules

Connector by crunchtools · GitHub account verified by the MCP Registry

IndexedAGPL-3.0Local (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/crunchtools-cloudflare

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Secure MCP server for Cloudflare DNS, Transform Rules, and Page Rules

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.

Tools
17 read · 11 write · 6 delete
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Tools by what they do 34

Read from the source code; the running server may list different tools.

Read 17 · Look things up without changing anything.

  • get_access_app_tool
  • get_access_organization_tool
  • get_dns_record_tool
  • get_security_events_tool
  • get_top_pages_tool
  • get_traffic_by_country_tool
  • get_zone_analytics_tool
  • get_zone_tool
  • list_access_apps_tool
  • list_access_policies_tool
  • list_dns_records_tool
  • list_page_rules_tool
Show 5 more tools
  • list_request_header_rules_tool
  • list_response_header_rules_tool
  • list_url_rewrite_rules_tool
  • list_waf_rules_tool
  • list_zones_tool

Write 11 · Create, change, send or run things.

  • create_access_app_tool
  • create_access_policy_tool
  • create_dns_record_tool
  • create_page_rule_tool
  • create_waf_rule_tool
  • set_request_header_rules_tool
  • set_response_header_rules_tool
  • set_url_rewrite_rules_tool
  • update_dns_record_tool
  • update_page_rule_tool
  • update_waf_rule_tool

Delete 6 · Delete, drop, revoke or wipe things.

  • delete_access_app_tool
  • delete_access_policy_tool
  • delete_dns_record_tool
  • delete_page_rule_tool
  • delete_waf_rule_tool
  • purge_cache_tool

Network hosts it talks to 3

  • api.cloudflare.com · found in code
  • dash.cloudflare.com · found in code
  • github.com · found in code

Files it touches

  • Any path the agent passes to its tools

Tools (34)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • create_access_app_tool

    Put a hostname behind a Cloudflare Access login. A new application has no policy and admits no one until create_access_policy adds one. Args: zone_id: Zone ID (32-character hex string) name: Display name domain: Hostname to protect, optionally with a path. No scheme. session_duration: How long a login lasts, such as 24h or 720h (default: 24h) Returns: Created application details

  • create_access_policy_tool

    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}. Args: zone_id: Zone ID (32-character hex string) app_id: Application ID (UUID) name: Policy name decision: allow, deny, bypass (no login at all) or non_identity include: Rules of which a visitor must match at least one exclude: Rules of which a visitor must match none (optional) require: Rules of which a visitor must match all (optional) Returns: Created policy detai…

  • create_dns_record_tool

    Create a new DNS record. Args: zone_id: Zone ID (32-character hex string) type: Record type (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA) name: Record name (e.g., www, @, subdomain.example.com) content: Record content (IP address, target domain, etc.) ttl: TTL in seconds, 1 = auto (default: 1) proxied: Proxy through Cloudflare (default: false) priority: Priority for MX/SRV records comment: Optional comment Returns: Created DNS record details

  • create_page_rule_tool

    Create a new page rule. Args: zone_id: Zone ID (32-character hex string) targets: URL pattern targets actions: Page rule actions priority: Rule priority 1-1000 (default: 1) status: active or disabled (default: active) Returns: Created page rule details

  • create_waf_rule_tool

    Create a new WAF custom rule. Free plans support up to 5 custom rules. Provide either zone_id or zone_name, not both. Args: zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) expression: Cloudflare filter expression (e.g., '(http.request.uri.path contains "xmlrpc.php")') action: Action to take (managed_challenge, block, js_challenge, challenge, skip, log) description: Human-readable description of the rule enabled: Whether the rule is enabled (default: true) Returns: Created rule details

  • delete_access_app_tool

    Delete an Access application, leaving its hostname with no Access login. Args: zone_id: Zone ID (32-character hex string) app_id: Application ID (UUID) Returns: Deletion confirmation

  • delete_access_policy_tool

    Delete a policy from an Access application. Args: zone_id: Zone ID (32-character hex string) app_id: Application ID (UUID) policy_id: Policy ID (UUID) Returns: Deletion confirmation

  • delete_dns_record_tool

    Delete a DNS record. Args: zone_id: Zone ID (32-character hex string) record_id: DNS record ID (32-character hex string) Returns: Deletion confirmation

  • delete_page_rule_tool

    Delete a page rule. Args: zone_id: Zone ID (32-character hex string) rule_id: Page rule ID (32-character hex string) Returns: Deletion confirmation

  • delete_waf_rule_tool

    Delete a WAF custom rule. Provide either zone_id or zone_name, not both. Args: rule_id: Rule ID (32-character hex string) zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) Returns: Deletion confirmation

  • get_access_app_toolread-only

    Get one Access application, including its audience tag (aud). Args: zone_id: Zone ID (32-character hex string) app_id: Application ID (UUID) Returns: Access application details

  • get_access_organization_toolread-only

    Get the Zero Trust organization behind a zone's Access applications. Args: zone_id: Zone ID (32-character hex string) Returns: The organization and its team login domain, or enabled=False when Zero Trust has never been enabled on the account

  • get_dns_record_toolread-only

    Get a single DNS record by ID. Args: zone_id: Zone ID (32-character hex string) record_id: DNS record ID (32-character hex string) Returns: DNS record details

  • get_security_events_toolread-only

    Get security/firewall events grouped by action and source. Provide either zone_id or zone_name, not both. Args: zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) since: Start date ISO format (default: 30 days ago) until: End date ISO format (default: today) limit: Number of results (default: 20) Returns: Security events with action, country, source, and count

  • get_top_pages_toolread-only

    Get top pages by request count. Provide either zone_id or zone_name, not both. Args: zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) since: Start date ISO format (default: 30 days ago) until: End date ISO format (default: today) limit: Number of results (default: 15) Returns: Top pages with request counts and bandwidth

Show 19 more tools
  • get_traffic_by_country_toolread-only

    Get traffic breakdown by country. Provide either zone_id or zone_name, not both. Args: zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) since: Start date ISO format (default: 30 days ago) until: End date ISO format (default: today) limit: Number of countries (default: 20) Returns: Country breakdown with request counts and bandwidth

  • get_zone_analytics_toolread-only

    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. Args: zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) since: Start date ISO format (default: 30 days ago) until: End date ISO format (default: today) Returns: Analytics summary with requests, bandwidth, visitors, and status codes

  • get_zone_toolread-only

    Get Cloudflare zone details by ID or name. Provide either zone_id or zone_name, not both. Args: zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) Returns: Zone details

  • list_access_apps_toolread-only

    List the Access applications on a zone. Args: zone_id: Zone ID (32-character hex string) Returns: List of Access applications

  • list_access_policies_toolread-only

    List the policies on an Access application. Args: zone_id: Zone ID (32-character hex string) app_id: Application ID (UUID) Returns: List of policies in evaluation order

  • list_dns_records_toolread-only

    List DNS records for a Cloudflare zone. Args: zone_id: Zone ID (32-character hex string) type: Filter by record type (A, AAAA, CNAME, MX, TXT, etc.) name: Filter by record name content: Filter by record content page: Page number (default: 1) per_page: Results per page, max 100 (default: 100) Returns: List of DNS records with pagination info

  • list_page_rules_toolread-only

    List all page rules for a zone. Args: zone_id: Zone ID (32-character hex string) status: Filter by status (active, disabled) order: Sort order (status, priority) Returns: List of page rules

  • list_request_header_rules_toolread-only

    List request header modification rules. Args: zone_id: Zone ID (32-character hex string) Returns: Ruleset with request header modification rules

  • list_response_header_rules_toolread-only

    List response header modification rules. Args: zone_id: Zone ID (32-character hex string) Returns: Ruleset with response header modification rules

  • list_url_rewrite_rules_toolread-only

    List URL rewrite rules. Args: zone_id: Zone ID (32-character hex string) Returns: Ruleset with URL rewrite rules

  • list_waf_rules_toolread-only

    List all WAF custom rules for a zone. Provide either zone_id or zone_name, not both. Args: zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) Returns: List of WAF rules with their expressions, actions, and status

  • list_zones_toolread-only

    List all Cloudflare zones accessible by the API token. Args: name: Filter by zone name (domain) status: Filter by status (active, pending, initializing, moved, deleted) page: Page number for pagination (default: 1) per_page: Results per page, max 50 (default: 50) Returns: List of zones with pagination info

  • purge_cache_tool

    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. Args: zone_id: Zone ID (32-character hex string) purge_everything: Purge all cached content files: URLs to purge (max 30) tags: Cache tags to purge hosts: Hostnames to purge prefixes: URL prefixes to purge Returns: Purge operation result

  • set_request_header_rules_tool

    Set request header modification rules (replaces all existing rules). Each rule should have: - expression: Filter expression (e.g., "true" for all requests) - description: Human-readable description - action: "rewrite" - action_parameters: {"headers": {"Header-Name": {...}}} Args: zone_id: Zone ID (32-character hex string) rules: List of rule definitions Returns: Updated ruleset

  • set_response_header_rules_tool

    Set response header modification rules (replaces all existing rules). Each rule should have: - expression: Filter expression (e.g., "true" for all responses) - description: Human-readable description - action: "rewrite" - action_parameters: {"headers": {"Header-Name": {...}}} Args: zone_id: Zone ID (32-character hex string) rules: List of rule definitions Returns: Updated ruleset

  • set_url_rewrite_rules_tool

    Set URL rewrite rules (replaces all existing rules). Each rule should have: - expression: Filter expression - description: Human-readable description - action: "rewrite" - action_parameters: {"uri": {"path": {"value": "..."}, "query": {"value": "..."}}} Args: zone_id: Zone ID (32-character hex string) rules: List of rule definitions Returns: Updated ruleset

  • update_dns_record_tool

    Update an existing DNS record. Args: zone_id: Zone ID (32-character hex string) record_id: DNS record ID (32-character hex string) type: Record type (optional) name: Record name (optional) content: Record content (optional) ttl: TTL in seconds (optional) proxied: Proxy through Cloudflare (optional) priority: Priority (optional) comment: Comment (optional) Returns: Updated DNS record details

  • update_page_rule_tool

    Update an existing page rule. Args: zone_id: Zone ID (32-character hex string) rule_id: Page rule ID (32-character hex string) targets: URL patterns (optional) actions: Actions (optional) priority: Priority (optional) status: Status (optional) Returns: Updated page rule details

  • update_waf_rule_tool

    Update an existing WAF custom rule. Provide either zone_id or zone_name, not both. Args: rule_id: Rule ID (32-character hex string) zone_id: Zone ID (32-character hex string) zone_name: Zone name (domain like example.com) expression: New filter expression (optional) action: New action (optional) description: New description (optional) enabled: Enable or disable the rule (optional) Returns: Updated rule details

Compare and alternatives

    Featured in

    Signals

    Stars
    0
    Forks
    0
    Open issues
    0
    Weekly downloads
    144
    Last commit
    Oct 21, 2026 (7 days ago)
    Last release
    Oct 20, 2026 (8 days ago)
    Last package publish
    Oct 20, 2026 (8 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.crunchtools/cloudflare
    Version
    0.1.1
    Auth
    No auth
    License
    AGPL-3.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 25, 2026

    More from crunchtools

    Cite this page

    MCP Cloudflare. Agent Mart. https://agentmart.dev/connectors/crunchtools-cloudflare (last updated 2026-10-25)