No tool here takes a zone id, which puts a hard limit on what a mistaken call can reach — and means covering a second zone is a second instance rather than a second argument. Within that zone the surface is complete: create, read, update and delete, with the proxied flag and TTL on the write calls, so the orange cloud is a decision the agent makes rather than one someone has to finish in the dashboard.
A Cloudflare DNS client scoped to a single configured zone, with create, read, update and delete over its records — the everyday DNS work, done from the conversation rather than the dashboard.
- list_dns_records for the configured zone, filterable by name and type, and get_dns_record by its record id.
- create_dns_record taking a type, name, content, TTL, priority and the proxied flag.
- update_dns_record over the same fields by record id, and delete_dns_record.
- The record types you would expect a zone to need: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA and PTR.
A Cloudflare API token with rights to edit DNS — the Zone:Edit template, or a custom token with Zone:Read and Zone:Edit — and the zone ID from that domain's dashboard sidebar. Both go into the environment. Scoping the token to the one zone is worth doing, because nothing here takes a zone as an argument.
One command plus a key — npx -y @thelord/mcp-cloudflare, then supply credentials
