Cloudflare MCP Pro

Registre officiel Recherche et web

Cloudflare MCP: DNS, Zones, Workers, KV, R2, D1, Pages, WAF, SSL, Email, AI via REST API v4

Que pouvez-vous faire avec Cloudflare MCP Pro ?

  • DNS — list/create/update/delete records, DNSSEC, BIND zone-file export
  • Zones — list/get/create/delete, settings (SSL mode, HTTPS, min TLS…), cache purge, GraphQL analytics
  • Workers — deploy (ES module), routes, secrets, cron triggers, list/get/delete
  • KV / R2 / D1 — namespaces + key CRUD, bucket management, databases + SQL queries
  • Pages / Queues / Tunnels — list/get projects, queue management, tunnel inspection
  • Security — WAF rulesets, IP/ASN/country access rules, page rules, SSL certificate packs, custom hostnames (SaaS), Turnstile widgets
  • Email Routing — rules + destination addresses
  • Logpush — list/create jobs (zone or account scoped)

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package cloudflare-mcp-pro
Claude Code
claude mcp add cloudflare-mcp-pro -e 'CLOUDFLARE_API_TOKEN=<your cloudflare_api_token>' -e 'CLOUDFLARE_ACCOUNT_ID=<CLOUDFLARE_ACCOUNT_ID>' -e 'CLOUDFLARE_API_BASE=<CLOUDFLARE_API_BASE>' -- npx -y cloudflare-mcp-pro@1.1.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "cloudflare-mcp-pro": {
            "command": "npx",
            "args": [
                "-y",
                "cloudflare-mcp-pro@1.1.0"
            ],
            "env": {
                "CLOUDFLARE_API_TOKEN": "<your cloudflare_api_token>",
                "CLOUDFLARE_ACCOUNT_ID": "<CLOUDFLARE_ACCOUNT_ID>",
                "CLOUDFLARE_API_BASE": "<CLOUDFLARE_API_BASE>"
            }
        }
    }
}

