Skip to main content
Glama

mcp-cloudflare

GitHub release License: AGPL-3.0 CalVer Node.js TypeScript mcp-cloudflare MCP server

Slim Cloudflare MCP Server for managing DNS, zones, tunnels, WAF, Zero Trust, and security via Cloudflare API v4.

No SSH. No shell execution. API-only. 3 runtime dependencies.

Table of Contents

Related MCP server: mcp-opnsense

Features

75 tools across 11 domains:

  • DNS — Record management (A, AAAA, CNAME, MX, TXT, SRV, CAA, NS), batch operations

  • Zones — Zone listing, settings, SSL/TLS configuration, cache management

  • Tunnels — Cloudflare Tunnel creation, configuration, and ingress management

  • WAF — Ruleset management, custom firewall rules, rate limiting

  • Zero Trust — Access application CRUD (create/delete), policies (create/delete), identity providers (create/delete), Gateway status

  • Security — Security event analytics, IP access rules, DDoS configuration, Security Center insights

  • Workers KV — Namespace management, key-value read/write/delete, key listing

  • Workers — Script deployment, route management

  • Worker Secrets — Secret management (names only, values never exposed)

  • Worker Analytics — Invocation metrics, CPU time, error rates via GraphQL

  • R2 Storage — Bucket management, object listing and metadata, custom domains, location hints

Quick Start

npm install
cp .env.example .env   # Edit with your Cloudflare API token
npm run build
node dist/index.js     # stdio transport for MCP

HashiCorp Vault Integration (Optional)

mcp-cloudflare supports loading Cloudflare credentials from a central HashiCorp Vault instance at startup via AppRole authentication. This is optional — the server works fine with plain environment variables alone.

How It Works

On startup, if NAS_VAULT_ADDR is set the server performs an AppRole login, fetches the KV v2 secret at <mount>/data/cloudflare/api, and injects the values into the process environment before the MCP transport starts. The loader is fully opportunistic:

  • If NAS_VAULT_ADDR is unset, the loader is a silent no-op. No Vault calls are made and the server behaves exactly as before.

  • On any Vault error (network failure, bad credentials, missing secret path), a single-line warning is written to stderr and the server falls back to whatever environment variables are already set.

  • Secret values are never logged. Only the KV path name and a populated-count appear in stderr diagnostics.

  • Uses the built-in fetch (Node 20+) — no additional runtime dependencies.

Credential Precedence

Explicit env vars (CLOUDFLARE_API_TOKEN etc.) > Vault > error (missing creds)

If you set CLOUDFLARE_API_TOKEN directly, the Vault loader will not overwrite it. Vault only fills in credentials that are not already present in the environment.

Vault Environment Variables

Variable

Required

Description

NAS_VAULT_ADDR

Yes*

Vault server address (e.g., https://vault.example.com:8200)

NAS_VAULT_ROLE_ID

Yes*

AppRole role ID for this server

NAS_VAULT_SECRET_ID

Yes*

AppRole secret ID for this server

NAS_VAULT_KV_MOUNT

No

KV v2 mount path (default: kv)

* Only required if using Vault. All three must be set together.

KV v2 Secret Structure

Write the Cloudflare credentials to the following path in Vault:

Path: kv/cloudflare/api
{
  "api_token": "your-cloudflare-api-token",
  "account_id": "your-account-id"
}

Key mapping:

Vault key

Environment variable

api_token

CLOUDFLARE_API_TOKEN

account_id

CLOUDFLARE_ACCOUNT_ID

Vault Setup Steps

1. Write credentials to KV v2:

vault kv put kv/cloudflare/api \
  api_token="your-cloudflare-api-token" \
  account_id="your-account-id"

2. Create a Vault policy:

# cloudflare-mcp-policy.hcl
path "kv/data/cloudflare/api" {
  capabilities = ["read"]
}
vault policy write cloudflare-mcp cloudflare-mcp-policy.hcl

3. Enable AppRole auth and create a role:

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 rotation

4. Retrieve the role ID and secret ID:

vault read auth/approle/role/cloudflare-mcp/role-id
vault write -f auth/approle/role/cloudflare-mcp/secret-id

Claude Desktop / MCP Config Example (with Vault)

When using Vault, no Cloudflare credentials are needed in the MCP config — only the three Vault variables:

{
  "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"
      }
    }
  }
}

