MCP Cloudflare DNS Server
Provides tools for managing DNS records in Cloudflare zones, including listing, creating, updating, deleting, exporting, and importing DNS records.
Click on "Deploy 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., "@MCP Cloudflare DNS Server list DNS records for example.com"
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.
MCP Cloudflare DNS Server
A Model Context Protocol server implementation for Cloudflare DNS that enables AI agents to manage DNS records for your domains.
Fork of gilberth/mcp-cloudflare by TheLord. Original work is credited and this fork is distributed under the same MIT license.
Features
List DNS records - View all or filtered DNS records
Create DNS records - Add new A, AAAA, CNAME, MX, TXT, and other record types
Update DNS records - Modify existing records
Delete DNS records - Remove unwanted records
Full Cloudflare API support - Supports proxying, TTL, priority settings
Related MCP server: cloudflare-api-mcp
Setup
1. Get Cloudflare API Token
Go to Cloudflare API Tokens
Click "Create Token"
Use the "Edit zone DNS" template or create a custom token with:
Zone:Read (to use
list_zones)DNS:Edit (to create, update, and delete DNS records)
Copy your API token
2. Get Zone ID
Go to your domain in the Cloudflare Dashboard
Copy the Zone ID from the right sidebar
Usage
Environment Variables
Create a .env file:
CLOUDFLARE_API_TOKEN=your-api-token-here
CLOUDFLARE_ZONE_ID=your-zone-id-here # Optional: default zone when zone_id not specified per-tool
CLOUDFLARE_EMAIL=your-email@example.com # Optional, only for legacy API keysClaude Desktop Configuration
{
"mcpServers": {
"cloudflare": {
"command": "npx",
"args": ["-y", "@neverprepared/mcp-cloudflare-dns"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-api-token"
}
}
}
}Run locally
npx -y @neverprepared/mcp-cloudflare-dnsAvailable Tools
list_zones
List all Cloudflare zones (domains) on the account. Use this to discover zone IDs when working with a domain by name.
list_dns_records
List all DNS records for a zone, with optional filters for record name and type.
get_dns_record
Get detailed information about a specific DNS record by ID.
create_dns_record
Create a new DNS record with specified type, name, and content.
SRV and CAA records accept a structured data object instead of a content string.
update_dns_record
Update an existing DNS record by ID. All fields except recordId are optional.
delete_dns_record
Delete a DNS record by ID.
export_dns_zone
Export all DNS records for a zone as a JSON array. Useful for backups and bulk operations.
import_dns_zone
Bulk-import DNS records from a JSON array. Returns a success/failure summary with per-record partial failure handling.
Supported DNS Record Types
A (IPv4 address)
AAAA (IPv6 address)
CNAME (Canonical name)
MX (Mail exchange)
TXT (Text)
NS (Name server)
SRV (Service)
CAA (Certificate Authority Authorization)
PTR (Pointer)
Security
API tokens are never logged or exposed
DNS record content is treated as untrusted external data to guard against prompt injection
Record IDs are validated against Cloudflare's expected format before use
API error details are sanitized before being returned to the calling agent
Uses official Cloudflare API with secure authentication
Supports scoped API tokens for minimal permissions
License
MIT — see LICENSE.
Original work copyright TheLord (gilberth/mcp-cloudflare).
Available Tools
8 toolscreate_dns_recordA
Create a new DNS record. Call list_zones first to resolve a domain name to a zone_id if needed.
Inputs: name (required), type (required), content (required), ttl, +3 more.
delete_dns_recordB
Delete a DNS record
Inputs: recordId (required), zone_id.
export_dns_zoneA
Export all DNS records for a zone as a JSON array. Useful for backups and bulk operations. Call list_zones first to resolve a domain name to a zone_id if needed.
Inputs: zone_id.
get_dns_recordA
Get a specific DNS record by ID
Inputs: recordId (required), zone_id.
import_dns_zoneA
Import DNS records from a JSON array, creating each record in the zone. Returns a success/failure summary with partial failure handling.
Inputs: records (required), zone_id.
list_dns_recordsA
List all DNS records for a zone. Call list_zones first to resolve a domain name to a zone_id if needed.
Inputs: name, type, zone_id.
list_zonesA
List all Cloudflare zones (domains) on the account. Use this to discover zone IDs when the user refers to a domain by name.
Inputs: no named parameters.
update_dns_recordC
Update an existing DNS record
Inputs: recordId (required), ttl, name, type, +4 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes: list_zones handles domain discovery, the record CRUD tools map to specific operations, and import/export handle bulk workflows. The only mild overlap is between list_dns_records and export_dns_zone, both of which retrieve all records, but their descriptions clarify that one is for standard listing and the other for backup/bulk operations.
All tool names follow a consistent snake_case verb_noun pattern: list/gets/create/update/delete/export/import paired with clear resource names (zones, dns_record, dns_zone). No mixed conventions or vague verbs.
Eight tools is well-scoped for a DNS management server: one zone discovery tool, four record CRUD operations, one single-record lookup, and two bulk export/import tools. Each tool earns its place without redundancy or bloat.
The tool surface provides full CRUD coverage for DNS records (list, get, create, update, delete), zone discovery via list_zones, and bulk workflows via import/export with partial failure handling. The only absent operations are zone-level create/delete, which are reasonably out of scope for a DNS record-focused server.
Maintenance
Related MCP Connectors
Register, transfer and manage domain names and DNS from your AI agent.
29 DNS, SEO, SSL, security, WHOIS & mail tools for AI agents. Pay per call (x402) or card API key.
Manage hosts, redirects, SSL, and traffic analytics from Claude and other AI assistants.
Connect custom domains via AI agents: DNS pre-flight checks, hand-off connect sessions and checks.
Related MCP Servers
- 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
- AlicenseAqualityDmaintenanceEnables AI assistants to manage Cloudflare DNS zones and records, including listing, creating, updating, and deleting DNS records through natural language.6MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to manage Cloudflare DNS records, including listing zones and records, and creating, updating, or deleting DNS records.681 npmMIT