Cloudflare operations as Python library, LangChain tools, and MCP server
Server has 19 tools with consistent naming (verb_noun pattern) and complete input schemas. Descriptions are present but generic, most are 40-80 chars, below the 194-char baseline for A+ tools. Parameter descriptions are minimal (10-30 chars). No output schemas documented. Error handling is absent, tools return raw JSON without recovery guidance. Missing tool annotations (readOnlyHint, destructiveHint). Composition is sound (single responsibility per tool), but descriptions lack context for LLM selection and do not explain when to use each tool vs. similar ones.
List all accounts the API token has access to.
Purge all cached content for a zone.
Purge cached content by URL prefix (Enterprise only).
Purge cached content by Cache-Tag (Enterprise only).
Purge specific URLs from cache (max 30 per request).
Check Cloudflare API connection status and token validity.
Descriptions are too short (40-80 chars vs. 194-char baseline). Most lack context for LLM selection. E.g., 'Get detailed information about a specific zone' does not explain when to call zone_get vs. zone_settings vs. zone_list.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. E.g., does zone_list return zone_id, name, status? Does dns_list return record_id for use in dns_update?
No error handling or recovery guidance. Tools return raw JSON without telling LLMs what to do on failure. E.g., if dns_create fails due to duplicate record, should the LLM retry, call dns_list first, or ask the user?
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Create a new DNS record.
Delete a DNS record.
List DNS records for a zone.
Update an existing DNS record.
Get the configuration for a tunnel.
Create a new Cloudflare Tunnel.
Delete a Cloudflare Tunnel.
Get details of a specific tunnel.
List Cloudflare Tunnels for an account.
Update the configuration for a tunnel.
Get detailed information about a specific zone.
List all zones (domains) in the Cloudflare account.
Get all settings for a zone.
Missing tool annotations. Destructive tools (dns_delete, tunnel_delete, cache_purge_all) lack destructiveHint. Read-only tools lack readOnlyHint. This prevents agents from reasoning about side effects.
Parameter descriptions are minimal (10-30 chars). E.g., 'The zone ID' does not explain format, how to obtain it, or whether it's required. Should be 'The Cloudflare zone ID (UUID format, e.g. from zone_list)'.