NAS_VAULT_KV_MOUNT can be omitted if your KV engine is mounted at the default path kv. The Cloudflare API token and account ID will be fetched automatically at startup.


Claude Code Integration

Add to .mcp.json in your project root:

{
  "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"
      }
    }
  }
}

Configuration

Variable

Required

Default

Description

CLOUDFLARE_API_TOKEN

Yes

Cloudflare API Token (with appropriate permissions)

CLOUDFLARE_ACCOUNT_ID

No

Cloudflare Account ID (required for account-level operations)

CLOUDFLARE_TIMEOUT

No

30000

Request timeout in milliseconds

NAS_VAULT_ADDR

No

HashiCorp Vault URL, enables Vault AppRole loading (see below)

NAS_VAULT_ROLE_ID

No

Vault AppRole role_id

NAS_VAULT_SECRET_ID

No

Vault AppRole secret_id

NAS_VAULT_KV_MOUNT

No

kv

Vault KV v2 mount path

Loading Secrets from HashiCorp Vault (AppRole)

If you run a central Vault instance, mcp-cloudflare can fetch its credentials at startup via AppRole instead of passing them through the MCP config:

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

The loader reads KV v2 at <mount>/data/cloudflare/api and expects two keys: api_token and account_id. Example Vault write:

vault kv put kv/cloudflare/api \
  api_token=your-api-token-here \
  account_id=00000000000000000000000000000000

Precedence: process.env (explicit) > Vault. If NAS_VAULT_ADDR is unset the loader is a silent no-op — the server behaves exactly as before. On any Vault error (network, auth, missing path), a single-line warning is written to stderr and the server falls back to whatever env vars are already set.

Security: secret values are never logged. Only the KV path name and a populated-count appear in stderr diagnostics. Uses the global fetch (Node 20+) — no new runtime dependencies.

API Token Permissions

Create an API Token at dash.cloudflare.com/profile/api-tokens with the following permissions based on what you need:

  • DNS: Zone > DNS > Edit

  • Zone settings: Zone > Zone Settings > Edit

  • Cache purge: Zone > Cache Purge > Edit

  • Tunnels: Account > Cloudflare Tunnel > Edit

  • WAF: Zone > Firewall Services > Edit

  • Zero Trust: Account > Access: Apps and Policies > Edit

  • Security events: Zone > Analytics > Read

  • Workers KV: Account > Workers KV Storage > Edit

  • Workers: Account > Worker Scripts > Edit

  • R2: Account > R2 Storage > Edit

Multi-Zone Support

All zone-scoped tools accept a zone_id parameter that can be either:

  • A 32-character hex zone ID (e.g., 00000000000000000000000000000001) — used directly

  • A zone name / domain (e.g., example.com) — resolved automatically via the Cloudflare API

This allows managing multiple zones by name without needing to look up IDs manually.

Tools

Tools documentation is coming in v1 as tool modules are implemented. See docs/api-reference.md for the planned API endpoint mapping.

Skills

Claude Code skills compose MCP tools into higher-level workflows. See .claude/skills/README.md for detailed documentation.

Skill

Slash Command

Description

cloudflare-health

/cf-health

Zone health dashboard — DNS, security, tunnels, WAF, DDoS status

cloudflare-live-test

/cf-test

Live integration test — read + safe writes with cleanup

cloudflare-dns-management

DNS record management — add, list, update, delete across zones

cloudflare-incident-response

