The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the MCP Cloudflare DNS listing page.
Cloudflare DNS MCP server for operators who need zone, record, cache, and page-rule control from an MCP client without opening the Cloudflare dashboard for every change.
Release posture: beta package, version 0.1.1 from pyproject.toml.
| You are... | Start here | Then |
|---|---|---|
| Installing the server in Claude/Codex/Cursor | docs/start-here.md | Quick start below |
| Verifying what the server can touch | Available tools | docs/architecture.md |
| Auditing packaging or release metadata | pyproject.toml | server.json |
| Tool group | Tools | Purpose |
|---|---|---|
| Zone inventory | list_zones, get_zone, get_zone_settings | Inspect available zones and key settings |
| DNS records | list_dns_records, get_dns_record, create_dns_record, update_dns_record, delete_dns_record | Read and mutate records |
| Edge actions | purge_cache, list_page_rules | Invalidate cached content and inspect page rules |
delete_dns_record and full-cache actions stay gated behind the destructive env flags described in
docs/start-here.md.
| Claim | Proof |
|---|---|
| Package entry point is stable | mcp-cloudflare-dns = "cf.server:main" in pyproject.toml |
| Server is MCP-specific, not a generic CLI | FastMCP("mcp-cloudflare-dns") in cf/server.py |
| Cloudflare failures are retried | _call() in cf/server.py |
| Release artifacts are built | dist/ wheel and tarball are checked into the repo |
| Path | Purpose |
|---|---|
cf/server.py | FastMCP tool surface, env loading, retry wrapper |
pyproject.toml | Package metadata, version, script entry point |
server.json | Registry-facing metadata for MCP discovery |
docs/start-here.md | Setup, env, validation, common failures |
docs/architecture.md | Component map and request lifecycle |
| Check | Command |
|---|---|
| Import compiles | python -m compileall cf |
| Package builds | python -m build |
| README links stay local | rg '\\]\\(([^)]+\\.md)\\)' README.md docs/ |
MIT