cloudflare-mcp
Provides tools for managing DNS records and Cloudflare Tunnels in a Cloudflare zone.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cloudflare-mcplist all DNS records"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cloudflare-mcp
A tiny TypeScript MCP server to manage a Cloudflare zone through the Cloudflare API: DNS records, cloudflared tunnels and Email Routing. Zone-agnostic: point it at any zone via env vars.
Requirements
Node.js 18+
A Cloudflare API token. Permissions by feature:
DNS tools →
Zone:DNS:Edit(+Zone:Readto resolve the zone by name)Tunnel tools →
Account:Cloudflare Tunnel:Edit(+Account:Account Settings:Readto auto-resolve the account id)Email Routing rules →
Zone:Email Routing Rules:Edit(:Readis enough for the read-only tools)Email Routing destinations →
Account:Email Routing Addresses:Edit
Related MCP server: Cloudflare MCP Server
Configuration
Variable | Description |
| Cloudflare API token (see permissions above) |
| The 32-char hex Zone ID or the zone name (e.g. |
| Optional. Account id for tunnel tools. Auto-resolved from the token if omitted (needs |
Copy .env.example to .env and fill it in. Never commit .env.
Scripts
npm install
npm run build # emit dist/
npm run dev # tsx src/index.ts (stdio)
npm start # node dist/index.jsTools
Tool | Description |
| List all DNS records in the zone (optional |
| Get a record by name (e.g. |
| Create a record (type, name, content, proxied, ttl) |
| Update content/proxy of an existing record by name |
| Delete a record by name |
| List cloudflared tunnels in the account |
| Create a remotely-managed tunnel (idempotent by name); returns its run token |
| Get the run token for an existing tunnel |
| Set a tunnel's public-hostname ingress (hostname → local service) |
| Delete a tunnel by name |
| Whether Email Routing is enabled on the zone |
| List routing rules — which |
| Forward an address on the zone to a verified destination |
| List the account's destination addresses and whether each is verified |
| Add a destination address (Cloudflare emails it a verification link) |
Stand up a tunnel end-to-end
tunnel_create name=my-dev → returns id + token
tunnel_configure name=my-dev hostname=dev.example.com service=http://localhost:8770
dns_create type=CNAME name=dev.example.com content=<id>.cfargotunnel.com
# then run it locally (no cert.pem needed):
# TUNNEL_TOKEN=<token> cloudflared tunnel runForward an address end-to-end
email_destination_add email=you@gmail.com → verification link sent (click it)
email_rule_create address=hello destination=you@gmail.com
email_rules_list → confirm hello@example.com → you@gmail.comA destination must be verified before a rule can forward to it, and the zone needs Email Routing enabled (the dashboard wizard adds the MX/SPF/DKIM records).
Example (via an MCP client)
dns_list → all records
dns_get name=app.example.com → inspect one record
dns_create type=CNAME name=dev.example.com content=<tunnel-id>.cfargotunnel.com
dns_update name=dev.example.com proxied=true
dns_delete name=old.example.comUse as an MCP server
Point your MCP client at the built or dev entrypoint over stdio, passing the two env vars. Example (generic MCP config):
{
"command": "npx",
"args": ["-y", "tsx", "/absolute/path/to/cloudflare-mcp/src/index.ts"],
"env": {
"CLOUDFLARE_API_TOKEN": "<your-token>",
"CLOUDFLARE_ZONE_ID": "example.com"
}
}License
MIT
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read devices, users, keys, ACLs and DNS for a tailnet; manage devices, routes and auth keys.
Manage Cronitor monitors and send telemetry pings — list, inspect, create, update, delete.
Tailscale device, route, DNS, key, user, and ACL management over MCP and CLI.
Manage hosts, redirects, SSL, and traffic analytics from Claude and other AI assistants.
Related MCP Servers
- AlicenseBqualityDmaintenanceExposes Cloudflare DNS, security, redirects and zone-settings functionality as structured tools that AI assistants like Claude Desktop can invoke directly.1848MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to manage Cloudflare resources through natural language, including DNS records, zone management, Workers KV storage, cache purging, and analytics. Supports comprehensive Cloudflare operations with secure API token authentication.132MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with the Cloudflare REST API for managing DNS records, zones, and other Cloudflare resources.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage Cloudflare DNS records, including listing zones and records, and creating, updating, or deleting DNS records.48MIT
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/tecnomanu/cloudflare-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server