DDoS/attack emergency response — detect, assess, mitigate, monitor

cloudflare-security-audit

Security posture audit — WAF, events, IP access, DDoS analytics

cloudflare-tunnel-management

Tunnel management — create, configure ingress, monitor connections

cloudflare-waf-management

WAF management — custom rules, rulesets, IP access, Under Attack

cloudflare-zero-trust

Zero Trust — access apps, policies, identity providers, gateway

cloudflare-kv-manage

Workers KV — namespace and key-value CRUD operations

cloudflare-worker-deploy

Workers — script deployment, routes, secrets, analytics

cloudflare-r2-manage

R2 Storage — bucket and object management, audit workflows

Development

npm run build      # Compile TypeScript
npm test           # Run unit tests (vitest)
npm run typecheck  # Type check only (no emit)

See CONTRIBUTING.md for contribution guidelines.

License

This project is dual-licensed:

If you use mcp-cloudflare in a proprietary product or SaaS offering, a commercial license is required. Support development by sponsoring us on GitHub.

Available Tools

95 tools
cloudflare_account_infoA

Get Cloudflare account details (account name, ID, settings). No zone_id needed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
filesNoArray of URLs to purge (e.g., ['https://example.com/styles.css'])
tagsNoArray of cache tags to purge (Enterprise only)
prefixesNoArray of URL prefixes to purge (Enterprise only, e.g., ['example.com/assets/'])
purge_everythingNoSet to true to purge ALL cached content for the zone. Use with caution.

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
certificate_pack_idYesCertificate pack ID

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by certificate status (optional)
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
sinceNoISO 8601 datetime to query from (default: 24 hours ago). E.g., '2026-03-12T00:00:00Z'
limitNoMaximum number of result groups to return (default: 100, max: 10000)

TDQS

B3.3/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
typeYesRecord type
nameYesRecord name (e.g., 'www', '@', 'mail.example.com')
contentYesRecord content (IP for A/AAAA, hostname for CNAME/MX, text for TXT)
proxiedNoWhether to proxy traffic through Cloudflare (default: false)
ttlNoTTL in seconds — 1 = auto (Cloudflare-managed), 60–86400 otherwise
priorityNoPriority (required for MX and SRV records, 0–65535)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
record_idYesDNS record ID (32-char hex)

TDQS

B3.1/5.0
Behavior1/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
record_idYesDNS record ID (32-char hex)

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
file_contentYesBIND zone file content to import

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
typeNoFilter by record type
nameNoFilter by record name (exact match)
contentNoFilter by record content
proxiedNoFilter by proxied status
pageNoPage number (default: 1)
per_pageNoResults per page, max 5000 (default: 100)

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_dnssec_disableA

