mcp-cloudflare
mcp-cloudflare
轻量级 Cloudflare MCP 服务器,用于通过 Cloudflare API v4 管理 DNS、区域、隧道、WAF、Zero Trust 和安全性。
无 SSH。无 shell 执行。仅 API。仅 3 个运行时依赖。
目录
Related MCP server: mcp-opnsense
功能
涵盖 11 个领域的 75 个工具:
DNS — 记录管理(A、AAAA、CNAME、MX、TXT、SRV、CAA、NS),批量操作
区域 (Zones) — 区域列表、设置、SSL/TLS 配置、缓存管理
隧道 (Tunnels) — Cloudflare 隧道创建、配置和入口管理
WAF — 规则集管理、自定义防火墙规则、速率限制
Zero Trust — Access 应用程序 CRUD(创建/删除)、策略(创建/删除)、身份提供商(创建/删除)、Gateway 状态
安全性 — 安全事件分析、IP 访问规则、DDoS 配置、安全中心洞察
Workers KV — 命名空间管理、键值对读/写/删除、键列表
Workers — 脚本部署、路由管理
Worker 密钥 — 密钥管理(仅名称,从不暴露值)
Worker 分析 — 通过 GraphQL 获取调用指标、CPU 时间、错误率
R2 存储 — 存储桶管理、对象列表和元数据、自定义域名、位置提示
快速入门
npm install
cp .env.example .env # Edit with your Cloudflare API token
npm run build
node dist/index.js # stdio transport for MCPHashiCorp Vault 集成(可选)
mcp-cloudflare 支持在启动时通过 AppRole 身份验证从中心化的 HashiCorp Vault 实例加载 Cloudflare 凭据。这是可选的——服务器仅使用普通环境变量也能正常工作。
工作原理
启动时,如果设置了 NAS_VAULT_ADDR,服务器将执行 AppRole 登录,获取 <mount>/data/cloudflare/api 处的 KV v2 密钥,并在 MCP 传输启动之前将这些值注入到进程环境中。该加载器完全是机会性的:
如果未设置
NAS_VAULT_ADDR,加载器将静默跳过。不会进行任何 Vault 调用,服务器的行为与之前完全相同。若出现任何 Vault 错误(网络故障、凭据错误、密钥路径缺失),会将单行警告写入 stderr,服务器将回退到已设置的任何环境变量。
密钥值从不被记录。只有 KV 路径名称和已填充的计数会出现在 stderr 诊断信息中。
使用内置的
fetch(Node 20+) — 无需额外的运行时依赖。
凭据优先级
Explicit env vars (CLOUDFLARE_API_TOKEN etc.) > Vault > error (missing creds)如果您直接设置了 CLOUDFLARE_API_TOKEN,Vault 加载器将不会覆盖它。Vault 仅填充环境中尚未存在的凭据。
Vault 环境变量
变量 | 必需 | 描述 |
| 是* | Vault 服务器地址 (例如 |
| 是* | 此服务器的 AppRole 角色 ID |
| 是* | 此服务器的 AppRole 密钥 ID |
| 否 | KV v2 挂载路径 (默认: |
仅在使用 Vault 时必需。这三个变量必须同时设置。
KV v2 密钥结构
将 Cloudflare 凭据写入 Vault 中的以下路径:
Path: kv/cloudflare/api{
"api_token": "your-cloudflare-api-token",
"account_id": "your-account-id"
}键映射:
Vault 键 | 环境变量 |
|
|
|
|
Vault 设置步骤
1. 将凭据写入 KV v2:
vault kv put kv/cloudflare/api \
api_token="your-cloudflare-api-token" \
account_id="your-account-id"2. 创建 Vault 策略:
# cloudflare-mcp-policy.hcl
path "kv/data/cloudflare/api" {
capabilities = ["read"]
}vault policy write cloudflare-mcp cloudflare-mcp-policy.hcl3. 启用 AppRole 身份验证并创建角色:
vault auth enable approle
vault write auth/approle/role/cloudflare-mcp \
token_policies="cloudflare-mcp" \
token_ttl="1h" \
token_max_ttl="4h" \
secret_id_ttl="0" # 0 = no expiry; set a duration for rotation4. 获取角色 ID 和密钥 ID:
vault read auth/approle/role/cloudflare-mcp/role-id
vault write -f auth/approle/role/cloudflare-mcp/secret-idClaude Desktop / MCP 配置示例(使用 Vault)
使用 Vault 时,MCP 配置中不需要 Cloudflare 凭据——只需三个 Vault 变量:
{
"mcpServers": {
"cloudflare": {
"command": "npx",
"args": ["@itunified.io/mcp-cloudflare"],
"env": {
"NAS_VAULT_ADDR": "https://vault.example.com:8200",
"NAS_VAULT_ROLE_ID": "your-role-id",
"NAS_VAULT_SECRET_ID": "your-secret-id"
}
}
}
}如果您的 KV 引擎挂载在默认路径 kv,则可以省略 NAS_VAULT_KV_MOUNT。Cloudflare API 令牌和账户 ID 将在启动时自动获取。
Claude Code 集成
添加到项目根目录的 .mcp.json 中:
{
"mcpServers": {
"cloudflare": {
"command": "node",
"args": ["/path/to/mcp-cloudflare/dist/index.js"],
"env": {
"CLOUDFLARE_API_TOKEN": "your-api-token-here",
"CLOUDFLARE_ACCOUNT_ID": "your-account-id"
}
}
}
}配置
变量 | 必需 | 默认 | 描述 |
| 是 | — | Cloudflare API 令牌(具有适当权限) |
| 否 | — | Cloudflare 账户 ID(账户级操作必需) |
| 否 |
| 请求超时(毫秒) |
| 否 | — | HashiCorp Vault URL,启用 Vault AppRole 加载(见下文) |
| 否 | — | Vault AppRole role_id |
| 否 | — | Vault AppRole secret_id |
| 否 |
| Vault KV v2 挂载路径 |
从 HashiCorp Vault (AppRole) 加载密钥
如果您运行中心化的 Vault 实例,mcp-cloudflare 可以在启动时通过 AppRole 获取其凭据,而不是通过 MCP 配置传递它们:
export NAS_VAULT_ADDR=https://vault.example.com
export NAS_VAULT_ROLE_ID=<role-id>
export NAS_VAULT_SECRET_ID=<secret-id>
# optional — defaults to "kv"
export NAS_VAULT_KV_MOUNT=kv加载器读取 <mount>/data/cloudflare/api 处的 KV v2,并期望两个键:api_token 和 account_id。Vault 写入示例:
vault kv put kv/cloudflare/api \
api_token=your-api-token-here \
account_id=00000000000000000000000000000000优先级: process.env (显式) > Vault。如果未设置 NAS_VAULT_ADDR,加载器将静默跳过 — 服务器行为与之前完全相同。若出现任何 Vault 错误(网络、身份验证、路径缺失),会将单行警告写入 stderr,服务器将回退到已设置的任何环境变量。
安全性: 密钥值从不被记录。只有 KV 路径名称和已填充的计数会出现在 stderr 诊断信息中。使用全局 fetch (Node 20+) — 无需新的运行时依赖。
API 令牌权限
在 dash.cloudflare.com/profile/api-tokens 创建 API 令牌,并根据需要授予以下权限:
DNS: Zone > DNS > Edit
区域设置: Zone > Zone Settings > Edit
缓存清除: Zone > Cache Purge > Edit
隧道: Account > Cloudflare Tunnel > Edit
WAF: Zone > Firewall Services > Edit
Zero Trust: Account > Access: Apps and Policies > Edit
安全事件: Zone > Analytics > Read
Workers KV: Account > Workers KV Storage > Edit
Workers: Account > Worker Scripts > Edit
R2: Account > R2 Storage > Edit
多区域支持
所有区域范围的工具都接受一个 zone_id 参数,该参数可以是:
32 字符的十六进制区域 ID (例如
00000000000000000000000000000001) — 直接使用区域名称 / 域名 (例如
example.com) — 通过 Cloudflare API 自动解析
这允许按名称管理多个区域,而无需手动查找 ID。
工具
工具文档将在 v1 版本中随工具模块的实现而发布。请参阅 docs/api-reference.md 获取计划的 API 端点映射。
技能
Claude Code 技能将 MCP 工具组合成更高级的工作流。详细文档请参阅 .claude/skills/README.md。
技能 | 斜杠命令 | 描述 |
cloudflare-health |
| 区域健康仪表板 — DNS、安全、隧道、WAF、DDoS 状态 |
cloudflare-live-test |
| 实时集成测试 — 读取 + 安全写入并清理 |
cloudflare-dns-management | — | DNS 记录管理 — 跨区域添加、列出、更新、删除 |
cloudflare-incident-response | — | DDoS/攻击应急响应 — 检测、评估、缓解、监控 |
cloudflare-security-audit | — | 安全态势审计 — WAF、事件、IP 访问、DDoS 分析 |
cloudflare-tunnel-management | — | 隧道管理 — 创建、配置入口、监控连接 |
cloudflare-waf-management | — | WAF 管理 — 自定义规则、规则集、IP 访问、受攻击模式 |
cloudflare-zero-trust | — | Zero Trust — 访问应用、策略、身份提供商、网关 |
cloudflare-kv-manage | — | Workers KV — 命名空间和键值对 CRUD 操作 |
cloudflare-worker-deploy | — | Workers — 脚本部署、路由、密钥、分析 |
cloudflare-r2-manage | — | R2 存储 — 存储桶和对象管理、审计工作流 |
开发
npm run build # Compile TypeScript
npm test # Run unit tests (vitest)
npm run typecheck # Type check only (no emit)请参阅 CONTRIBUTING.md 获取贡献指南。
许可证
本项目采用双重许可:
开源:GNU Affero General Public License v3.0 (AGPL-3.0) — 免费用于开源和非商业用途
商业:可用于专有集成 — 请参阅 COMMERCIAL_LICENSE.md
如果您在专有产品或 SaaS 产品中使用 mcp-cloudflare,则需要商业许可证。通过 在 GitHub 上赞助我们 来支持开发。
Available Tools
95 toolscloudflare_account_infoA
Get Cloudflare account details (account name, ID, settings). No zone_id needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It accurately describes the read-only nature but doesn't disclose authentication or permission requirements. For a simple GET operation, this is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant information. It is front-loaded with the core purpose and additional context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and no output schema, the description provides sufficient information: what it returns (account name, ID, settings) and the absence of a zone_id requirement. It is complete for its simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the baseline is 4. The description goes beyond by explicitly stating that a commonly used parameter (zone_id) is not needed, which clarifies the scope and distinguishes from related tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'Cloudflare account details', listing specific items: account name, ID, settings. It distinguishes from sibling tools like cloudflare_zone_get by noting 'No zone_id needed'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for account-level information without a zone_id, contrasting with zone-specific tools. However, it doesn't explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_cache_purgeA
Purge cached files from Cloudflare's edge. Purge specific URLs (files), cache tags, URL prefixes, or everything. CAUTION: purge_everything causes a temporary origin load spike as the entire cache is rebuilt.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| files | No | Array of URLs to purge (e.g., ['https://example.com/styles.css']) | |
| tags | No | Array of cache tags to purge (Enterprise only) | |
| prefixes | No | Array of URL prefixes to purge (Enterprise only, e.g., ['example.com/assets/']) | |
| purge_everything | No | Set to true to purge ALL cached content for the zone. Use with caution. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description adds a key behavioral trait: purge_everything causes a temporary origin load spike. However, it omits other details like propagation delay, rate limits, or required permissions, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first lists purge modes, second provides a critical caution. No unnecessary words, front-loaded with the main action. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the core purge functionality and the key risk (load spike). Lacks information about output/return values, propagation time, or error states, but for a purge tool with good schema descriptions, it is mostly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. Description adds minimal extra meaning beyond listing purge modes and the caution for purge_everything. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'Purge' and resource 'cached files from Cloudflare's edge', listing four specific purge modes: URLs, tags, prefixes, or everything. This distinguishes it from sibling tools that focus on DNS, zones, WAF, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly warns about the origin load spike from purge_everything, but does not guide when to choose files vs tags vs prefixes. Since no sibling tools are for cache, it implicitly covers the main use case, but could be clearer on mode selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_certificate_getB
Get details of a specific SSL/TLS certificate pack including hosts, status, validity, and issuer.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| certificate_pack_id | Yes | Certificate pack ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of disclosing behavioral traits. The description only states it retrieves details, implying a read-only operation, but does not mention rate limits, authentication needs, error handling, or what happens if the certificate pack does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, clear sentence that front-loads the action and resource, then lists key details. No superfluous words or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description properly lists the return types (hosts, status, validity, issuer). This covers the essential information a user would need. However, it omits any mention of error conditions or format details, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description does not add extra meaning beyond the schema; it simply restates 'Zone ID' and 'Certificate pack ID' without clarifying formats or constraints. No added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves details of a specific SSL/TLS certificate pack, enumerating the attributes (hosts, status, validity, issuer). This distinguishes it from sibling tools like cloudflare_certificate_list (which lists packs) and other get tools (e.g., cloudflare_zone_get).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, nor any prerequisites or restrictions beyond the required parameters. The description implies a specific cert pack is needed but does not explain context like filtering or search capabilities of siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_certificate_listA
List SSL/TLS certificate packs for a zone. Shows all certificates including Universal SSL, Advanced, and custom uploads.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Filter by certificate status (optional) | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates it is a read operation listing certificates, but with no annotations, it fails to disclose potential side effects, rate limits, or pagination behavior. It adds some value by mentioning the types of certificates included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, no wasted words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description does not explain what fields or structure the returned certificates have. It says 'shows all certificates' but omits details on output format, pagination, or limits. For a list tool, this is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning: it clarifies zone_id can be a name or hex, and status is an optional filter. This aligns with the schema but does not provide additional detail beyond what is already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists SSL/TLS certificate packs for a zone, specifying the types (Universal SSL, Advanced, custom uploads). This distinguishes it from the sibling tool cloudflare_certificate_get, which likely retrieves a single certificate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. While the sibling name suggests cloudflare_certificate_get is for individual certificates, the description does not provide direct context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_ddos_analyticsB
Query DDoS attack analytics for a zone using Cloudflare GraphQL Analytics. Returns aggregated attack traffic data.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| since | No | ISO 8601 datetime to query from (default: 24 hours ago). E.g., '2026-03-12T00:00:00Z' | |
| limit | No | Maximum number of result groups to return (default: 100, max: 10000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It indicates a read-only query returning aggregated data, but lacks details about error handling, data freshness, pagination (though 'limit' parameter implies it), and what specific metrics are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no redundant words. The first sentence states the action and resource, the second clarifies the output. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should explain return values. 'Aggregated attack traffic data' is vague; could specify common fields (e.g., attack count, top vectors). Lacks examples or notes on parameter combinations. Adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add meaningful context beyond the schema; it only rephrases the ISO 8601 format for 'since' and does not explain how to obtain a zone_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Query' and the resource 'DDoS attack analytics for a zone', and mentions it uses GraphQL Analytics. It distinguishes from siblings like security_events by specifying DDoS, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives like cloudflare_security_events or rate_limit_status. The description only states what it does, not when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_createC
Create a new DNS record in a zone.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| type | Yes | Record type | |
| name | Yes | Record name (e.g., 'www', '@', 'mail.example.com') | |
| content | Yes | Record content (IP for A/AAAA, hostname for CNAME/MX, text for TXT) | |
| proxied | No | Whether to proxy traffic through Cloudflare (default: false) | |
| ttl | No | TTL in seconds — 1 = auto (Cloudflare-managed), 60–86400 otherwise | |
| priority | No | Priority (required for MX and SRV records, 0–65535) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for disclosing behavioral traits. It does not mention what happens if a record with the same name and type already exists (e.g., error or overwrite), nor does it discuss required permissions, rate limits, or idempotency. The description simply states 'create' with no further behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded with the key action and resource. However, it is so brief that it sacrifices completeness, but for pure conciseness it earns a 4.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, no output schema, and no annotations, the description is far from complete. It does not explain what the API returns (e.g., the created record object), error scenarios, or how to handle duplicates. A longer description with behavioral details and usage hints would be warranted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already provides meaningful descriptions for all 7 parameters. The tool description adds no additional semantics beyond what the schema provides. For example, it doesn't explain that 'priority' is required for MX/SRV records or that 'proxied' defaults to false. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new DNS record in a zone' clearly indicates the action (create) and the resource (DNS record in a zone). It distinguishes the tool from sibling tools like cloudflare_dns_delete, cloudflare_dns_get, and cloudflare_dns_update, which have different verbs. However, it could be slightly more specific about the types of records supported, but the schema provides that detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains no guidance on when to use this tool versus alternatives. For example, it does not state that this tool is for adding new records, while cloudflare_dns_update should be used to modify existing ones. There is no mention of prerequisites, permissions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_deleteB
Delete a DNS record from a zone.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| record_id | Yes | DNS record ID (32-char hex) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as idempotency, error handling (e.g., if record doesn't exist), required permissions, or side effects. It is purely a one-line statement with no behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that delivers the core purpose directly. No extraneous words; it is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal but sufficient for a simple delete operation given that the parameters are well-documented in the schema. However, it does not mention return values or behavior on success/failure, which would be helpful for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers both parameters with clear descriptions. The tool description adds no additional meaning beyond what the schema already provides. With 100% schema description coverage, the baseline is met.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete), resource (DNS record), and scope (from a zone). It effectively distinguishes this tool from siblings like cloudflare_dns_create, cloudflare_dns_get, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for use. It simply states what it does without contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_exportA
Export all DNS records for a zone in BIND zone file format. Returns raw text.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It mentions returning raw text in BIND format, which is helpful, but does not disclose potential size limits, rate limiting, or error handling behavior for invalid zone IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. Every word adds value: verb, resource, format, return type. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple export tool with one parameter and no output schema, the description covers the core functionality. It explains what the output is (BIND format raw text). However, it lacks details about the response structure or error conditions, which might be needed for a fully complete description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage with a clear description of zone_id (allowing ID or name). The description adds no additional context beyond 'all DNS records' and the output format, so it meets but does not exceed the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Export), the resource (all DNS records for a zone), the output format (BIND zone file format), and the return type (raw text). This distinguishes it from siblings like cloudflare_dns_list which returns JSON.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like cloudflare_dns_list or cloudflare_dns_get. The description implies usage for bulk export/backup, but does not mention scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_getA
Get a single DNS record by its record ID.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| record_id | Yes | DNS record ID (32-char hex) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It describes a simple read operation but does not disclose behavior like error handling, authentication requirements, or rate limits. For a basic get, this is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and to the point. No unnecessary words or information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple retrieval tool, but lacks details about return value structure (no output schema) and any conditions. Given the simplicity, it meets minimum viability but could provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with both parameters well documented. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get a single DNS record by its record ID.' It uses a specific verb and resource, and the name and description differentiate it from sibling tools like cloudflare_dns_list and cloudflare_dns_search.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like list or search. However, the name and purpose imply that it is for retrieving a specific record by ID, which is distinct from listing or searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_importA
Import DNS records from a BIND zone file. Sends the file content as multipart/form-data.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| file_content | Yes | BIND zone file content to import |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Mentions multipart/form-data encoding, but lacks details on side effects (overwrite/append), validation, or errors. No annotations to supplement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the core action. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple import tool, but lacks details on behavior (e.g., duplicate handling, response structure) which could help given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds context beyond schema: specifies file format (BIND) and encoding (multipart/form-data), which helps the agent prepare the request correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb (Import) and resource (DNS records) with specific input format (BIND zone file). Distinguishes from siblings like create (single) and export.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for bulk import from a BIND file, but no explicit when-to-use, when-not-to-use, or alternatives like cloudflare_dns_create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_listB
List DNS records for a zone. Optionally filter by type, name, content, or proxied status.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| type | No | Filter by record type | |
| name | No | Filter by record name (exact match) | |
| content | No | Filter by record content | |
| proxied | No | Filter by proxied status | |
| page | No | Page number (default: 1) | |
| per_page | No | Results per page, max 5000 (default: 100) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description fails to disclose behavioral traits such as pagination limits, rate limits, or the read-only nature of the operation, which is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the main purpose and includes key optional filters, making it concise and structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and filters but lacks information on pagination, behavior when no results, or differentiation from sibling tools like cloudflare_dns_search.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters; the description only reiterates that filters exist without adding new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List DNS records for a zone' with optional filters, which is specific and distinguishes it from sibling tools like cloudflare_dns_get, cloudflare_dns_search, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to list records with filters) but does not provide explicit guidance on when not to use or compare with similar tools like cloudflare_dns_search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_searchA
Search DNS records by name pattern. Returns all records whose name contains the given string.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| name | Yes | Name pattern to search for (partial match supported) | |
| type | No | Filter by record type (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses partial match behavior but omits details like case sensitivity, pagination, or that it's a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, no filler, and the core purpose is front-loaded. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple search tool with no output schema, the description is adequate but could mention that results are a list and any default limits or sorting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter is adequately described. The tool description adds no extra meaning beyond the schema, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'search', the resource 'DNS records', and the scope 'by name pattern', effectively distinguishing it from sibling tools like list or get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for pattern-based search but does not explicitly state when to use this tool versus alternatives like cloudflare_dns_list or cloudflare_dns_get, leaving guidance implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dnssec_disableA
DESTRUCTIVE: Disable DNSSEC for a zone. Also remove the DS record at your domain registrar to avoid DNS resolution failures.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly marks the tool as destructive and warns about DNS resolution failures if the DS record is not removed. This is strong behavioral disclosure, though it could mention permission requirements or reversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states the action and its destructive nature, second adds a critical user requirement. No unnecessary words. Perfectly concise and structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description adequately explains what it does and a key consequence. It could mention if the operation is reversible or provide next steps, but for a destructive action, the warning is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single required parameter zone_id. The description repeats the schema's description but adds no new semantic information beyond what's already visible in the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool disables DNSSEC for a zone and warns about a required post-action. It distinguishes itself from sibling tools like dnssec_enable and dnssec_status by explicitly using 'disable' and marking it as destructive.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (when disabling DNSSEC) but does not explicitly state when not to use or suggest checking status first via sibling tools. It could improve by advising to verify current DNSSEC state with dnssec_status before disabling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dnssec_enableA
DESTRUCTIVE: Enable DNSSEC for a zone. After enabling, you must add the DS record at your domain registrar for DNSSEC to become fully active.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Highlights destructive nature and critical follow-up step (adding DS record), which is good given no annotations. However, lacks details on prerequisites, reversibility, or what happens if the DS record is not added. With no annotations, the description carries the full burden but does not fully disclose behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and well-structured. Uses a single bolded warning label 'DESTRUCTIVE:' at the start, followed by the action and a critical note. No fluff; every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive action with no output schema and one parameter, the description covers the core but omits important contextual details like permissions, timing, or dependencies. Users/agents might benefit from knowing if any preconditions exist or what the default state is.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the zone_id parameter well (Zone ID or zone name). The tool description adds no additional semantics beyond the schema, so with 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Enable DNSSEC for a zone', with a specific verb and resource. Distinguishes itself from sibling tools like cloudflare_dnssec_disable and cloudflare_dnssec_status by focusing on enabling and mentioning the DS record requirement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides context on when to use by saying 'DESTRUCTIVE' and describing the post-enable action, but does not explicitly state alternatives or conditions compared to other DNS tools. Implicit from the name and sibling list, but could be more direct.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dnssec_statusA
Get the DNSSEC status for a zone.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation but does not disclose any specific behavioral traits like permissions or side effects. For a simple get, this may suffice but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence with zero waste. It's appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose but lacks details about return values, especially since there is no output schema. For a status check, it could be more informative about what the status includes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a good description of the parameter. The description adds little beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (DNSSEC status for a zone). It distinguishes from sibling tools like enable/disable by indicating a read operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., enable/disable). The description is minimal and does not provide context or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_dns_updateA
Update an existing DNS record (full replacement via PUT).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| record_id | Yes | DNS record ID (32-char hex) | |
| type | Yes | Record type | |
| name | Yes | Record name | |
| content | Yes | Record content | |
| proxied | No | Whether to proxy through Cloudflare | |
| ttl | No | TTL in seconds — 1 = auto, 60–86400 otherwise | |
| priority | No | Priority for MX/SRV records (0–65535) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions 'full replacement via PUT' but lacks details on what happens to optional fields (e.g., reset to defaults), permissions, side effects, or response format. No annotations exist to supplement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, zero wasted words, directly conveys the core action and HTTP method.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 8 parameters with no output schema. The description does not mention return values, behavior when optional fields are omitted, or prerequisite conditions. More detail is warranted for a full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 8 parameters. The description adds value by clarifying that this is a full replacement, implying all fields (especially optional ones) should be considered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('update'), resource ('DNS record'), and method ('full replacement via PUT'), effectively distinguishing it from sibling tools like create or delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While it doesn't explicitly state when to use vs alternatives, the verb 'update' and phrase 'full replacement' imply modification of existing records, which is adequate given the distinct sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_ip_access_createB
Create an IP access rule for a zone. Targets can be a specific IP, CIDR range, ASN, or country code.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Action mode for the rule | |
| notes | No | Optional notes describing why the rule was created | |
| value | Yes | Value to match: IP address (192.0.2.1), CIDR (192.0.2.0/24), ASN number (AS12345), or 2-letter country code (US) | |
| target | Yes | Type of target to match | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states the action and target types, but lacks details on idempotency, response, rate limits, or other side effects beyond creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded and free of unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description does not explain the result of creation (e.g., success response) or any prerequisites, leaving the agent with incomplete context for a write operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds minimal extra meaning beyond the schema (only summarizing target types), which the schema already details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'an IP access rule for a zone', and lists the target types (IP, CIDR, ASN, country). It distinguishes from sibling tools like delete and list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating IP access rules but provides no explicit guidance on when to use vs alternatives (e.g., list before creating) or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_ip_access_deleteB
Delete an IP access rule from a zone by its rule ID.
| Name | Required | Description | Default |
|---|---|---|---|
| rule_id | Yes | Rule ID to delete | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must convey behavioral traits. It only states the operation but does not disclose consequences (e.g., irreversibility), error handling, rate limits, or required permissions. For a deletion tool, this is insufficient for an agent to understand side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no extraneous words. Every part earns its place, efficiently conveying the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (2 required params, no output schema), the description lacks completeness for an agent. It omits usage guidance and behavioral details, which are critical for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds no additional parameter meaning beyond what the schema already provides; it simply restates the rule_id purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete) and the resource (IP access rule from a zone), specifying the method (by its rule ID). It effectively distinguishes the tool from siblings like cloudflare_ip_access_create and cloudflare_ip_access_list through the unique verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, such as whether prerequisites exist (e.g., rule must exist) or how it relates to other IP access tools. No usage context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_ip_access_listA
List IP access rules (firewall rules) for a zone. Filter by mode (block, challenge, whitelist, js_challenge).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Filter by rule mode | |
| page | No | Page number (default: 1) | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| per_page | No | Results per page, max 1000 (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states 'List' implying a read operation, but does not confirm safety, idempotency, or required permissions. The description lacks details on rate limits, side effects, or return value structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that covers the essential purpose and filter option. It is concise without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should explain the return value (e.g., 'Returns a list of rules'). It also does not address pagination details implied by page and per_page parameters. The description is too brief for a list tool with four parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds value by noting the 'mode' filter with allowed values, which aligns with the schema enum. No additional semantics beyond schema are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'List' and the resource 'IP access rules (firewall rules) for a zone.' It also distinguishes from sibling tools like cloudflare_ip_access_create and cloudflare_ip_access_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for listing rules and offers filtering by mode, but does not explicitly state when not to use this tool or mention alternatives like create/delete. The sibling tool names and description provide enough context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_kv_deleteB
Delete a key from a Workers KV namespace.
| Name | Required | Description | Default |
|---|---|---|---|
| key_name | Yes | Key name to delete (max 512 characters) | |
| namespace_id | Yes | KV namespace ID (32-character hex string) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the basic action. It does not disclose behavioral traits such as idempotency, error cases, permission requirements, or side effects. The description carries the full burden and is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action verb. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with only two required parameters and no output schema. However, the description lacks details on return value, error conditions, and permanence of deletion, making it barely adequate for complete context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. For example, it doesn't state that the deletion is permanent or that key_name is case-sensitive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states exactly what the tool does: 'Delete a key from a Workers KV namespace.' It uses a specific verb and resource, clearly distinguishing it from sibling tools like cloudflare_kv_read, cloudflare_kv_write, and cloudflare_kv_list_keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention prerequisites (e.g., the namespace must exist), whether deletion is idempotent, or error handling for non-existent keys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_kv_list_keysA
List keys stored in a Workers KV namespace. Supports prefix filtering and cursor-based pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of keys to return (1-1000, default: 1000) | |
| cursor | No | Pagination cursor from a previous request | |
| prefix | No | Filter keys by prefix | |
| namespace_id | Yes | KV namespace ID (32-character hex string) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It notes read-like features (list, filter) but does not explicitly state it is a read-only, non-destructive operation. Some inference is possible but not fully explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two clear sentences. The first sentence immediately states the core purpose, and the second adds supporting details without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, full schema coverage, and no output schema, the description adequately describes what the tool does but does not mention return structure or behavior on empty results. It is sufficient but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds little beyond the schema; it merely restates 'prefix filtering and cursor-based pagination' which are already detailed in parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List keys') and the resource ('Workers KV namespace'). It also mentions supported features (prefix filtering, cursor-based pagination) which further clarifies the tool's capability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives (e.g., cloudflare_kv_read for reading a single key). No context on appropriate use cases or exclusions is offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_kv_namespace_createB
Create a new Workers KV namespace in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Title for the new KV namespace |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full burden. It only states 'Create' but fails to disclose any behavioral traits such as idempotency, error conditions (e.g., duplicate title), or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is well-structured and front-loads the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, the description lacks return value details (e.g., namespace ID) and prerequisite context (e.g., account specification). It is incomplete for a creation tool, especially without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'title' already described. The tool description adds no extra meaning beyond what the schema provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create'), the resource ('Workers KV namespace'), and the scope ('in the account'). It distinguishes this tool from sibling tools like cloudflare_kv_namespace_list or cloudflare_kv_namespace_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions. The description does not help the agent decide contextually among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_kv_namespace_deleteA
DESTRUCTIVE: Delete a Workers KV namespace by its ID. This removes all keys in the namespace.
| Name | Required | Description | Default |
|---|---|---|---|
| namespace_id | Yes | KV namespace ID (32-character hex string) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a 'DESTRUCTIVE' warning and notes that it removes all keys in the namespace, which is useful. However, it does not cover reversibility, required permissions, or potential side effects on KV bindings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with front-loaded warning; every sentence adds value. Could be slightly more compact but efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-required-parameter delete operation, the description covers the action and consequence. Lack of output schema or error info is acceptable for simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (namespace_id described as 'KV namespace ID (32-character hex string)'). The tool description adds no additional parameter meaning beyond the schema, meeting the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a Workers KV namespace by its ID' with a specific verb and resource, and contrasts with sibling tools like cloudflare_kv_delete which deletes individual keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like cloudflare_kv_delete or cloudflare_kv_namespace_create. The 'DESTRUCTIVE' warning implies caution but does not provide explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_kv_namespace_listB
List all Workers KV namespaces in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| per_page | No | Results per page (1-100, default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fails to disclose pagination behavior, rate limits, authentication needs, or whether the list is complete across pages. 'List all' is ambiguous given pagination parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is efficient and front-loaded, but could include brief additional context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on pagination defaults, result format, or ordering. For a paginated list tool with no output schema, additional context is needed for complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for page and per_page, so the description adds no additional meaning beyond what the schema provides. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'Workers KV namespaces' with scope 'in the account', distinguishing it from sibling tools like cloudflare_kv_create, cloudflare_kv_delete, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives (e.g., cloudflare_kv_list_keys for listing keys within a namespace), or any prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_kv_readA
Read the value of a key from a Workers KV namespace. Returns the raw string value.
| Name | Required | Description | Default |
|---|---|---|---|
| key_name | Yes | Key name to read (max 512 characters) | |
| namespace_id | Yes | KV namespace ID (32-character hex string) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should fully disclose behavior. It says returns raw string value but omits idempotency, null handling, and permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with two sentences, no redundancy, and front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple read operation; missing details on key-not-found behavior and idempotency, but the return type is specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no additional meaning beyond the schema's own descriptions for the two parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Read... from a Workers KV namespace' with a specific verb and resource, and distinguishes it from siblings like kv_write and kv_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives, but the purpose is clear from the tool name and context; could mention that kv_list_keys is for listing keys.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_kv_writeA
Write a value to a key in a Workers KV namespace. Optionally set a TTL for automatic expiration.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Value to store | |
| key_name | Yes | Key name to write (max 512 characters) | |
| namespace_id | Yes | KV namespace ID (32-character hex string) | |
| expiration_ttl | No | Time-to-live in seconds (minimum 60). Key is automatically deleted after this period. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions the write operation and optional TTL, but fails to indicate important traits such as overwrite behavior, size limits (value max 25 MB), or that the namespace must exist. This lack of detail is a significant gap for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately conveys the core purpose. Every word is essential, with no wasted or redundant content. It is perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple write tool with no output schema and no annotations, the description covers the basic action but lacks important context: it doesn't mention the return value (e.g., a success indicator), prerequisites (e.g., namespace must exist), or constraints (e.g., maximum value size). It is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds only 'optionally set a TTL for automatic expiration,' which is redundant with the schema description for 'expiration_ttl'. It does not provide additional meaning or usage context beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Write'), resource ('key in Workers KV namespace'), and optional TTL. It distinguishes itself from sibling tools like 'cloudflare_kv_read', 'cloudflare_kv_delete', and 'cloudflare_kv_list_keys'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (writing a value) but provides no explicit guidance on when not to use or alternatives. For instance, it doesn't mention that if the key exists it will be overwritten, nor suggests using 'cloudflare_kv_read' for reading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_bucket_createB
Create a new R2 storage bucket. Name must be 3-63 lowercase alphanumeric characters with hyphens.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Bucket name (3-63 chars, lowercase alphanumeric and hyphens) | |
| location_hint | No | Location hint for bucket placement (apac=Asia Pacific, eeur=Eastern Europe, enam=Eastern North America, weur=Western Europe, wnam=Western North America) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only states the action and naming constraints, omitting details like idempotency, errors on duplicate names, or limits on bucket creation, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose, the second adds a key constraint. It is front-loaded and concise, with no superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with two parameters and no output schema, the description lacks important context such as success/error behavior, idempotency, or the effect of the optional location_hint. It is insufficient for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with descriptions for both parameters. The description repeats the naming rule already in the schema and adds no new meaning for location_hint, so it adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new R2 storage bucket,' specifying the verb (create) and resource (R2 bucket). It also provides naming constraints, distinguishing it from sibling tools like bucket_delete or bucket_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating buckets but lacks explicit guidance on when to use versus alternatives (e.g., bucket_get or bucket_list). It provides naming rules but no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_bucket_deleteA
DESTRUCTIVE: Delete an R2 bucket. The bucket must be empty before deletion.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket_name | Yes | Name of the R2 bucket to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description explicitly labels tool as 'DESTRUCTIVE' and adds precondition. Clearly communicates the action's nature and requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: single sentence. Front-loaded with 'DESTRUCTIVE:' for immediate clarity. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with one required parameter and no output schema, the description covers all essential aspects: action, resource, precondition, and destructiveness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter with 100% schema description coverage. The description adds no extra semantics beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states verb 'delete' and resource 'R2 bucket'. Differentiates from siblings like create, get, list. Includes necessary precondition (bucket must be empty).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly indicates when to use (when deletion is intended) and provides a key precondition. Could be more explicit about alternatives, but the 'must be empty' condition is a useful guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_bucket_domain_addA
Attach a custom domain to an R2 bucket, enabling public access via that domain. The domain must belong to a zone in the same account. Cloudflare automatically creates a CNAME record.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Custom domain to attach (e.g., assets.example.com) | |
| enabled | No | Whether the custom domain is enabled (default: true) | |
| zone_id | Yes | Zone ID or zone name that owns the domain (e.g., example.com or 32-char hex ID) | |
| bucket_name | Yes | Name of the R2 bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that Cloudflare automatically creates a CNAME record and enables public access. However, it does not mention potential side effects (e.g., whether existing records are overwritten), failure modes (e.g., domain already attached), or reversibility. This is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences front-loaded with the primary action and outcome. Every word is necessary. No repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description explains the outcome (public access, CNAME creation) and a key prerequisite (zone/account). It does not cover error scenarios or detailed return values, but for a relatively straightforward mutation tool, this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter descriptions. The tool description adds context (domain must belong to a zone in same account) but does not deepen understanding of individual parameter semantics beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'attach a custom domain', the resource 'R2 bucket', and the outcome 'enabling public access via that domain'. It distinguishes from sibling tools like cloudflare_r2_bucket_domain_list and cloudflare_r2_bucket_domain_remove by specifying the action of adding a domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a prerequisite: 'The domain must belong to a zone in the same account', which guides when the tool can be used. However, it does not explicitly state when not to use it or compare to alternatives like domain list/remove. The implicit guidance is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_bucket_domain_listA
List custom domains attached to an R2 bucket. Shows domain name, status, and zone info.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket_name | Yes | Name of the R2 bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It describes the tool as a list operation (read-only) without mentioning side effects, authentication needs, or rate limits. It provides basic insight into the output but lacks details on error handling or behavior when the bucket does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary action, and contains no superfluous words. It efficiently conveys the tool's purpose and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter, no output schema), the description is largely sufficient. It covers what the tool does and what information is returned. However, it does not mention error conditions or permissions, which would enhance completeness for a read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with the sole parameter 'bucket_name' described as 'Name of the R2 bucket'. The description adds no additional semantic meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List custom domains attached to an R2 bucket') and specifies the resource ('custom domains') and returned fields ('domain name, status, and zone info'). This distinguishes it from sibling tools like cloudflare_r2_bucket_domain_add and cloudflare_r2_bucket_domain_remove.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. While the name and sibling tools imply its purpose, no guidance on prerequisites, context, or when not to use it is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_bucket_domain_removeA
Remove a custom domain from an R2 bucket. This disables public access via that domain.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Custom domain to remove | |
| bucket_name | Yes | Name of the R2 bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the removal and disabling of public access but omits side effects like domain availability, permissions needed, reversibility, or error conditions. The lack of transparency is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with the action and consequence front-loaded. No redundant words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple removal tool with 2 parameters and no output schema, the description covers core behavior. Minor gaps: does not mention that the domain must be currently configured or that the operation might fail if not found. Overall, reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It provides no format or constraints for domain or bucket_name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Remove' and the resource 'custom domain from an R2 bucket', and specifies the consequence of disabling public access. This effectively distinguishes it from siblings like 'add' and 'list'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when removing a domain but does not explicitly state when to use it, when not to, or provide alternatives. No prerequisites or exclusions are mentioned, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_bucket_getB
Get details of an R2 bucket including creation date and location.
| Name | Required | Description | Default |
|---|---|---|---|
| bucket_name | Yes | Name of the R2 bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description should disclose behavioral traits such as idempotency, side effects, or authentication requirements. It only states what the tool does, not its safety profile or limitations. The read-only nature is implied but not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant words. It efficiently conveys the tool's purpose, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with no output schema, the description is adequate but not thorough. It specifies the key information returned (creation date, location) but does not mention error states, response format, or that the bucket must exist.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the sole parameter 'bucket_name' is described). The description does not add any additional meaning or usage details beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get details') and the resource ('R2 bucket'), and specifies the type of details (creation date and location). This distinguishes it from sibling tools like cloudflare_r2_bucket_list (list all buckets) and cloudflare_r2_bucket_delete. However, it could be more specific about the full set of returned fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., cloudflare_r2_bucket_list). There is no mention of prerequisites, error conditions, or context where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_bucket_listA
List all R2 buckets in the account. Supports filtering by name and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | Sort field | |
| cursor | No | Pagination cursor from a previous request | |
| per_page | No | Results per page (1-1000, default: 1000) | |
| direction | No | Sort direction (default: asc) | |
| name_contains | No | Filter buckets whose name contains this string |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions filtering and pagination but does not disclose read-only nature, permissions, rate limits, or other side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences with no waste. Front-loaded with the core action and supported features.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description could clarify return format. Adequate for a simple list tool but lacks detail on expected output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little beyond summarizing filtering and pagination. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all R2 buckets, with filtering and pagination. It distinguishes from sibling tools like get or create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use vs alternatives, though the purpose is implied. Lacks when-not-to-use or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_object_deleteC
Delete an object from an R2 bucket.
| Name | Required | Description | Default |
|---|---|---|---|
| object_key | Yes | Key (path) of the object to delete | |
| bucket_name | Yes | Name of the R2 bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fails to disclose behavioral traits such as irreversibility, permissions required, or response status codes. It only states the obvious action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise but lacks necessary details. It is not verbose, but it under-specifies important context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete operation with no output schema and well-described parameters, the description is minimally adequate. However, it could benefit from mentioning permanence and error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no extra meaning beyond the schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (delete) and the resource (object from an R2 bucket). However, it does not differentiate from sibling tools like cloudflare_r2_object_get or cloudflare_r2_object_list, though the name itself provides distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, nor any prerequisites (e.g., bucket must exist, object must exist). No mention of error handling or idempotency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_object_getA
Get metadata of an object in an R2 bucket (size, etag, content type, last modified). Does not return object body.
| Name | Required | Description | Default |
|---|---|---|---|
| object_key | Yes | Key (path) of the object | |
| bucket_name | Yes | Name of the R2 bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It discloses that only metadata is returned and lists specific fields, but omits details on error handling (e.g., missing object), permissions required, or any side effects beyond a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded with key information. However, it lacks structural elements like parameter grouping or usage context that could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given two required parameters and no output schema, the description covers the basic purpose and return fields. Missing context includes potential error states, authentication needs, and whether all metadata is always returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The tool description adds no additional meaning beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves metadata (size, etag, content type, last modified) from an R2 bucket object, and explicitly notes it does not return the object body. This distinguishes it from potential body-retrieval tools among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies when to use (to get metadata without body) but lacks explicit guidance on when not to use or alternatives. Among siblings like cloudflare_r2_object_delete and cloudflare_r2_object_list, no comparative advice is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_r2_object_listA
List objects in an R2 bucket. Supports prefix filtering, delimiter for directory-like listing, and pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| cursor | No | Pagination cursor from a previous request | |
| prefix | No | Filter objects by key prefix (e.g., 'brand/' to list only brand assets) | |
| per_page | No | Maximum objects to return (1-1000) | |
| delimiter | No | Delimiter for directory-like listing (e.g., '/' to group by folder) | |
| bucket_name | Yes | Name of the R2 bucket |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden. It mentions support for prefix filtering, delimiter, and pagination, but does not disclose details like whether pagination is manual or automatic, or what fields are returned (object metadata vs. keys).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and no extraneous words. Every sentence adds necessary information about features.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 5 parameters and no output schema, the description fails to specify the return format (object metadata vs. keys) or error conditions. This is a significant gap for a listing tool, making it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters. The description adds value by providing concrete examples (e.g., 'brand/' for prefix) and contextualizing the delimiter for directory-like listing, beyond what the schema alone offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the resource 'objects in an R2 bucket', and distinguishes from sibling tools like cloudflare_r2_bucket_list and cloudflare_r2_object_get by specifying key features (prefix, delimiter, pagination).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for listing objects but lacks explicit guidance on when to use it versus alternatives (e.g., cloudflare_r2_object_get for single objects). No when-not-to-use or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_rate_limit_getB
Get details of a specific rate limiting rule including threshold, period, action, and match conditions.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| rate_limit_id | Yes | Rate limit rule ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral transparency. It only implies a read operation ('Get details') but does not disclose permissions required, idempotency, side effects, or whether the response is full or partial. This insufficiently informs the agent about the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the tool's purpose and key output attributes. No extraneous words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of an output schema, the description lists several return fields (threshold, period, action, match conditions), which is helpful. However, it omits mention of other possible fields like metadata, error handling, or pagination. Still, it covers the essential expected output for a single rule retrieval.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with descriptions for both required parameters (zone_id and rate_limit_id). The description adds minimal value by hinting at output fields (threshold, period, etc.), but does not elaborate on parameter formats or constraints beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Get details of a specific rate limiting rule' and lists relevant details like threshold, period, action, and match conditions. It effectively distinguishes from sibling tools such as cloudflare_rate_limit_list and cloudflare_rate_limit_status by focusing on a single rule's details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like cloudflare_rate_limit_list (to list rules) or cloudflare_rate_limit_status (to check status). The description lacks explicit when-to-use, when-not-to-use, or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_rate_limit_listB
List all rate limiting rules for a zone with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| per_page | No | Results per page, max 100 (default: 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for behavioral disclosure. It mentions pagination but does not state that the operation is read-only, safe, or what the output structure is. The agent cannot infer side effects, permissions, or data freshness from the description alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that efficiently communicates the core functionality. It is front-loaded with the verb and resource, with the pagination detail appended. Every word adds value, and there is no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with pagination, the description covers the basic purpose and mentions pagination. However, without an output schema, the agent lacks information about the return format (e.g., array of rate limit rules, metadata). The description could mention what fields are returned or how to interpret pagination responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for all three parameters, each with clear descriptions. The description adds no additional meaning beyond the schema. The mention of pagination in the description is redundant with the schema's page and per_page descriptions. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all rate limiting rules for a zone with pagination. It uses a specific verb ('List') and resource ('rate limiting rules'), and the scope ('for a zone') is explicit. However, it does not explicitly differentiate from sibling tools like cloudflare_rate_limit_get or cloudflare_rate_limit_status, which could help an agent decide when to use this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., zone_id must be valid), nor does it exclude scenarios where other tools might be more appropriate. This leaves the agent without decision-making context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_rate_limit_statusA
Check Cloudflare API rate limit consumption. Returns current limit, remaining requests, and reset time from response headers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It explains that the tool reads from response headers and returns consumption data, implying a read-only operation. It does not disclose potential side effects or authorization requirements, but for a status check this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is composed of two concise sentences that immediately convey the tool's purpose and return values. There is no wasted text, and the most critical information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description covers all necessary aspects: purpose, input, and output. It fully explains what the tool does and returns, making it self-sufficient for an agent to use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters and schema coverage is 100%, so the baseline is 4. The description does not need to add parameter information, and it correctly avoids misleading statements.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check') and resource ('Cloudflare API rate limit consumption'), and clearly states what it returns. It is distinct from all sibling tools, which are all named differently and have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. Although the purpose is clear and there is no sibling with similar functionality, the description could be improved by providing guidance such as 'Use this before making other API calls to avoid hitting rate limits.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_security_eventsA
Query recent security/firewall events for a zone using Cloudflare GraphQL Analytics.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| since | No | ISO 8601 datetime to query from (default: 1 hour ago). E.g., '2026-03-13T00:00:00Z' | |
| limit | No | Maximum number of events to return (default: 100, max: 10000) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions 'Query' and 'GraphQL Analytics' but does not disclose behavioral traits such as whether it is read-only, any required permissions, rate limits, pagination behavior, or error handling. The description adds minimal context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the purpose and method. It is front-loaded and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no nested objects, the description is adequate but could be improved. It does not mention the format of returned events or any pagination details, which would be helpful for an agent using the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter (zone_id, since, limit) having a clear description including format and defaults. The description does not add any additional meaning beyond what is already in the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Query', the resource 'security/firewall events', and the scope 'for a zone'. It also mentions the underlying method 'Cloudflare GraphQL Analytics'. This distinguishes it well from sibling analytics tools like cloudflare_ddos_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or mention sibling tools. The name and description imply it is for security events, but no guidance is given for an AI agent to decide between this and similar tools like cloudflare_ddos_analytics or cloudflare_zone_health.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_security_insightsA
List Security Center insights (configuration issues, vulnerabilities, misconfigurations) for the account. Requires CLOUDFLARE_ACCOUNT_ID.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| per_page | No | Results per page, max 1000 (default: 25) | |
| severity | No | Filter by severity level | |
| dismissed | No | Filter by dismissed status (default: false = active only) | |
| issue_type | No | Filter by issue type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must stand alone. The description implies a read-only list operation, which is typical for such tools, but does not explicitly state that no modifications are made, nor does it disclose any side effects, rate limits, or other behavioral traits. Schema covers pagination limits, but the description adds no behavioral context beyond the requirement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the purpose and includes the only prerequisite. Every word is necessary; no redundancy or unnecessary details. This is a model of efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 optional filter parameters and no output schema. The description mentions the resource scope but does not summarize the filtering capabilities (e.g., 'supports filtering by severity, issue type, etc.'). A slightly richer description would improve completeness for an agent selecting this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 5 parameters, each already documented with clear types and meanings. The description does not add any additional semantic value or context beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists Security Center insights including configuration issues, vulnerabilities, and misconfigurations. It identifies the specific resource and action. However, it does not explicitly differentiate from sibling tools like cloudflare_security_events or cloudflare_security_insights_severity_count, which have overlapping themes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a critical requirement: 'Requires CLOUDFLARE_ACCOUNT_ID', which helps set context. However, it lacks guidance on when to use this tool versus alternatives, when not to use it, or any exclusions. The usage context is implied but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_security_insights_severity_countA
Get Security Center insight counts grouped by severity (low, moderate, critical). Quick overview without fetching all issues. Requires CLOUDFLARE_ACCOUNT_ID.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It only mentions it is a 'quick overview' and requires an account ID, but does not indicate whether it is read-only, rate limits, side effects, or any other behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with the core purpose, and contains no extraneous information. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple count tool with no output schema, the description sufficiently explains the output (counts grouped by severity) and the prerequisite (account ID). It is complete for an agent to understand the tool's use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters (100% coverage), so the description does not need to add parameter details. The baseline score of 4 is appropriate as no compensation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('Security Center insight counts') and explicitly mentions grouping by severity (low, moderate, critical). It also distinguishes from the sibling 'cloudflare_security_insights' by noting it's a 'quick overview without fetching all issues.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it provides a 'quick overview without fetching all issues,' implying when a summary is needed rather than full details. It also notes the requirement of 'CLOUDFLARE_ACCOUNT_ID.' However, it does not explicitly list when not to use or provide alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_security_level_getA
Get the current security level setting for a zone (off, essentially_off, low, medium, high, under_attack).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It correctly indicates a read-only operation ('Get'), but does not mention rate limits, authentication needs, or any potential side effects. Acceptable for a simple getter but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the action and resource, including enumerating possible values. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the essential purpose and value set. It could optionally describe the return format, but the provided information is adequate for a getter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with 'zone_id' described as a string (ID or name). The description adds no new semantic information beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'current security level setting for a zone', listing possible values. It distinguishes from the sibling 'cloudflare_security_level_set' which is for modifying the setting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like 'cloudflare_zone_setting_get' or prerequisites such as zone identifier format. The description implies a read operation but lacks contextual usage instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_security_level_setA
DESTRUCTIVE: Update the security level for a zone. Changes affect live traffic immediately. Use 'under_attack' only during active DDoS attacks.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| value | Yes | Security level to set |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Starts with 'DESTRUCTIVE:' and warns that changes affect live traffic immediately, compensating for the lack of annotations. However, it omits details about permissions or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with key warnings and purpose, with no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Provides essential behavioral context but does not explain return value or error handling; acceptable for a simple mutation tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The description adds no new parameter semantics beyond reinforcing the 'under_attack' caution.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Update' and resource 'security level for a zone', distinguishing it from sibling tools like cloudflare_security_level_get and cloudflare_zone_setting_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides specific guidance for the 'under_attack' value, but does not explicitly compare with sibling tools or give when-to-use vs when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_ssl_setting_getA
Get the current SSL/TLS encryption mode for a zone (off, flexible, full, strict).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It declares a read operation ('Get') but does not disclose rate limits, permissions, or error behaviors. For a simple getter, the implicit read-only nature is somewhat transparent, but additional context would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no waste. It efficiently conveys the tool's purpose and expected output values.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description is nearly complete. It specifies what the tool returns ('off, flexible, full, strict'), but could briefly note that it's a read-only operation or mention prerequisites like zone ownership.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete documentation for the single parameter (zone_id), including acceptable formats. The description adds no further parameter semantics beyond what the schema offers, earning the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'current SSL/TLS encryption mode for a zone', and lists possible values (off, flexible, full, strict). This uniquely identifies the tool and distinguishes it from its sibling cloudflare_ssl_setting_set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for checking SSL mode but does not explicitly state when to use this tool over alternatives like cloudflare_certificate_get or cloudflare_ssl_verification. It lacks explicit guidance on exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_ssl_setting_setA
DESTRUCTIVE: Set the SSL/TLS encryption mode for a zone. Changes affect live traffic immediately. 'strict' is recommended for production.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | SSL/TLS encryption mode: 'off' (no encryption), 'flexible' (browser-to-CF only), 'full' (end-to-end, self-signed OK), 'strict' (end-to-end, valid cert required) | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description proactively labels the tool as 'DESTRUCTIVE' and states changes affect live traffic immediately. It also gives a production recommendation. This adds significant behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, front-loading the destructive warning. Every sentence adds value without superfluous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter tool with two parameters and no output schema, the description covers purpose, effect, and a recommendation. It could mention permissions or prerequisites, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema fully documents both parameters and their enum values. The description does not add any additional meaning beyond what is already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets the SSL/TLS encryption mode for a zone, with a specific verb and resource. It includes a 'DESTRUCTIVE' label and effect on live traffic. However, it does not explicitly differentiate from siblings like cloudflare_ssl_setting_get or cloudflare_tls_setting_set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for changing SSL mode but provides no explicit when-to-use or when-not-to-use guidance. It recommends 'strict' for production but does not mention alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_ssl_verificationA
Get SSL/TLS verification status for a zone. Shows certificate validation progress, hostname coverage, and brand check status.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Absent annotations, the description discloses the tool is read-only and lists the type of data returned (validation progress, hostname coverage, brand check). This adds behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that are front-loaded with the core action and include specific output details. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter input and no output schema, the description adequately explains what the tool returns. It could mention any limitations or authentication requirements, but is sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter (zone_id). The tool description does not add further meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool retrieves SSL/TLS verification status for a zone, listing specific outputs (validation progress, hostname coverage, brand check). This distinguishes it from siblings like cloudflare_certificate_get or cloudflare_certificate_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. While the purpose implies usage for checking SSL/TLS verification, it does not mention when not to use it or contrast with related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tls_setting_getA
Get the minimum TLS version setting for a zone (1.0, 1.1, 1.2, or 1.3).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It indicates a read operation ('Get') and lists possible return values, which is sufficient for a simple getter. It does not mention errors or permissions but is adequately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and resource, with no superfluous words. It is optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description covers the return values and purpose. It could mention error scenarios, but overall it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% description coverage for the single parameter (zone_id). The tool description adds no additional parameter information, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('minimum TLS version setting for a zone'), and the possible return values ('1.0, 1.1, 1.2, or 1.3'). It effectively distinguishes from sibling tools like cloudflare_tls_setting_set and other getters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the minimum TLS version is needed, but does not explicitly state when to use or not use this tool versus alternatives. However, given the sibling tools have different purposes, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tls_setting_setA
DESTRUCTIVE: Set the minimum TLS version for a zone. Changes affect live traffic immediately. Higher versions are more secure but may break older clients.
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | Minimum TLS version: '1.0' (legacy), '1.1', '1.2' (recommended minimum), '1.3' (most secure) | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It explicitly states the tool is destructive and changes affect live traffic immediately, which is critical behavioral information. It also mentions the impact on older clients, but it does not cover authorization needs or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single sentence plus a warning. It places the most important information ('DESTRUCTIVE') at the beginning, ensuring the agent recognizes the risk immediately. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with no output schema, the description covers the essential aspects: what it does, its impact, and the security-compatibility trade-off. It lacks information about error conditions or response details, but the simplicity of the tool makes this acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides comprehensive descriptions for both parameters (zone_id and value), including accepted values and format. The description adds no additional parameter-specific information beyond what is in the schema, so it meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set the minimum TLS version') and the resource ('for a zone'). It distinguishes itself from the sibling tool cloudflare_tls_setting_get by indicating it modifies settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context for when to use the tool, emphasizing its destructive nature and immediate impact on live traffic. It also offers guidance on security versus compatibility trade-offs. However, it does not explicitly mention when not to use it or alternatives like cloudflare_ssl_setting_set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_token_verifyB
Validate the configured Cloudflare API token and check its permissions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It only states it validates and checks permissions, but does not describe side effects (none expected), return values, or behavior on invalid tokens. This is vague for a verification tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that conveys the purpose without any extraneous information. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has zero parameters and no output schema, the description is complete for its simplicity. An agent can understand it validates the configured token and checks permissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100% (empty). The description adds no parameter info, which is acceptable since none exist. Baseline is high due to simplicity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs 'validate' and 'check' and clearly identifies the resource (Cloudflare API token). It distinguishes itself from sibling tools, none of which perform token verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It lacks context on prerequisites or scenarios where token validation is needed (e.g., before other operations). No exclusions or explicit when-not advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tunnel_config_getB
Get the ingress configuration for a Cloudflare Tunnel.
| Name | Required | Description | Default |
|---|---|---|---|
| tunnel_id | Yes | Tunnel UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It merely restates the get operation without mentioning read-only nature, authentication requirements, or any side effects. The description adds no behavioral context beyond the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, effective sentence without extraneous words. However, it could be slightly expanded to improve clarity without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with one clearly described parameter, the description is adequate. However, it does not explain what the ingress configuration contains or the return format, which would be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'tunnel_id'. The description does not add any additional meaning or format hints beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the specific resource 'ingress configuration for a Cloudflare Tunnel', distinguishing it from sibling tools like cloudflare_tunnel_get or cloudflare_tunnel_config_update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as cloudflare_tunnel_get for general tunnel info or cloudflare_tunnel_config_update for modifications. No context or prerequisites provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tunnel_config_updateC
Update the ingress configuration for a Cloudflare Tunnel.
| Name | Required | Description | Default |
|---|---|---|---|
| tunnel_id | Yes | Tunnel UUID | |
| config | Yes | Tunnel ingress configuration object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral traits. It only says 'update' without disclosing that the entire config is replaced, potential side effects (e.g., tunnel reload), authentication needs, or error conditions. This is insufficient for safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no redundancy. However, it is too brief, sacrificing useful details that could be included concisely.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (nested object, no output schema), the description is insufficient. It does not explain that the update is a full replacement, the format of tunnel_id, or possible errors, making it incomplete for an agent to use reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter descriptions for the nested config object, including the catch-all rule requirement. The description adds no extra meaning beyond the schema, thus baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('update') and resource ('ingress configuration for a Cloudflare Tunnel'), distinguishing it from related sibling tools like cloudflare_tunnel_config_get (retrieve) and cloudflare_tunnel_create (create). However, it does not specify that the update replaces the entire configuration, which is important for clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., getting the config first, then modifying). Prerequisites (e.g., tunnel must exist) or exclusions are not mentioned, leaving the agent without contextual direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tunnel_createA
Create a new Cloudflare Tunnel. A secure 32-byte tunnel secret is automatically generated.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the tunnel |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are present, the description carries full behavioral disclosure burden. It mentions automatic 32-byte secret generation, which is a notable behavioral detail. However, it does not disclose authentication requirements, side effects, or whether the tunnel is immediately active.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no extraneous information. The first sentence front-loads the core purpose, and the second adds a relevant behavioral detail. Every sentence serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple creation tool with no output schema, the description lacks information about return values (e.g., tunnel ID, credentials) and prerequisites. It is minimally adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a clear description for the 'name' parameter. The description adds no additional semantic value beyond the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new Cloudflare Tunnel' with a specific verb and resource. Among sibling tools with different verbs (delete, get, list), this uniquely identifies the creation action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., tunnel_config_update for config changes). The description is limited to what it does, not contextual usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tunnel_deleteA
Delete a Cloudflare Tunnel by its ID. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| tunnel_id | Yes | Tunnel UUID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
States 'This action cannot be undone', which is a key destructive behavior. No annotations provided so description compensates well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with action, no extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete with one required param and no output schema, the description is complete: states operation and warns of irreversibility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100% with tunnel_id described. Description adds no new semantic info beyond the schema, but the irreversibility note is indirectly relevant.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'Delete' and resource 'Cloudflare Tunnel by ID'. Distinct from siblings like cloudflare_tunnel_create and cloudflare_tunnel_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs alternatives. Only a warning about irreversibility, no mention of prerequisites or when to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tunnel_getA
Get details for a specific Cloudflare Tunnel by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| tunnel_id | Yes | Tunnel UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must convey behavioral traits. 'Get details' indicates a read operation with no side effects, but the description does not specify the nature of the details or confirm idempotency. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence, perfectly front-loaded with the action and resource. No redundant words or details. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with no output schema and one required parameter, the description is minimally complete. However, the agent lacks information about the returned details' structure, which could be mitigated by an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter (tunnel_id: 'Tunnel UUID'). The description adds no further meaning beyond the schema, meeting the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get details') and resource ('Cloudflare Tunnel'), and clearly distinguishes from sibling tools like tunnel_list (lists all tunnels) and tunnel_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like tunnel_list or tunnel_config_get. The description implies only that it is used when you have a tunnel ID, but does not mention prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tunnel_listC
List Cloudflare Tunnels for the account. Optionally filter by name or deleted status.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| per_page | No | Results per page, max 100 (default: 25) | |
| name | No | Filter by tunnel name (partial match) | |
| is_deleted | No | Filter by deleted status (false = active, true = deleted) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It only says 'list' and 'optionally filter', failing to mention pagination, rate limits, default behavior, or that results may be truncated. This is insufficient for an agent to understand side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, no wasted words. It is front-loaded with purpose. However, it could benefit from more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters, no output schema, and no annotations, the description is too brief. It omits important context like output format, pagination behavior, default values, and any limitations (e.g., maximum results). An agent needs more to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds 'optionally filter by name or deleted status', which restates schema info without deeper semantics (e.g., filter logic, defaults). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists Cloudflare Tunnels for an account and mentions optional filters. However, it does not differentiate from sibling tools like cloudflare_tunnel_get or cloudflare_tunnel_create, which are for single tunnel or creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Sibling tools exist for specific tunnel operations, but the description provides no context for choosing this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_tunnel_tokenA
Get the connector token for a Cloudflare Tunnel. This JWT token is used by cloudflared to authenticate with the Cloudflare edge. Store securely — treat as a credential.
| Name | Required | Description | Default |
|---|---|---|---|
| tunnel_id | Yes | Tunnel UUID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It adds a security warning ('Store securely — treat as a credential') but does not mention if the operation is read-only or other traits like permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The first sentence states purpose, and the second adds usage context and security guidance. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one required parameter and no output schema, the description covers purpose, usage, and security. It does not mention the response format or potential errors, but it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for tunnel_id. The description does not add meaning beyond what the schema already provides, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the connector token for a Cloudflare Tunnel,' specifying a specific verb and resource. It is distinct from siblings like tunnel_create or tunnel_get, which do not provide tokens.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that the token is used by cloudflared for authentication, providing clear context for when to use it. However, it does not explicitly mention when not to use it or suggest alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_under_attack_statusB
Check whether a zone is currently in 'Under Attack' mode. Returns the current security level and whether DDoS protection is maximized.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that it returns current security level and DDoS protection maximization status. However, it does not explicitly state that it is a read-only operation or any side effects, which is acceptable for a simple status check.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the main purpose. No extra words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple with one parameter and no output schema. Description adequately covers purpose and return values (security level and DDoS maximization). Minor gap: does not explicitly note read-only nature, but overall complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for zone_id (accepts ID or name). The tool description does not add additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks 'Under Attack' mode and returns security level and DDoS protection status. It distinguishes from siblings like 'cloudflare_ddos_analytics' and 'cloudflare_security_level_get', though not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., cloudflare_security_level_get or cloudflare_ddos_analytics). The description only states what it does, not when or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_waf_create_custom_ruleB
Add a new custom WAF firewall rule to a zone. Uses Cloudflare Rules Language for the expression.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| expression | Yes | Cloudflare Rules Language expression (e.g., '(ip.src eq 192.0.2.1)') | |
| action | Yes | Action to take when the rule matches | |
| description | No | Optional human-readable description for the rule |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states 'Add a new custom WAF firewall rule', lacking details on idempotency, side effects, authentication, or rate limits. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundancy. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description should provide more context (e.g., rule activation, return value). It does not explain that zone_id can be a name or ID, or what happens after creation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by noting that the expression uses Cloudflare Rules Language, which clarifies the expression parameter beyond the schema's example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Add' and resource 'custom WAF firewall rule to a zone', distinguishing it from sibling tools like cloudflare_waf_delete_custom_rule and cloudflare_waf_list_custom_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., cloudflare_waf_list_rulesets) or when not to use it. The mention of 'Cloudflare Rules Language' implies a prerequisite but does not provide explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_waf_delete_custom_ruleC
Delete a custom WAF firewall rule from a zone ruleset.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| ruleset_id | Yes | Ruleset ID containing the rule | |
| rule_id | Yes | Rule ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description only says 'Delete', which implies mutability but discloses no additional behavioral traits such as permanence, required permissions, or side effects. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence without wasted words. While concise, it could benefit from additional context, but for a deletion tool it is adequately brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about return values, error conditions, or post-deletion effects. Given the absence of an output schema and annotations, an agent would need more context to use this tool reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all three parameters (zone_id, ruleset_id, rule_id). The description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Delete a custom WAF firewall rule from a zone ruleset' clearly states the action (delete) and the specific resource (custom WAF firewall rule within a zone ruleset). This distinguishes it from sibling tools like cloudflare_waf_create_custom_rule or cloudflare_waf_list_custom_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are prerequisites or conditions mentioned. The description merely states the action without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_waf_get_rulesetA
Get a specific WAF ruleset by ID, including all rules within the ruleset.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| ruleset_id | Yes | Ruleset ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description only states it retrieves a ruleset with all rules. It does not disclose side effects, permissions required, rate limits, or whether the operation is read-only (though implied). More behavioral detail is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no filler. Every piece of information is valuable and front-loaded. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, so the description should ideally hint at return structure beyond 'including all rules'. The description provides minimal context; it is adequate for a simple get operation but could be more detailed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with clear descriptions (zone_id accepts ID or name). The tool description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Get') and resource ('specific WAF ruleset by ID'), and specifies it includes all rules within the ruleset. This distinguishes it from sibling tool 'cloudflare_waf_list_rulesets' which lists all rulesets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use it (when you have a specific ruleset ID), but does not explicitly contrast with alternatives or state when not to use it. Missing guidance on prerequisites or related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_waf_list_custom_rulesA
List all custom WAF firewall rules for a zone (http_request_firewall_custom phase entrypoint).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden. It states the tool lists rules but lacks details on pagination, error handling, or response format. Behavior is basic and adequately implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no filler, directly communicates the tool's function. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one parameter and no output schema, the description is complete. It clarifies the scope (zone and phase) without needing extra detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds no new meaning beyond the schema's zone_id description. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List'), clearly identifies the resource ('custom WAF firewall rules for a zone'), and mentions the phase entrypoint, effectively differentiating it from sibling tools like cloudflare_waf_create_custom_rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidelines on when to use this tool versus alternatives. The description implies its purpose but does not state when not to use it or mention prerequisites like zone existence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_waf_list_rulesetsA
List all WAF rulesets for a zone (managed, custom, rate-limiting, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry burden. It indicates a read operation ('list') but does not disclose pagination, rate limits, or authentication needs. Adequate for a simple list but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Efficiently communicates purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple list with one required parameter and no output schema, description is mostly sufficient. However, it could mention return format or that it returns ruleset objects, which would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with zone_id well-described. Description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all WAF rulesets for a zone' and enumerates types (managed, custom, rate-limiting), distinguishing it from siblings like cloudflare_waf_get_ruleset or cloudflare_waf_list_custom_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance. The description implies it's for browsing all rulesets, but does not mention alternatives or prerequisites given the sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_web_analytics_createA
Create/enable a Web Analytics (RUM) site. Enables privacy-first, cookie-free analytics beacon auto-injection for the specified hostname.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | Hostname to enable analytics on (e.g., 'example.com') | |
| zone_tag | No | Optional zone ID to link the site to (enables auto-inject at the edge). 32-char hex. | |
| auto_install | No | Auto-inject the beacon script at the edge (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Describes the core behavior: enabling auto-injection of a privacy-first beacon. However, it doesn't mention idempotency or conflict behavior. Still adds context beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. Front-loaded with the primary action and key description. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple create operation with 3 params and no output schema, description adequately explains the function. Could mention return value expectations or failure modes, but not essential for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 3 parameters are described in the input schema with 100% coverage. The description adds no new semantics beyond what's in the schema, achieving baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool creates/enables a Web Analytics site for a hostname, with specific mention of privacy-first, cookie-free analytics. It distinguishes from sibling tools like web_analytics_delete, web_analytics_get, etc. by focusing on creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit mention of when to use vs alternatives. Usage is implied by the tool's purpose, but lacks guidance on prerequisites (e.g., zone requirement) or when not to use (e.g., if analytics are already enabled).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_web_analytics_deleteA
Delete a Web Analytics (RUM) site and stop collecting analytics.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | RUM site ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description indicates a destructive action ('delete') and a behavioral effect ('stop collecting analytics'), which is transparent. However, with no annotations, it fails to disclose details like irreversibility, permission requirements, or impact on historical data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It efficiently conveys the tool's purpose and effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is largely complete. It states the action and effect, but lacks usage guidance and behavioral depth, slightly reducing completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the required parameter. The description adds no additional meaning beyond 'RUM site ID', earning the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: deleting a Web Analytics (RUM) site and stopping analytics collection. It specifies the resource and verb, distinguishing it from siblings like create, get, list, and stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. It does not specify prerequisites, consequences, or scenarios where deletion is appropriate. There is no mention of when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_web_analytics_getA
Get details of a specific Web Analytics (RUM) site by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | RUM site ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only states it 'gets details', which is minimal. It does not disclose any behavioral traits (e.g., read-only, auth requirements) beyond the obvious. For a simple get operation, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is clear and front-loaded with the key action and resource. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description provides sufficient context for successful invocation. No additional information is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'site_id' (described as 'RUM site ID'). The description adds no additional meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get', the resource 'Web Analytics (RUM) site', and the retrieval criteria 'by ID'. It effectively distinguishes from sibling tools like list, create, delete, and stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage (get a specific site when you know its ID), but no explicit guidance on when to use vs. alternatives (e.g., use list to find IDs first). No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_web_analytics_listA
List all Web Analytics (RUM) sites for the account. Returns site IDs, hostnames, and creation dates.
| Name | Required | Description | Default |
|---|---|---|---|
| order_by | No | Order results by field (default: host) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description indicates a read-only list operation but does not disclose potential pagination, rate limits, or authentication requirements. Minimal but adequate for a simple list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero fluff. Front-loaded with action and immediately followed by return fields. Efficient and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with one optional parameter and no output schema, the description sufficiently explains what it does and returns. Lacks mention of pagination but adequate for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description covers 100% of the single parameter (order_by) with clear enum and default. Description adds value by specifying the output fields, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists all Web Analytics sites for the account and specifies the returned fields (site IDs, hostnames, creation dates), distinguishing it from sibling tools like create or get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives like web_analytics_get or web_analytics_stats. Usage is implied as a list operation, but no exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_web_analytics_statsB
Query Web Analytics traffic stats for a zone. Returns page views, visits, and bandwidth grouped by time.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of data points to return (default: 100, max: 10000) | |
| since | No | ISO 8601 datetime to query from (default: 24 hours ago). E.g., '2026-03-15T00:00:00Z' | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behavioral traits. It states the tool is a query that returns data grouped by time, implying read-only operation. However, it does not mention authentication needs, rate limits, or any potential side effects. The 'grouped by time' detail adds some value, but overall transparency is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates the core purpose and output succinctly. Every word adds value, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should fully explain the return format. It only lists the metrics and mentions grouping by time, but does not describe whether the result is a list, time-series array, or aggregated totals. Pagination behavior and limit effects are omitted. For a tool with 3 parameters and no output schema, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds little beyond the schema. It mentions 'zone' context for zone_id and 'grouped by time' which hints at the time-based behavior of the since parameter, but this is not explicit about parameter usage. The description does not improve on the schema's already clear parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Query' and the resource 'Web Analytics traffic stats for a zone', and specifies the returned metrics (page views, visits, bandwidth). This distinguishes it from sibling tools like cloudflare_web_analytics_list or cloudflare_web_analytics_get, which deal with analytics rule management rather than raw traffic stats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., cloudflare_worker_analytics or cloudflare_ddos_analytics). It does not mention prerequisites, such as requiring a zone_id, nor does it exclude scenarios where other tools might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_analyticsA
Query Workers invocation analytics (time-series). Returns per-script metrics including requests, errors, subrequests, and CPU time percentiles ordered by time.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of data points to return (default: 100, max: 10000) | |
| since | No | ISO 8601 datetime to query from (default: 1 hour ago). E.g., '2026-03-15T00:00:00Z' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool returns time-series data ordered by time and lists specific metrics. It does not cover potential side effects (none expected for a query), but it is reasonably transparent about behavior given the tool's read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose and then specifying return details. Every sentence adds value with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 2 parameters with full schema coverage and no output schema, the description adequately explains what the tool returns (metrics, time-ordered). It is complete for a simple query tool, though it could mention that results are aggregated per script.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters well. The description adds context about default/max values for 'limit' and ISO 8601 format for 'since', but does not substantially enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries Workers invocation analytics and returns specific time-series metrics (requests, errors, subrequests, CPU time percentiles). It uses a specific verb 'Query' and specifies the resource ('Workers invocation analytics'), effectively distinguishing it from sibling analytics tools like cloudflare_ddos_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly mentions it is for Workers invocation analytics, which implies usage context. However, it does not explicitly state when to use this tool over alternatives (e.g., cloudflare_ddos_analytics), nor does it provide exclusions or when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_deleteA
DESTRUCTIVE: Delete a Workers script by name. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| script_name | Yes | Worker script name to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given no annotations, the description explicitly labels the tool as 'DESTRUCTIVE' and states 'cannot be undone', providing essential behavioral context. However, it lacks details on prerequisites or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—one sentence plus a label—with all information front-loaded. Every word is necessary and no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deletion tool with one parameter, the description covers purpose, parameter, and behavioral note. It lacks mention of error handling (e.g., script not found) or preconditions, but overall is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for its single parameter. The description adds the phrase 'by name' which aligns with the schema, but provides no additional semantic value beyond the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Delete'), the resource ('Workers script'), and the specific parameter ('by name'). It distinguishes from sibling delete tools by naming the specific resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when deletion of a Worker script is needed, but does not provide guidance on when not to use this tool (e.g., if dependencies exist) or mention alternative tools for similar operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_deployC
Deploy a Workers script. Creates or updates the named script with the provided source code.
| Name | Required | Description | Default |
|---|---|---|---|
| script_name | Yes | Worker script name (lowercase alphanumeric and hyphens) | |
| content_type | No | Content type of the script (default: 'application/javascript+module') | |
| script_content | Yes | JavaScript or TypeScript source code for the Worker | |
| compatibility_date | Yes | Compatibility date (e.g., '2026-03-15') | |
| compatibility_flags | No | Optional compatibility flags (e.g., ['nodejs_compat']) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description must disclose behavioral traits. It omits idempotency, overwrite behavior, permission requirements, and error states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first states purpose, second clarifies action. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks critical context for a deployment action: no mention of overwrite behavior, response format, or failure modes. Without output schema, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with adequate descriptions. The tool description adds no extra insight beyond the schema, meeting baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it deploys a Workers script, creating or updating the named script with source code. Distinguishes from list/delete tools but not from cloudflare_worker_deploy_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives like cloudflare_worker_deploy_project, no prerequisites or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_deploy_projectA
Deploy a multi-file Workers project using wrangler. Runs 'npx wrangler deploy' in the given project directory. Requires wrangler installed in the project (devDependency) and a wrangler.toml config file. Uses the CLOUDFLARE_API_TOKEN from the MCP server environment.
| Name | Required | Description | Default |
|---|---|---|---|
| environment | No | Optional wrangler environment name (e.g., 'uat', 'production'). Maps to [env.<name>] in wrangler.toml | |
| project_path | Yes | Absolute path to the Workers project directory containing wrangler.toml |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it runs a command and uses an API token, but lacks details such as idempotency, error handling, or what happens on failure. Since no annotations exist, description carries full burden and is moderately transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences front-load the core action, prerequisites, and environment dependency. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, prerequisites, and environment. Lacks mention of return values or output schema, but for a deployment tool the output is standard wrangler output; acceptable given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema provides clear parameter descriptions; the description adds value by explaining that 'environment' maps to '[env.<name>]' in wrangler.toml, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it deploys a multi-file Workers project using wrangler, with the specific command 'npx wrangler deploy'. It distinguishes from sibling tools like cloudflare_worker_deploy by specifying multi-file and wrangler usage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions prerequisites (wrangler installed, wrangler.toml, CLOUDFLARE_API_TOKEN) and context (given project directory). Does not mention when not to use or alternatives, but the sibling set implies simpler alternatives exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_listA
List all Workers scripts deployed in the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavior. It only states 'list all Workers scripts' without details on pagination, rate limits, return format, or scope confirmation. This is minimal disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that conveys the tool's purpose without any unnecessary words. It is front-loaded with the key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and simple parameters, the description is marginally adequate. However, it lacks information about what is returned (e.g., script names, metadata) and could be more complete without being verbose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and schema coverage is 100%. According to the rubric, 0 parameters gives a baseline of 4. The description adds the scope 'in the account', which is helpful but not essential since it's implied by the tool context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'List all Workers scripts deployed in the account.' It identifies the specific verb 'list' and resource 'Workers scripts', and it distinguishes itself from sibling tools like cloudflare_worker_analytics or cloudflare_worker_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you need a list of deployed workers), but does not explicitly state when not to use it or mention alternatives. No exclusions or context about sibling tools are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_route_createB
Create a Workers route that maps a URL pattern to a Worker script for a zone.
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | Worker script name to route to | |
| pattern | Yes | URL pattern to match (e.g., '*.example.com/api/*') | |
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'Create' but does not disclose idempotency, error behavior, permissions required, rate limits, or side effects. The behavioral disclosure is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it lacks structure like bullet points or expected output, but the brevity is acceptable for a straightforward create tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should explain return values, error cases, or prerequisites. It does not mention idempotency, required permissions, or what happens on creation (e.g., does it return the route ID?). Completeness is lacking for a create operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions (zone_id accepts name or ID, pattern is a glob, script is a name). The tool description adds no extra meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create', the resource 'Workers route', and the action 'maps a URL pattern to a Worker script for a zone'. It is specific and distinguishes from siblings like cloudflare_worker_route_list or cloudflare_worker_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for creating routes but does not specify when to use this tool over alternatives, such as when a route already exists or what prerequisites are needed (e.g., zone and script must exist). No explicit when-not-to-use or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_route_listA
List all Workers routes for a zone. Routes map URL patterns to Worker scripts.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states the basic listing action, without disclosing return format, pagination, permissions, or filtering capabilities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two succinct sentences that immediately convey the purpose. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is minimally adequate but lacks any hint about the return value, which would help the agent understand the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description is clear. The tool description adds no additional meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all Workers routes for a zone and explains what routes do. It distinguishes from siblings like worker_route_create and worker_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to see routes, but provides no explicit guidance on when to use vs alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_secret_deleteA
Delete a secret from a Workers script by name.
| Name | Required | Description | Default |
|---|---|---|---|
| script_name | Yes | Worker script name (lowercase alphanumeric and hyphens) | |
| secret_name | Yes | Name of the secret to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description bears full responsibility. It conveys the destructive action ('Delete'), but does not mention consequences (e.g., irreversible, requires write permissions, or what happens if the secret does not exist). The bare minimum is met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence of 7 words, front-loaded with the verb. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with two parameters and no output schema, the description covers the basic operation. However, it omits details like return type, error handling, or idempotency, which could be helpful for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds no extra meaning beyond what the schema already provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete), the resource (a secret from a Workers script), and the method (by name). It effectively distinguishes from sibling tools like cloudflare_worker_secret_set and cloudflare_worker_secret_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lacks guidance on when to use this tool versus alternatives (e.g., cloudflare_worker_secret_list to see secrets, cloudflare_worker_secret_set to create/update). No prerequisites or when-not-to-use context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_secret_listA
List all secrets bound to a Workers script. Only secret names are returned, not values.
| Name | Required | Description | Default |
|---|---|---|---|
| script_name | Yes | Worker script name (lowercase alphanumeric and hyphens) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description partially fills the gap by stating that only secret names are returned. However, it does not disclose other behavioral traits like authentication requirements, rate limits, or the read-only nature of the operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, immediately states the tool's purpose and key constraint, with no redundant information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with one parameter and no output schema, the description adequately covers the inputs and output (only names). It could mention pagination or limits but is otherwise complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes the parameter (script_name). The description adds no additional meaning beyond what is in the schema, achieving the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists all secrets bound to a Workers script and specifies that only names are returned, not values. This distinguishes it from sibling tools like cloudflare_worker_secret_set and cloudflare_worker_secret_delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing secrets but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_secret_setA
Set a secret for a Workers script. Creates or updates the named secret. The secret value is NOT echoed in the response for security.
| Name | Required | Description | Default |
|---|---|---|---|
| script_name | Yes | Worker script name (lowercase alphanumeric and hyphens) | |
| secret_name | Yes | Name of the secret (e.g., 'API_KEY', 'DB_PASSWORD') | |
| secret_value | Yes | Secret value to store |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value by disclosing that the secret value is not echoed in the response for security, which is a behavioral trait beyond what the schema provides. Since there are no annotations, this disclosure is important.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two short sentences. Every word adds value, and the key security note is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The operation is simple (set a secret). The description covers purpose, idempotency (creates or updates), and a security behavior. It does not mention the response format or potential errors, but these are less critical for a set operation without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have descriptions in the input schema (100% coverage). The description does not add additional parameter semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set a secret for a Workers script') and that it creates or updates the named secret. It distinguishes from sibling tools like cloudflare_worker_secret_delete and cloudflare_worker_secret_list by focusing on setting/updating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to set or update a secret) but does not provide explicit guidance on when not to use or mention prerequisites like authentication or script existence. No alternative tools are referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_worker_usageA
Query Workers usage summary (per-script aggregated). Returns scripts ranked by total request count, with error rates and CPU time percentiles.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of scripts to return (default: 100, max: 10000) | |
| since | No | ISO 8601 datetime to query from (default: 24 hours ago). E.g., '2026-03-14T00:00:00Z' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only query by stating 'Query' and describing the output, but it does not explicitly confirm safety, authentication needs, rate limits, or other behavioral aspects. With no annotations, additional transparency would be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose ('Query Workers usage summary') and efficiently detail the output. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description clearly explains what the tool returns (ranked scripts, request count, error rates, CPU percentiles). With only two optional parameters documented in the schema, the description is sufficient for an agent to understand the tool's purpose and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters already described in the input schema. The tool description adds no additional context about the parameters beyond what the schema provides, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries Workers usage summary per-script aggregated, and specifies the output: scripts ranked by total request count with error rates and CPU time percentiles. This distinguishes it from other worker tools like cloudflare_worker_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as cloudflare_worker_analytics or other query tools. The description does not mention scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zone_getA
Get zone details including status, nameservers, and plan.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states 'Get zone details' without disclosing behavioral traits like authorization requirements, rate limits, or whether it is idempotent. Minimal transparency beyond the read nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the tool's purpose without extraneous words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation, the description covers the basics. However, without output schema or annotations, it could mention that it returns a zone object, prerequisites, or error conditions. It is adequate but not fully comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully describes the single parameter (zone_id) with 100% schema coverage, so the description adds no new parameter-level meaning. It mentions output fields (status, nameservers, plan) but that pertains to results, not input parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get zone details including status, nameservers, and plan,' specifying the verb, resource, and key output fields. It distinguishes from sibling tools like cloudflare_zone_list (which lists zones) and cloudflare_zone_health (health checks).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving details of a specific zone, but it does not contrast with alternatives like cloudflare_zone_list (for listing all zones) or cloudflare_zone_health (for health status). No explicit when-to-use or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zone_healthA
Check the health of a zone: combines zone status, DNSSEC configuration, and SSL mode into a single health report.
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the full burden. It notes 'Check' (read-only) and what it combines, but does not disclose if the operation requires specific permissions, is non-destructive, or has rate limits. Lacks explicit read-only statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Purpose is front-loaded and every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should explain the health report's format. It lists components (zone status, DNSSEC, SSL mode) but does not indicate whether the report is a simple pass/fail or structured data. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'zone_id'. The description does not elaborate on the parameter beyond what the schema provides, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Check the health of a zone' with specific verb and resource, and explains it combines zone status, DNSSEC, and SSL mode. This distinguishes it from sibling tools like cloudflare_zone_get (raw zone details) or cloudflare_dnssec_status (only DNSSEC).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for a quick health overview, but does not explicitly state when to use vs. alternatives like cloudflare_zone_get or cloudflare_security_level_get. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zone_listA
List all Cloudflare zones with pagination. Optionally filter by status or name.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number (default: 1) | |
| per_page | No | Results per page, max 50 (default: 20) | |
| status | No | Filter by zone status | |
| name | No | Filter by zone name (exact match) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must compensate. It mentions pagination but omits critical details like required permissions, rate limits, return format, or ordering. The agent lacks awareness of the tool's full behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, front-loaded with the primary action. Every word serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Description adequately covers listing and filtering but fails to describe the output format (e.g., object fields). With no output schema and no annotations, the agent needs more context about what each zone entry contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to explain each parameter. It reinforces filtered listing and pagination, which adds minimal value beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all Cloudflare zones with pagination', providing a specific verb and resource. This distinguishes it from siblings like cloudflare_zone_get and cloudflare_dns_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates use for listing zones with optional filters, but does not explicitly exclude scenarios where a single zone is needed, nor does it mention when to use alternative tools. However, the name and context make the purpose clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zone_setting_getB
Get a specific zone setting by name (e.g., 'ssl', 'security_level', 'minify').
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| setting_name | Yes | Setting name (e.g., 'ssl', 'security_level', 'always_use_https', 'minify') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. However, it only states 'Get' with no disclosure of behavioral traits such as read-only nature, authentication requirements, rate limits, or response format. For a non-mutating GET operation, the description should at least imply it is safe and idempotent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is front-loaded with the verb and resource, and immediately provides clarifying examples. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter tool with two parameters and no output schema, the description is largely complete. It explains what the tool does and gives examples. However, it could be slightly improved by mentioning that the tool returns the setting's value, but since there is no output schema, the description is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so baseline is 3. The description adds example values for 'setting_name' but does not explain 'zone_id' beyond what the schema already states (hex or name). No additional semantic guidance is provided, such as allowed values for 'setting_name' or format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Get', the resource 'zone setting', and how to specify it 'by name' with concrete examples ('ssl', 'security_level', 'minify'). It effectively distinguishes itself from sibling tools like cloudflare_security_level_get (which focuses on a single setting) and cloudflare_zone_setting_update (which modifies settings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For instance, cloudflare_security_level_get could be an alternative for the 'security_level' setting, but the description does not mention this or any other usage context. The tool's purpose is implied but not explicitly contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zone_setting_updateC
Update a specific zone setting (e.g., change SSL mode, security level).
| Name | Required | Description | Default |
|---|---|---|---|
| zone_id | Yes | Zone ID (32-char hex) or zone name (e.g., 'example.com') | |
| setting_name | Yes | Setting name (e.g., 'ssl', 'security_level', 'always_use_https') | |
| value | Yes | New value for the setting (type depends on the specific setting) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the burden of behavioral disclosure. It only states 'Update', implying mutation, but does not mention side effects, reversibility, permissions, or error states. For a mutation tool, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundant words. Front-loaded with the action and resource. Efficient for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description is too minimal. It does not cover error handling, value constraints, or how to determine valid setting names. The tool is straightforward but the lack of behavioral and usage context makes it incomplete for an agent to invoke correctly without prior knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full descriptions for all three parameters, and the description adds value by giving examples of setting_name values. However, the value parameter remains vaguely described ('type depends on the specific setting'). The description helps but does not compensate for the schema's brevity on value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates a zone setting and provides concrete examples (SSL mode, security level). The verb 'Update' combined with 'zone setting' makes the purpose clear, though it does not explicitly distinguish from the sibling 'cloudflare_zone_setting_get' tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'cloudflare_zone_setting_get' for reading settings. No prerequisites or conditions mentioned. The description lacks explicit usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_create_appB
Create a new Zero Trust Access application. Protects a domain with identity-based access control.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Application name | |
| domain | Yes | Primary application domain (e.g., 'app.example.com' or 'app.example.com/path*') | |
| type | No | Application type (default: self_hosted) | |
| session_duration | No | Session duration (e.g., '8h', '24h', '30m'). Default: 24h | |
| allowed_idps | No | Array of IdP UUIDs to restrict login methods. Omit to allow all configured IdPs. | |
| auto_redirect_to_identity | No | Auto-redirect to IdP login instead of showing app launcher (default: false) | |
| app_launcher_visible | No | Show in the Zero Trust App Launcher (default: true) | |
| self_hosted_domains | No | Additional domains for this app (multi-domain). Primary domain is always included. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It indicates a write operation ('Create') but does not mention whether changes are immediately applied, what happens if the app already exists, required permissions, or any side effects. The absence of output schema further limits transparency about the return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise, front-loaded sentences. Every word adds value: the first sentence states the action, the second adds context. There is no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (8 parameters, no output schema, no annotations), the description is adequate but not complete. It explains the core purpose but omits what the tool returns, error handling, and how it relates to other Zero Trust tools like policies or identity providers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all 8 parameters, so the tool definition already provides complete parameter documentation. The description adds no new parameter-level information beyond what is in the schema, placing it at the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('Zero Trust Access application'), and adds context ('Protects a domain with identity-based access control'). This distinguishes it from sibling tools like cloudflare_zt_delete_app or cloudflare_zt_list_apps, which perform different operations on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., cloudflare_zt_create_policy for policies, cloudflare_zt_create_idp for identity providers). It does not mention prerequisites, conditions, or when not to use it. The agent is left to infer usage from the tool's purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_create_idpB
Create a new identity provider (IdP) for Zero Trust Access. Supports GitHub, Google, SAML, OIDC, Azure AD, Okta, and one-time PIN.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | IdP display name (e.g., 'my-github-idp') | |
| type | Yes | Identity provider type | |
| config | Yes | Provider-specific configuration. For GitHub/Google/OIDC/Azure AD: { client_id, client_secret }. For SAML: { issuer_url, sso_target_url, attributes, ... }. For onetimepin: empty object {}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only lists supported types and basic creation. Missing details: side effects (e.g., overwrites existing?), auth requirements, rate limits, synchronous behavior, or error handling for duplicate names.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words. It is front-loaded with the action and resource. Could be improved by a brief bullet list or structured format, but it's concise enough.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (multiple IdP types with varying config) and lack of output schema/annotations, the description is somewhat incomplete. It doesn't explain return values, creation confirmation, or error scenarios. The listing of types is helpful but not enough for a comprehensive understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds marginal value by repeating supported types and giving config examples (e.g., 'For GitHub/Google... { client_id, client_secret }'). However, this largely overlaps with the schema descriptions, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create'), the resource ('identity provider'), and the context ('Zero Trust Access'). It lists supported provider types, which distinguishes it from sibling tools like listing or deleting IdPs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (creation of IdP), but does not provide explicit guidance on when not to use, prerequisites (e.g., valid account), or alternatives. No distinct siblings are mentioned for comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_create_policyB
Create an access policy for a Zero Trust Access application. Policies define who can access the application.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | Access application ID (UUID) | |
| name | Yes | Policy name | |
| decision | Yes | Policy decision: allow (requires authentication), deny (blocks access), non_identity (bypass IdP), bypass (allow everyone) | |
| include | Yes | Array of include rules (at least one required). Each rule is an object like { email: { email: 'user@example.com' } } or { email_domain: { domain: 'example.com' } } |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavioral details but only states the basic creation action. It omits crucial information like required permissions, side effects, or error scenarios (e.g., app_id not existing).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences: the first states the action and the second adds context. It is front-loaded and contains no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, an enum, and no output schema, the description is minimal. It does not explain what the tool returns, prerequisites, or how to handle complex parameters like 'include' beyond the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already describes all parameters. The description adds no additional meaning beyond what is in the schema, meriting the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Create' and the resource 'access policy for a Zero Trust Access application', explicitly distinguishing it from sibling tools like list or delete policies. It also adds context that policies define access.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives, such as updating or deleting policies. While the verb 'Create' implies new policy addition, no contextual guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_delete_appA
DESTRUCTIVE: Delete a Zero Trust Access application. This removes the application and all its associated policies.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | Access application ID (UUID) to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Explicitly marks operation as DESTRUCTIVE and states it removes the application and all associated policies, providing clear behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence with front-loaded 'DESTRUCTIVE' label. Every part adds value with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one required parameter and no output schema, the description adequately covers purpose and consequences. Could mention irreversibility or permissions but not required for minimal viability.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description already covers the sole parameter (app_id as UUID). Description adds no further meaning beyond what schema provides. Baseline score of 3 applies due to high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb (Delete), resource (Zero Trust Access application), and scope (removes associated policies). Distinguishes well from sibling tools like cloudflare_zt_create_app or cloudflare_zt_list_apps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly warns 'DESTRUCTIVE' but does not provide when-to-use or when-not-to-use guidance compared to other delete tools. Missing context on when to choose this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_delete_idpB
DESTRUCTIVE: Delete an identity provider (IdP) from Zero Trust Access.
| Name | Required | Description | Default |
|---|---|---|---|
| provider_id | Yes | Identity provider ID (UUID) to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Labels tool as 'DESTRUCTIVE' which is helpful, but no further details on consequences such as impact on associated policies or apps. Lacks full behavioral context in absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise, front-loaded with 'DESTRUCTIVE' label. Every word adds value, though a bit more context would be acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple delete operation, but lacks mention of return behavior or confirmation. No output schema, so description could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all parameters with 100% description coverage. Description does not add extra meaning beyond schema for the sole parameter provider_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Delete an identity provider (IdP) from Zero Trust Access' with specific verb and resource. Distinct from sibling tools like cloudflare_zt_create_idp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus other alternatives, e.g., disabling an IdP instead of deleting. No context about prerequisites or side effects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_delete_policyB
DESTRUCTIVE: Delete an access policy from a Zero Trust Access application.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | Access application ID (UUID) | |
| policy_id | Yes | Policy ID (UUID) to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only labels the action as destructive but fails to disclose side effects, authorization requirements, or what happens if the policy is in use. This is insufficient for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one short sentence plus a warning prefix). It is front-loaded with 'DESTRUCTIVE' which is good, but could benefit from slightly more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low tool complexity (two parameters, no output schema), the description is minimal. It lacks context about how to obtain the IDs, error scenarios, or confirmation steps. For a destructive tool, more completeness is expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for both parameters (app_id and policy_id). The description adds no extra meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete) and the resource (access policy from a Zero Trust Access application). It distinguishes itself from sibling tools like cloudflare_zt_create_policy and cloudflare_zt_list_policies by specifying the exact resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'DESTRUCTIVE' prefix warns about the irreversible nature but does not explicitly state when to use or avoid this tool. No mention of prerequisites or alternatives, such as checking the policy exists before deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_gateway_statusA
Get the Zero Trust Gateway (DNS/HTTP filtering) configuration status for the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description only states 'Get' but does not disclose any behavioral traits such as rate limits, authentication requirements, or whether the operation is read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with action and resource. Highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless status retrieval tool, the description is adequate. Could mention that it returns configuration details, but lacking output schema makes it acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has zero parameters, so schema coverage is 100%. The description does not need to add parameter information, earning a baseline score of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and resource (Zero Trust Gateway configuration status). It distinguishes from sibling tools like cloudflare_zt_list_apps by focusing on status retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_get_appA
Get details for a specific Zero Trust Access application by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | Access application ID (UUID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behavioral traits. Only states 'get details' without mentioning read-only nature, authentication needs, or response scope. Insufficient for a mutating context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extraneous words. Front-loaded with action and resource. Maximum efficiency for the information conveyed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (1 param, simple retrieval) and no output schema, description is mostly complete. Could mention that details include full app configuration, but not critical. Adequate for a straightforward tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3 applies. Description adds no extra meaning beyond schema; 'by its ID' mirrors the schema description. No additional param context provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get details for a specific Zero Trust Access application by its ID.' Verb 'get', specific resource 'Zero Trust Access application', and retrieval by ID. Distinguishes from sibling list and create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use when needing details of one app by ID, but no explicit guidance on when to use vs. alternatives like list_apps. Context signals show sibling list_apps, but description lacks direct comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_list_appsA
List all Zero Trust Access applications for the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly implies a read-only operation ('list'), but does not disclose potential limitations like pagination or rate limiting. For a simple list with no parameters, this is adequate but not exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the full purpose with no wasted words. It is optimally front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward list operation with no parameters and no output schema, the description provides complete contextual information. It tells the agent exactly what the tool does without needing additional details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so the schema coverage is 100% by default. The description adds no parameter details since none are needed. This meets the baseline for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('list') and resource ('Zero Trust Access applications for the account'), making the purpose unambiguous. It stands out from sibling tools like cloudflare_zt_create_app or cloudflare_zt_get_app by implying a bulk retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives like cloudflare_zt_get_app or cloudflare_zt_create_app. However, the 'list' verb implies it is for retrieving all applications, which is a natural use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_list_idpsA
List all identity providers (IdPs) configured for Zero Trust Access on the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and description only states purpose without disclosing behavioral traits like authentication needs, rate limits, or side effects. For a read-only tool, more context could be given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no extraneous words. Efficiently communicates the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool, the description is adequate. Lacks details about return fields or pagination, but these are not critical for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has zero parameters, so baseline is 4. Description adds no parameter info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all identity providers for Zero Trust Access, distinguishing it from sibling create/delete tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies listing IdPs, but offers no explicit guidance on when to use this versus other list tools (e.g., list apps or policies) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloudflare_zt_list_policiesA
List all access policies attached to a Zero Trust Access application.
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | Access application ID (UUID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as idempotency, pagination, rate limits, or whether the operation is read-only. For a simple list, it lacks necessary context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 12 words, direct and front-loaded. Every word serves a purpose without unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic operation, but lacks details on output format, error handling, or edge cases. Given the lack of output schema, the description could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description adds minimal extra meaning beyond what the schema provides. The description contextualizes app_id as identifying the application, but provides no additional parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), resource (access policies), and context (attached to a Zero Trust Access application). It effectively distinguishes from sibling tools like cloudflare_zt_list_apps and cloudflare_zt_create_policy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to list policies for a given app, but does not explicitly provide guidance on when to use it over alternatives or note any prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Most tools target distinct resources and actions, but there is overlap between cloudflare_security_level_set and cloudflare_zone_setting_update for security level changes, which could cause confusion.
Tool names follow a consistent cloudflare_<area>_<action> pattern throughout, with minor variations like cloudflare_cache_purge still fitting the pattern.
47 tools is excessive for a typical MCP server, making navigation and selection inefficient; it falls in the 'too many' range.
While DNS, tunnels, and Zero Trust are well-covered, major Cloudflare products like Workers, SSL/TLS, and load balancing are absent, leaving significant gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Cloudflare Workers MCP server: api-flow-analyzer
Cloudflare Workers MCP server: ai-cost-optimizer
Cloudflare Workers MCP server: api-landing
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceA token-efficient MCP server for managing Cloudflare DNS zones and records with full CRUD support and bulk operations. It can be deployed locally via stdio or as a Cloudflare Worker for remote HTTP access.
- AlicenseAqualityDmaintenanceSlim OPNsense MCP Server — 62 tools for managing firewall infrastructure via the OPNsense REST API. Covers DNS/Unbound, Firewall rules, Diagnostics, Interfaces, DHCP (ISC + Kea), System/Backups, ACME/Let's Encrypt, and Firmware. No SSH, no shell, API-only with 3 runtime dependencies. AGPL-3.0 + Commercial dual-licensed.100542AGPL 3.0
- FlicenseAqualityDmaintenanceMCP server for managing and analyzing Cloudflare DNS — zones, records, analytics, and DNSSEC.141
- AlicenseBqualityBmaintenanceA local stdio MCP server that provides 69 tools for Cloudflare REST API v4, including DNS, Zones, Workers, KV, R2, D1, Pages, Queues, Tunnels, SSL, WAF, Email Routing, Logpush and Workers AI, authenticated by a single API token.69712MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/itunified-io/mcp-cloudflare'
If you have feedback or need assistance with the MCP directory API, please join our Discord server