Two usability bugs in the DNS Analytics MCP server (https://dns-analytics.mcp.cloudflare.com/mcp), found while using it against a live account. Both are low severity but each costs real debugging time because the failure mode points away from the actual cause.
1. zone parameter requires a zone ID, but is named zone and errors misleadingly on a name
show_zone_dns_settings and dns_report both declare a parameter named zone (type string). Passing an actual zone name produces:
404 {"result":null,"success":false,"errors":[{"code":7003,
"message":"Could not route to /client/v4/zones/example.com/dns_settings,
perhaps your object identifier is invalid?"}]}
Passing the zone ID works correctly and returns the expected payload.
Why this is confusing: the sibling tool zones_list accepts a name filter, so a name feels like the natural identifier for a parameter called zone. And the 7003 message — "perhaps your object identifier is invalid?" — reads as this zone does not exist rather than you passed the wrong kind of identifier. The natural next step is to go hunting for a missing zone that is in fact present and active.
Suggested fixes (any one):
- rename the parameter to
zoneId (matching zone_details, which already uses zoneId), and/or
- state "zone ID, not zone name" in the parameter description, and/or
- accept either and resolve a name → ID internally before the API call.
The inconsistency with zone_details — which correctly names its parameter zoneId — is what makes this a naming bug rather than just missing docs.
2. dns_report is unusable on sub-Business plans at any window
dns_report appears to always request the responseCached dimension, which requires the Business plan. On a Pro zone:
days: 7 → 403 {"code":1034,"message":"Maximum queryable time period
for the pro plan is 24h0m0s."}
days: 1 → 403 {"code":1034,"message":"Response Cached is not available
for your plan. Upgrade to the business plan to see
DNS analytics by responseCached."}
Shortening the window to satisfy the first error just reveals a second, unconditional paywall — so there is no value of days that succeeds below Business. The tool is effectively non-functional on Free/Pro rather than degraded.
Suggested fixes:
- omit
responseCached (or request it conditionally) so the tool returns the dimensions the plan does allow, and/or
- surface the plan requirement in the tool description so callers know it needs Business+ before spending calls on it, and/or
- clamp
days to the plan's maximum queryable window instead of passing it through to a 1034.
Environment
- Server:
https://dns-analytics.mcp.cloudflare.com/mcp (http transport)
- Client: Claude Code
- Zones tested: one Pro, one Free, same account
- Both tools otherwise behave correctly when given a zone ID on a sufficiently-privileged plan
Happy to supply request IDs privately if useful — omitting zone IDs here since this is a public tracker.
Two usability bugs in the DNS Analytics MCP server (
https://dns-analytics.mcp.cloudflare.com/mcp), found while using it against a live account. Both are low severity but each costs real debugging time because the failure mode points away from the actual cause.1.
zoneparameter requires a zone ID, but is namedzoneand errors misleadingly on a nameshow_zone_dns_settingsanddns_reportboth declare a parameter namedzone(typestring). Passing an actual zone name produces:Passing the zone ID works correctly and returns the expected payload.
Why this is confusing: the sibling tool
zones_listaccepts anamefilter, so a name feels like the natural identifier for a parameter calledzone. And the 7003 message — "perhaps your object identifier is invalid?" — reads as this zone does not exist rather than you passed the wrong kind of identifier. The natural next step is to go hunting for a missing zone that is in fact present and active.Suggested fixes (any one):
zoneId(matchingzone_details, which already useszoneId), and/orThe inconsistency with
zone_details— which correctly names its parameterzoneId— is what makes this a naming bug rather than just missing docs.2.
dns_reportis unusable on sub-Business plans at any windowdns_reportappears to always request theresponseCacheddimension, which requires the Business plan. On a Pro zone:Shortening the window to satisfy the first error just reveals a second, unconditional paywall — so there is no value of
daysthat succeeds below Business. The tool is effectively non-functional on Free/Pro rather than degraded.Suggested fixes:
responseCached(or request it conditionally) so the tool returns the dimensions the plan does allow, and/ordaysto the plan's maximum queryable window instead of passing it through to a 1034.Environment
https://dns-analytics.mcp.cloudflare.com/mcp(http transport)Happy to supply request IDs privately if useful — omitting zone IDs here since this is a public tracker.