@kodim/mcp-cloudflare-dns
Manages and analyzes Cloudflare DNS, including zones, records (create, update, delete, batch, export/import), analytics, and DNSSEC.
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., "@@kodim/mcp-cloudflare-dns list all 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.
@kodim/mcp-cloudflare-dns
MCP server for managing and analyzing Cloudflare DNS — zones, records, analytics, and DNSSEC.
Installation
Claude Code
Add to your Claude Code MCP settings (.claude/settings.local.json or global settings):
{
"mcpServers": {
"cloudflare-dns": {
"command": "npx",
"args": ["-y", "@kodim/mcp-cloudflare-dns"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-cloudflare-api-token"
}
}
}
}Cursor / Other MCP Clients
{
"mcpServers": {
"cloudflare-dns": {
"command": "npx",
"args": ["-y", "@kodim/mcp-cloudflare-dns"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-cloudflare-api-token"
}
}
}
}Related MCP server: @archawat/mcp-cloudflare
Cloudflare API Token
Create an API token at Cloudflare Dashboard.
Required permissions:
Zone — Read
DNS — Edit
Analytics — Read (for analytics tools)
You can use the "Edit zone DNS" template as a starting point and add Analytics read permission.
Tools
Zones
Tool | Description |
| List all DNS zones. Filter by name, status. |
| Get full details of a zone by ID. |
DNS Records
Tool | Description |
| List records with filters (type, name, content, proxied, search, tag). |
| Get details of a specific record. |
| Create a record (A, AAAA, CNAME, MX, TXT, SRV, etc.). |
| Partially update an existing record. |
| Permanently delete a record. |
Bulk Operations
Tool | Description |
| Create, update, and delete multiple records in one call. |
| Export all records in BIND format (for backups). |
| Import records from BIND format content. |
Analytics
Tool | Description |
| Summary metrics: query count, response times, cache stats. |
| Time-series analytics with configurable intervals. |
DNSSEC
Tool | Description |
| Get DNSSEC status and DS record details. |
| Enable or disable DNSSEC. |
Development
# Install dependencies
npm install --ignore-scripts
# Build
npm run build
# Watch mode
npm run watch
# Test with MCP Inspector
CLOUDFLARE_API_TOKEN=your-token npm run devLicense
MIT
Available Tools
14 toolsbatch_dns_recordsBatch DNS RecordsADestructive
Execute multiple DNS record operations (create, update, delete) in a single API call. Operations execute in order: deletes first, then patches, then posts.
Inputs: zone_id (required), posts, deletes, patches.
create_dns_recordCreate DNS RecordA
Create a new DNS record in a zone. Supports all record types (A, AAAA, CNAME, MX, TXT, SRV, etc.). For proxied records, TTL is automatically set by Cloudflare.
Inputs: name (required), type (required), content (required), zone_id (required), +6 more.
delete_dns_recordDelete DNS RecordADestructive
Permanently delete a DNS record. This action cannot be undone. Use list_dns_records first to confirm the record ID.
Inputs: zone_id (required), record_id (required).
export_dns_recordsExport DNS RecordsARead-only
Export all DNS records for a zone in BIND format. Useful for backups or migrating to another DNS provider.
Inputs: zone_id (required).
get_dns_analyticsGet DNS AnalyticsARead-only
Get DNS query analytics summary for a zone. Returns aggregate metrics like query count, response times, and cache performance over a time period.
Inputs: zone_id (required), sort, limit, since, +4 more.
get_dns_analytics_by_timeGet DNS Analytics by TimeARead-only
Get DNS analytics broken down by time intervals. Returns time-series data for DNS metrics. Useful for monitoring trends and identifying patterns.
Inputs: zone_id (required), sort, limit, since, +5 more.
get_dns_recordGet DNS RecordARead-only
Get full details of a specific DNS record by its record ID.
Inputs: zone_id (required), record_id (required).
get_dnssec_statusGet DNSSEC StatusARead-only
Get the DNSSEC configuration and status for a zone. Returns DS record details needed for registrar configuration.
Inputs: zone_id (required).
get_zoneGet Zone DetailsARead-only
Get full details for a specific DNS zone by its zone ID. Returns zone configuration including name servers, status, and account info.
Inputs: zone_id (required).
import_dns_recordsImport DNS RecordsA
Import DNS records from BIND-formatted zone file content. Creates new records from the provided content.
Inputs: zone_id (required), bind_content (required), proxied.
list_dns_recordsList DNS RecordsARead-only
List DNS records for a zone. Filter by record type, name, or content. Use this to find existing records before creating or updating them.
Inputs: zone_id (required), tag, name, page, +8 more.
list_zonesList ZonesARead-only
List all DNS zones in the Cloudflare account. Optionally filter by domain name or status. Returns zone IDs needed for other operations.
Inputs: name, page, status, per_page.
update_dns_recordUpdate DNS RecordA
Update an existing DNS record. Only provide the fields you want to change. Use list_dns_records first to find the record ID.
Inputs: zone_id (required), record_id (required), ttl, name, +5 more.
update_dnssec_statusUpdate DNSSEC StatusA
Enable or disable DNSSEC for a zone. When enabling, Cloudflare generates the required keys and provides the DS record for your registrar.
Inputs: status (required), zone_id (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Each tool has a clear, distinct purpose: zone lookups, DNS record CRUD, batch operations, import/export, analytics (summary vs. time-series), and DNSSEC management. No two tools overlap ambiguously.
All tool names follow a consistent verb_noun pattern in snake_case: get_, list_, create_, update_, delete_, batch_, export_, import_, and two get_dns_ analytics variants. Conventions are uniform and predictable.
14 tools is well within the ideal 3-15 range for a domain-specific MCP server. Each tool covers a meaningful aspect of Cloudflare DNS management without redundancy or bloat.
The tool surface covers core DNS operations comprehensively: zone listing/detail, full DNS record CRUD, batch edits, BIND import/export, analytics, and DNSSEC. Minor gaps include no create_zone or update_zone, but these are peripheral for a DNS-focused server.
Maintenance
Related MCP Connectors
MCP server for DNSimple — domains, DNS zone records, availability, pricing and contacts.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Cloudflare Workers MCP server: api-flow-analyzer
Cloudflare Workers MCP server: domain-intel
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA lightweight MCP server that enables agents to interface with Cloudflare's REST API, allowing management of DNS records and other Cloudflare services.10 npm15GPL 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server for managing Cloudflare DNS across multiple zones from a single API token, enabling bulk operations like toggling proxy, listing records, and batch updates.38 npmMIT
- AlicenseAqualityCmaintenanceCloudflare DNS MCP server. Manage zones, DNS records, cache, and page rules from Claude, Cursor, Codex, or any MCP-compatible AI assistant.10MIT
- FlicenseNot gradedqualityCmaintenanceRemote MCP server to manage Cloudflare domains, zones, and DNS records via OAuth authentication.-