DESTRUCTIVE: Disable DNSSEC for a zone. Also remove the DS record at your domain registrar to avoid DNS resolution failures.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
record_idYesDNS record ID (32-char hex)
typeYesRecord type
nameYesRecord name
contentYesRecord content
proxiedNoWhether to proxy through Cloudflare
ttlNoTTL in seconds — 1 = auto, 60–86400 otherwise
priorityNoPriority for MX/SRV records (0–65535)

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesAction mode for the rule
notesNoOptional notes describing why the rule was created
valueYesValue to match: IP address (192.0.2.1), CIDR (192.0.2.0/24), ASN number (AS12345), or 2-letter country code (US)
targetYesType of target to match
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
rule_idYesRule ID to delete
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoFilter by rule mode
pageNoPage number (default: 1)
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
per_pageNoResults per page, max 1000 (default: 20)

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_nameYesKey name to delete (max 512 characters)
namespace_idYesKV namespace ID (32-character hex string)

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of keys to return (1-1000, default: 1000)
cursorNoPagination cursor from a previous request
prefixNoFilter keys by prefix
namespace_idYesKV namespace ID (32-character hex string)

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesTitle for the new KV namespace

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
namespace_idYesKV namespace ID (32-character hex string)

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
per_pageNoResults per page (1-100, default: 20)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_nameYesKey name to read (max 512 characters)
namespace_idYesKV namespace ID (32-character hex string)

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesValue to store
key_nameYesKey name to write (max 512 characters)
namespace_idYesKV namespace ID (32-character hex string)
expiration_ttlNoTime-to-live in seconds (minimum 60). Key is automatically deleted after this period.

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesBucket name (3-63 chars, lowercase alphanumeric and hyphens)
location_hintNoLocation hint for bucket placement (apac=Asia Pacific, eeur=Eastern Europe, enam=Eastern North America, weur=Western Europe, wnam=Western North America)

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bucket_nameYesName of the R2 bucket to delete

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCustom domain to attach (e.g., assets.example.com)
enabledNoWhether the custom domain is enabled (default: true)
zone_idYesZone ID or zone name that owns the domain (e.g., example.com or 32-char hex ID)
bucket_nameYesName of the R2 bucket

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bucket_nameYesName of the R2 bucket

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesCustom domain to remove
bucket_nameYesName of the R2 bucket

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bucket_nameYesName of the R2 bucket

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderNoSort field
cursorNoPagination cursor from a previous request
per_pageNoResults per page (1-1000, default: 1000)
directionNoSort direction (default: asc)
name_containsNoFilter buckets whose name contains this string

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_keyYesKey (path) of the object to delete
bucket_nameYesName of the R2 bucket

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_keyYesKey (path) of the object
bucket_nameYesName of the R2 bucket

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
cursorNoPagination cursor from a previous request
prefixNoFilter objects by key prefix (e.g., 'brand/' to list only brand assets)
per_pageNoMaximum objects to return (1-1000)
delimiterNoDelimiter for directory-like listing (e.g., '/' to group by folder)
bucket_nameYesName of the R2 bucket

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
rate_limit_idYesRate limit rule ID

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
per_pageNoResults per page, max 100 (default: 20)

TDQS

B3.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
sinceNoISO 8601 datetime to query from (default: 1 hour ago). E.g., '2026-03-13T00:00:00Z'
limitNoMaximum number of events to return (default: 100, max: 10000)

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
per_pageNoResults per page, max 1000 (default: 25)
severityNoFilter by severity level
dismissedNoFilter by dismissed status (default: false = active only)
issue_typeNoFilter by issue type

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
valueYesSecurity level to set

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesSSL/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_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesMinimum TLS version: '1.0' (legacy), '1.1', '1.2' (recommended minimum), '1.3' (most secure)
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnel_idYesTunnel UUID

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnel_idYesTunnel UUID
configYesTunnel ingress configuration object

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the tunnel

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnel_idYesTunnel UUID to delete

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnel_idYesTunnel UUID

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
per_pageNoResults per page, max 100 (default: 25)
nameNoFilter by tunnel name (partial match)
is_deletedNoFilter by deleted status (false = active, true = deleted)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnel_idYesTunnel UUID

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
expressionYesCloudflare Rules Language expression (e.g., '(ip.src eq 192.0.2.1)')
actionYesAction to take when the rule matches
descriptionNoOptional human-readable description for the rule

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
ruleset_idYesRuleset ID containing the rule
rule_idYesRule ID to delete

TDQS

