mcp-cloudflare
Slim Cloudflare MCP Server — 42 tools for managing DNS, zones, tunnels, WAF, Zero Trust, and security via Cloudflare API v4. Multi-zone support. No SSH, no shell, API-only with 3 runtime dependencies. AGPL-3.0 + Commercial dual-licensed.
README
mcp-cloudflare
Slim Cloudflare MCP Server for managing DNS, zones, tunnels, WAF, Zero Trust, and security via Cloudflare API v4.
No SSH. No shell execution. API-only. 3 runtime dependencies.
Table of Contents
- Features
- Quick Start
- Claude Code Integration
- Configuration
- Multi-Zone Support
- Tools
- Skills
- Development
- License
Features
60 tools across 10 domains:
- DNS — Record management (A, AAAA, CNAME, MX, TXT, SRV, CAA, NS), batch operations
- Zones — Zone listing, settings, SSL/TLS configuration, cache management
- Tunnels — Cloudflare Tunnel creation, configuration, and ingress management
- WAF — Ruleset management, custom firewall rules, rate limiting
- Zero Trust — Access application CRUD, policies, identity providers, Gateway status
- Security — Security event analytics, IP access rules, DDoS configuration
- Workers KV — Namespace management, key-value read/write/delete, key listing
- Workers — Script deployment, route management
- Worker Secrets — Secret management (names only, values never exposed)
- Worker Analytics — Invocation metrics, CPU time, error rates via GraphQL
Quick Start
npm install
cp .env.example .env # Edit with your Cloudflare API token
npm run build
node dist/index.js # stdio transport for MCP
Claude Code Integration
Add to .mcp.json in your project root:
{
"mcpServers": {
"cloudflare": {
"command": "node",
"args": ["/path/to/mcp-cloudflare/dist/index.js"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-api-token-here",
"CLOUDFLARE_ACCOUNT_ID": "your-account-id"
}
}
}
}
Configuration
| Variable | Required | Default | Description |
|---|---|---|---|
CLOUDFLARE_API_TOKEN |
Yes | — | Cloudflare API Token (with appropriate permissions) |
CLOUDFLARE_ACCOUNT_ID |
No | — | Cloudflare Account ID (required for account-level operations) |
CLOUDFLARE_TIMEOUT |
No | 30000 |
Request timeout in milliseconds |
API Token Permissions
Create an API Token at dash.cloudflare.com/profile/api-tokens with the following permissions based on what you need:
- DNS: Zone > DNS > Edit
- Zone settings: Zone > Zone Settings > Edit
- Tunnels: Account > Cloudflare Tunnel > Edit
- WAF: Zone > Firewall Services > Edit
- Zero Trust: Account > Access: Apps and Policies > Edit
- Security events: Zone > Analytics > Read
- Workers KV: Account > Workers KV Storage > Edit
- Workers: Account > Worker Scripts > Edit
Multi-Zone Support
All zone-scoped tools accept a zone_id parameter that can be either:
- A 32-character hex zone ID (e.g.,
00000000000000000000000000000001) — used directly - A zone name / domain (e.g.,
example.com) — resolved automatically via the Cloudflare API
This allows managing multiple zones by name without needing to look up IDs manually.
Tools
Tools documentation is coming in v1 as tool modules are implemented. See docs/api-reference.md for the planned API endpoint mapping.
Skills
Claude Code skills compose MCP tools into higher-level workflows. See .claude/skills/README.md for detailed documentation.
| Skill | Slash Command | Description |
|---|---|---|
| cloudflare-health | /cf-health |
Zone health dashboard — DNS, security, tunnels, WAF, DDoS status |
| cloudflare-live-test | /cf-test |
Live integration test — read + safe writes with cleanup |
| cloudflare-dns-management | — | DNS record management — add, list, update, delete across zones |
| cloudflare-incident-response | — | DDoS/attack emergency response — detect, assess, mitigate, monitor |
| cloudflare-security-audit | — | Security posture audit — WAF, events, IP access, DDoS analytics |
| cloudflare-tunnel-management | — | Tunnel management — create, configure ingress, monitor connections |
| cloudflare-waf-management | — | WAF management — custom rules, rulesets, IP access, Under Attack |
| cloudflare-zero-trust | — | Zero Trust — access apps, policies, identity providers, gateway |
| cloudflare-kv-manage | — | Workers KV — namespace and key-value CRUD operations |
| cloudflare-worker-deploy | — | Workers — script deployment, routes, secrets, analytics |
Development
npm run build # Compile TypeScript
npm test # Run unit tests (vitest)
npm run typecheck # Type check only (no emit)
See CONTRIBUTING.md for contribution guidelines.
License
This project is dual-licensed:
- Open Source: GNU Affero General Public License v3.0 (AGPL-3.0) — free for open-source and non-commercial use
- Commercial: Available for proprietary integrations — see COMMERCIAL_LICENSE.md
If you use mcp-cloudflare in a proprietary product or SaaS offering, a commercial license is required. Support development by sponsoring us on GitHub.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.