@kodim/mcp-cloudflare-dns
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLOUDFLARE_API_TOKEN | Yes | Your Cloudflare API token. Create one at Cloudflare Dashboard. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_zonesA | List all DNS zones in the Cloudflare account. Optionally filter by domain name or status. Returns zone IDs needed for other operations. |
| get_zoneA | Get full details for a specific DNS zone by its zone ID. Returns zone configuration including name servers, status, and account info. |
| list_dns_recordsA | List DNS records for a zone. Filter by record type, name, or content. Use this to find existing records before creating or updating them. |
| get_dns_recordA | Get full details of a specific DNS record by its record ID. |
| create_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. |
| update_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. |
| delete_dns_recordA | Permanently delete a DNS record. This action cannot be undone. Use list_dns_records first to confirm the record ID. |
| batch_dns_recordsA | Execute multiple DNS record operations (create, update, delete) in a single API call. Operations execute in order: deletes first, then patches, then posts. |
| export_dns_recordsA | Export all DNS records for a zone in BIND format. Useful for backups or migrating to another DNS provider. |
| import_dns_recordsA | Import DNS records from BIND-formatted zone file content. Creates new records from the provided content. |
| get_dns_analyticsA | Get DNS query analytics summary for a zone. Returns aggregate metrics like query count, response times, and cache performance over a time period. |
| get_dns_analytics_by_timeA | Get DNS analytics broken down by time intervals. Returns time-series data for DNS metrics. Useful for monitoring trends and identifying patterns. |
| get_dnssec_statusA | Get the DNSSEC configuration and status for a zone. Returns DS record details needed for registrar configuration. |
| update_dnssec_statusA | Enable or disable DNSSEC for a zone. When enabling, Cloudflare generates the required keys and provides the DS record for your registrar. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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.