C2.9/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
ruleset_idYesRuleset ID

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.).

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesHostname to enable analytics on (e.g., 'example.com')
zone_tagNoOptional zone ID to link the site to (enables auto-inject at the edge). 32-char hex.
auto_installNoAuto-inject the beacon script at the edge (default: true)

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesRUM site ID to delete

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesRUM site ID

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_byNoOrder results by field (default: host)

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of data points to return (default: 100, max: 10000)
sinceNoISO 8601 datetime to query from (default: 24 hours ago). E.g., '2026-03-15T00:00:00Z'
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of data points to return (default: 100, max: 10000)
sinceNoISO 8601 datetime to query from (default: 1 hour ago). E.g., '2026-03-15T00:00:00Z'

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_nameYesWorker script name to delete

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_nameYesWorker script name (lowercase alphanumeric and hyphens)
content_typeNoContent type of the script (default: 'application/javascript+module')
script_contentYesJavaScript or TypeScript source code for the Worker
compatibility_dateYesCompatibility date (e.g., '2026-03-15')
compatibility_flagsNoOptional compatibility flags (e.g., ['nodejs_compat'])

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
environmentNoOptional wrangler environment name (e.g., 'uat', 'production'). Maps to [env.<name>] in wrangler.toml
project_pathYesAbsolute path to the Workers project directory containing wrangler.toml

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYesWorker script name to route to
patternYesURL pattern to match (e.g., '*.example.com/api/*')
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_nameYesWorker script name (lowercase alphanumeric and hyphens)
secret_nameYesName of the secret to delete

TDQS

A3.5/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_nameYesWorker script name (lowercase alphanumeric and hyphens)

TDQS

A3.8/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_nameYesWorker script name (lowercase alphanumeric and hyphens)
secret_nameYesName of the secret (e.g., 'API_KEY', 'DB_PASSWORD')
secret_valueYesSecret value to store

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of scripts to return (default: 100, max: 10000)
sinceNoISO 8601 datetime to query from (default: 24 hours ago). E.g., '2026-03-14T00:00:00Z'

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')

TDQS

A3.7/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default: 1)
per_pageNoResults per page, max 50 (default: 20)
statusNoFilter by zone status
nameNoFilter by zone name (exact match)

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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').

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
setting_nameYesSetting name (e.g., 'ssl', 'security_level', 'always_use_https', 'minify')

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
zone_idYesZone ID (32-char hex) or zone name (e.g., 'example.com')
setting_nameYesSetting name (e.g., 'ssl', 'security_level', 'always_use_https')
valueYesNew value for the setting (type depends on the specific setting)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesApplication name
domainYesPrimary application domain (e.g., 'app.example.com' or 'app.example.com/path*')
typeNoApplication type (default: self_hosted)
session_durationNoSession duration (e.g., '8h', '24h', '30m'). Default: 24h
allowed_idpsNoArray of IdP UUIDs to restrict login methods. Omit to allow all configured IdPs.
auto_redirect_to_identityNoAuto-redirect to IdP login instead of showing app launcher (default: false)
app_launcher_visibleNoShow in the Zero Trust App Launcher (default: true)
self_hosted_domainsNoAdditional domains for this app (multi-domain). Primary domain is always included.

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesIdP display name (e.g., 'my-github-idp')
typeYesIdentity provider type
configYesProvider-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

B3.4/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesAccess application ID (UUID)
nameYesPolicy name
decisionYesPolicy decision: allow (requires authentication), deny (blocks access), non_identity (bypass IdP), bypass (allow everyone)
includeYesArray 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

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesAccess application ID (UUID) to delete

TDQS

A4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
provider_idYesIdentity provider ID (UUID) to delete

TDQS

B3.4/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesAccess application ID (UUID)
policy_idYesPolicy ID (UUID) to delete

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesAccess application ID (UUID)

TDQS

A3.6/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesAccess application ID (UUID)

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

B3.2/5.0
Disambiguation4/5

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.

Naming Consistency4/5

Tool names follow a consistent cloudflare_<area>_<action> pattern throughout, with minor variations like cloudflare_cache_purge still fitting the pattern.

Tool Count2/5

47 tools is excessive for a typical MCP server, making navigation and selection inefficient; it falls in the 'too many' range.

Completeness2/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    A 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.
  • A
    license
    A
    quality
    D
    maintenance
    Slim 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.
    100
    54
    2
    AGPL 3.0

Latest Blog Posts

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