Variables d'environnement

  • CLOUDFLARE_API_TOKEN obligatoire secret Cloudflare API token from dash.cloudflare.com/profile/api-tokens
  • CLOUDFLARE_ACCOUNT_ID Default account ID used when a tool needs an account and you don't pass account_id
  • CLOUDFLARE_API_BASE Override the API base URL (defaults to https://api.cloudflare.com/client/v4)

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Cloudflare MCP Pro ☁️
  2. Features
  3. Installation
  4. Configuration
  5. Testing
  6. Add to Claude Code
  7. Add to Claude Desktop
  8. Human-approval gate
  9. Tools (69)
  10. Author
  11. License

Cloudflare MCP Pro ☁️

MCP server for the Cloudflare REST API v4 — 69 tools across DNS, Zones, Workers, KV, R2, D1, Pages, Queues, Tunnels, SSL, WAF, Email Routing, Logpush and Workers AI in a single local stdio server authenticated by API token.

Unlike the official Cloudflare MCP offering (13 separate remote, OAuth-based servers), cloudflare-mcp-pro runs locally over stdio, authenticates with a single API token, and consolidates the most-used Cloudflare operations into one server with consistent verb_object tool names — ideal for Claude Code, CI, and scripted automation.

Features

  • DNS — list/create/update/delete records, DNSSEC, BIND zone-file export
  • Zones — list/get/create/delete, settings (SSL mode, HTTPS, min TLS…), cache purge, GraphQL analytics
  • Workers — deploy (ES module), routes, secrets, cron triggers, list/get/delete
  • KV / R2 / D1 — namespaces + key CRUD, bucket management, databases + SQL queries
  • Pages / Queues / Tunnels — list/get projects, queue management, tunnel inspection
  • Security — WAF rulesets, IP/ASN/country access rules, page rules, SSL certificate packs, custom hostnames (SaaS), Turnstile widgets
  • Email Routing — rules + destination addresses
  • Logpush — list/create jobs (zone or account scoped)
  • Workers AI — model catalog + inference (text generation, embeddings, classification)
  • Human-approval gate — every mutating tool requires confirm: true; without it the tool returns a non-executing preview (with secrets redacted) instead of acting (see below)
  • MCP annotations — every tool carries readOnly/destructive/idempotent hints so clients can gate dangerous actions
  • Auto-pagination — fetch_all: true on list tools follows every page
  • Single API-token auth, automatic retry + rate-limit (429/5xx) handling, and actionable error messages

Installation

npm install
npm run build

Or run directly once published:

npx -y cloudflare-mcp-pro

Configuration

Copy .env.example to .env and fill in:

VariableRequiredDescription
CLOUDFLARE_API_TOKEN✅API token from https://dash.cloudflare.com/profile/api-tokens
CLOUDFLARE_ACCOUNT_IDoptionalDefault account ID used when a tool doesn't receive account_id
CLOUDFLARE_API_BASEoptionalOverride the API base URL

Token scopes depend on what you use, e.g.: Zone:Read, DNS:Edit, Workers Scripts:Edit, Workers KV Storage:Edit, Workers R2 Storage:Edit, D1:Edit, Pages:Edit, Account Analytics:Read. Run the verify_token tool to confirm your token works.

Testing

Run the automated test suite (no network — fetch is mocked):

npm test

It covers the human-approval gate, secret redaction, the security validations (hex IDs, path-segment encoding, model-id allowlist, purge mutual-exclusion, analytics hour-alignment), the API client (query serialization, 429 retry, error mapping, pagination + clamp, GraphQL non-JSON guard) and the Zod→JSON-Schema converter.

Interactive testing with the MCP inspector:

npx @modelcontextprotocol/inspector dist/index.js

Add to Claude Code

In .claude/settings.json → mcpServers:

{
  "mcpServers": {
    "cloudflare-mcp-pro": {
      "command": "node",
      "args": ["projects/cloudflare-mcp-pro/dist/index.js"],
      "env": {
        "CLOUDFLARE_API_TOKEN": "your-token",
        "CLOUDFLARE_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Add to Claude Desktop

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "cloudflare-mcp-pro": {
      "command": "node",
      "args": ["/absolute/path/projects/cloudflare-mcp-pro/dist/index.js"],
      "env": {
        "CLOUDFLARE_API_TOKEN": "your-token",
        "CLOUDFLARE_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Human-approval gate

Every mutating tool (any create_*, update_*, delete_*, deploy_*, put_*, edit_*, purge_cache, query_d1, run_ai, …) is gated server-side. Read-only tools (list_*, get_*, verify_token, export_dns_records, analytics) are never gated.

  • Calling a mutating tool without confirm: true returns a confirmation_required preview describing the tool, the risk level, and the (secret-redacted) arguments — and does not execute.
  • Re-call the same tool with "confirm": true to actually perform it, after a human has approved.

This gate is enforced in the server regardless of the MCP client, and works alongside the MCP annotations (destructiveHint) that prompt the human in compatible clients like Claude Code. Secret values (e.g. Worker secret text) are redacted from previews and never appear in error messages.

// 1) preview (no confirm) → nothing happens
delete_zone { "zone_id": "..." }
// → { "status": "confirmation_required", "risk": "DESTRUCTIVE — ...", ... }

// 2) after human approval
delete_zone { "zone_id": "...", "confirm": true }   // actually deletes

Tools (69)

List tools accept fetch_all: true to follow pagination. Mutating tools accept confirm: true (see the gate above). Every tool advertises MCP annotations (readOnlyHint / destructiveHint / idempotentHint).

Account — verify_token, list_accounts

Zones & settings — list_zones, get_zone, create_zone, delete_zone, purge_cache, get_zone_analytics, get_zone_setting, update_zone_setting

DNS — list_dns_records, create_dns_record, update_dns_record, delete_dns_record, get_dnssec, edit_dnssec, export_dns_records

Workers — list_workers, get_worker, deploy_worker, delete_worker, list_worker_routes, create_worker_route, delete_worker_route, put_worker_secret, delete_worker_secret, update_worker_cron

KV — list_kv_namespaces, create_kv_namespace, kv_list_keys, kv_get, kv_put, kv_delete

R2 — list_r2_buckets, create_r2_bucket, delete_r2_bucket

D1 — list_d1_databases, create_d1_database, query_d1

Pages — list_pages_projects, get_pages_project

WAF & firewall — list_firewall_rulesets, get_ruleset, list_access_rules, create_access_rule, delete_access_rule

Page rules — list_page_rules, create_page_rule, delete_page_rule

SSL/TLS — list_certificate_packs, get_ssl_verification, order_certificate_pack

Custom hostnames (SaaS) — list_custom_hostnames, create_custom_hostname, delete_custom_hostname

Email Routing — list_email_rules, create_email_rule, list_email_destinations

Queues — list_queues, create_queue, delete_queue

Tunnels — list_tunnels, get_tunnel

Turnstile — list_turnstile_widgets, create_turnstile_widget

Workers AI — list_ai_models, run_ai

Logpush — list_logpush_jobs, create_logpush_job

Author

Helbert Paranhos / Strat Academy — stratacademy.com.br

License

MIT — see LICENSE.

Questions fréquentes

Qu'est-ce que Cloudflare MCP Pro ?

Cloudflare MCP: DNS, Zones, Workers, KV, R2, D1, Pages, WAF, SSL, Email, AI via REST API v4

Comment installer Cloudflare MCP Pro ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add cloudflare-mcp-pro -e 'CLOUDFLARE_API_TOKEN=<your cloudflare_api_token>' -e 'CLOUDFLARE_ACCOUNT_ID=<CLOUDFLARE_ACCOUNT_ID>' -e 'CLOUDFLARE_API_BASE=<CLOUDFLARE_API_BASE>' -- npx -y cloudflare-mcp-pro@1.1.0. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Cloudflare MCP Pro ?

Oui. Il attend CLOUDFLARE_API_TOKEN, à renseigner dans sa configuration.

Cloudflare MCP Pro est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient Cloudflare MCP Pro ?

Il est publié par helbertparanhos. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.