mcp-cloudflare-crunchtools
Server Quality Checklist
Latest release: v0.5.0
- Disambiguation5/5
Each tool targets a distinct Cloudflare resource and action. Overlapping concepts like request vs response header rules are clearly delineated by name and description, leaving no ambiguity about which tool to use.
Naming Consistency5/5All tools follow a consistent verb_noun_tool pattern (e.g., list_zones_tool, create_dns_record_tool, purge_cache_tool). The uniform '_tool' suffix and regular verb usage make the naming predictable and easy to navigate.
Tool Count3/5With 26 tools, the count is at the upper edge of comfortable scope. While every tool has a purpose, the sheer number of rule-related tools (headers, URL rewrites, page rules, WAF) makes it feel somewhat heavy, though not overwhelmingly so.
Completeness4/5The server covers CRUD for DNS, page rules, and WAF rules, along with list/set for header and URL rewrite rules, cache purging, and analytics. Minor omissions like zone settings update are acceptable, but the core Cloudflare management workflows are well represented.
Average 3.6/5 across 26 of 26 tools scored. Lowest: 2.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is failing
This repository is licensed under AGPL 3.0.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavior. It reveals nothing about side effects, idempotency, required permissions, or error conditions. The description is a bare statement of intent, offering minimal transparency into the tool's actual operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at six words, but this brevity borders on under-specification. It is not misleading, but it doesn't earn its place by adding any clarifying information beyond the tool name. It's brief but not structured or front-loaded with useful details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a relatively simple create operation with a comprehensive schema, the description is adequate but minimal. It doesn't explain return values or edge cases, though the presence of an output schema mitigates the need for that. Given the tool's complexity, the description is just enough to function but lacks the richness that would elevate it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for parameters, so the baseline is 3. The description does not add any additional semantics beyond what the schema already provides. Since the schema is self-documenting, the description's lack of parameter details is acceptable, but it also doesn't enhance the meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create a new page rule.' is essentially the English expansion of the tool name 'create_page_rule_tool'. It restates the tool's name without adding any specific details about the resource or context. This borders on tautology, as it doesn't distinguish this tool from its siblings like update_page_rule_tool or delete_page_rule_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/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description simply states what the tool does without mentioning scenarios, prerequisites, or comparisons to sibling tools. The agent receives no help in deciding between this and other rule-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries full responsibility for behavioral disclosure. It fails to mention that updating is a mutating operation, potential irreversible overwrites, or any permission requirements. The single sentence provides no additional behavioral insight beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence with no wasted words. However, it is under-specified for a tool with complex behavior, but conciseness is about efficiency, and this is efficient albeit minimal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 9 parameters, is a mutation operation, and has no annotations or output schema explanations, the description is severely incomplete. It does not explain what fields can be changed, the effect of partial updates, or any constraints. It is far from minimally viable for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 9 parameters with 100% coverage, so the baseline is 3. The description adds no parameter-specific information beyond what the schema provides, which is acceptable given the schema's completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (update) and resource (existing DNS record), distinguishing it from create/delete operations. It is specific enough to understand the tool's core purpose, though it lacks detail on what can be updated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. It does not mention prerequisites like needing zone_id and record_id, nor does it suggest retrieving them from list_dns_records_tool. It offers no context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of explaining behavioral traits. It only repeats the tool's name without disclosing any side effects, idempotency, permission requirements, or rate limits. For a mutating operation, this 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded and without any filler. It is appropriately concise for a straightforward create operation, and the schema handles detailed parameter documentation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 8 parameters and an output schema, the description is minimal. It does not explain the operation's context, such as the need for a valid zone_id or how it relates to sibling tools. The output schema exists, so return values are handled, but the description still lacks important contextual guidance for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so all parameters are already described in the schema. The description adds no additional meaning beyond what the schema provides, which meets the baseline of 3. It does not explain parameter relationships or default behaviors beyond schema notes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Create a new DNS record.' It specifies the verb and resource, and there is no ambiguous terminology. However, it does not explicitly distinguish from sibling tools like update_dns_record or list_dns_records, though the name itself does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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, common use cases, or scenarios where other tools (e.g., update or list) would be more appropriate. For a create operation, it could at least imply that it's for new records, but it offers no context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 states 'Delete' which implies destructive action, but doesn't disclose irreversibility, potential impact on DNS resolution, or any confirmation/rollback behavior. This is a significant gap 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no waste, but it is under-specified rather than concise. It earns a 4 for efficiency, though it could be improved with more context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no annotations and no output schema details, the description is incomplete. It doesn't explain return values, error conditions, or the irreversible nature of the operation. The output schema exists but the description doesn't leverage it to explain what the agent should expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters (zone_id and record_id as 32-character hex strings). The description adds no 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/5Does 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 (DNS record), which is specific and unambiguous. It distinguishes from siblings like create_dns_record_tool and update_dns_record_tool, though it doesn't explicitly mention scope or context beyond the 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/5Does 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, prerequisites (e.g., needing zone_id and record_id from list/get tools), or any exclusions. The description is minimal and doesn't help the agent decide when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It does not state whether the update is partial or full replacement, what happens to unspecified fields, or whether the operation is idempotent. It also does not mention any side effects or validation behavior. For a mutation tool, this 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is appropriately sized for a simple update operation, though it could be slightly more informative without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a mutation tool with no annotations and an output schema, the description is incomplete. It does not explain the update semantics (partial vs full), nor does it provide any context on how to use the optional parameters. The output schema exists but the description does not clarify what the response contains or how to interpret success/failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond the schema. The baseline of 3 is appropriate since the schema does the heavy lifting, but the description does not clarify how the optional parameters interact (e.g., whether omitting them preserves existing values).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing page rule' clearly states the verb (update) and resource (page rule), and distinguishes it from sibling tools like create_page_rule_tool and delete_page_rule_tool. It is concise and unambiguous, though it could mention the scope (zone-specific) but that is implied by the required parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 that it requires an existing rule ID, nor does it explain the relationship to list_page_rules_tool for finding the rule_id. There is no context on prerequisites or typical usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior on its own. It only states 'Delete a page rule' without indicating that this is a destructive, irreversible operation, any permission requirements, or what happens on success/failure. For a delete tool, this is a critical omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no superfluous words. It is concise and front-loaded, accurately stating the core function. There is zero waste, which is ideal for a simple operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a delete operation with no annotations and a minimal description, it lacks essential context. It does not mention that the operation is permanent, that the zone and rule must exist, or what the output schema contains. The existence of an output schema does not compensate for the missing behavioral and prerequisite context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with descriptions ('Page rule ID (32-character hex string)' and 'Zone ID (32-character hex string)'). The tool description adds no additional parameter context, such as how to find these IDs or any dependencies between them. Since schema coverage is high, 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/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Delete a page rule.' This is a specific verb and resource, directly distinguishing it from sibling tools like create_page_rule, update_page_rule, and list_page_rules. It accurately conveys what the tool does without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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., that the page rule must exist or how to obtain the rule_id), nor does it contrast with similar delete operations like delete_waf_rule. The name and siblings imply usage, but the description itself lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 disclosure burden. It only says 'List all page rules,' implying a read operation, but fails to disclose pagination behavior, limits, ordering semantics, or what 'all' implies given the filter/order params. No behavioral traits are revealed beyond the bare purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single efficient sentence with zero wasted words. For a simple list tool with fully documented schema and an output schema, this level of brevity is appropriate and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity with 3 params (1 required), full schema coverage, and an output schema that explains return values. However, with no annotations and no usage context, the description leaves behavioral gaps—no pagination note, no interaction context with sibling create/update/delete page_rule tools—making it adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 parameter detail, but the schema already documents zone_id as a 32-character hex, order default 'priority,' and status filter. The description doesn't need to compensate given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all page rules for a zone' states a specific verb (List), resource (page rules), and scope (for a zone). It distinguishes itself from sibling list tools (list_dns_records, list_waf_rules) by naming the resource type, though it doesn't explicitly contrast with close siblings like list_response_header_rules_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/5Does 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. There's no mention of when-not-to-use, ordering caveats, draining behavior, or related tools. The description gives zero usage context beyond restating the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It does not explicitly state that the operation is read-only, nor does it mention potential pagination, rate limits, or other side effects. The verb 'List' implies non-mutation, but that is weak evidence and no additional context is offered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no filler or redundant content. Every word contributes to the core meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a simple list tool with an output schema and complete parameter schema, the minimum viable description is nearly met. However, it lacks any usage context (e.g., when to use, how it relates to setting rules), which would make it more self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% documentation of the single zone_id parameter, including its format. The description adds no parameter-specific meaning, so the schema suffices and the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and a clear resource ('response header modification rules'). It distinguishes from the sibling list_request_header_rules_tool through the 'response' qualifier, though it does not elaborate on scope or behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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., set_response_header_rules_tool or list_request_header_rules_tool). The intended context is only vaguely implied by the verb 'List'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It only says 'List URL rewrite rules' and does not state that the operation is read-only, describe return format (though output schema exists), or mention any potential errors, rate limits, or scope limitations. Minimal transparency provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that directly states the tool's function without any fluff or redundancy. It is well-structured and appropriately brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one parameter and an output schema, the description is adequate but minimal. It does not mention pagination, filtering, or any contextual cues about when to use the tool. The lack of usage guidance makes completeness only average.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% since the zone_id parameter is accurately described as 'Zone ID (32-character hex string)'. The description does not add any extra semantics beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and resource ('URL rewrite rules'), making the purpose immediately clear. However, it does not differentiate from sibling list tools like list_request_header_rules_tool or list_page_rules_tool, lacking any mention of zone scope or specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. There is no mention of prerequisites, common use cases, or exclusions, leaving the agent to infer applicability solely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full burden. It only says 'List', implying read-only, but does not disclose pagination defaults, rate limits, or that it returns a paginated list. It also doesn't clarify that all filters are optional or that results are ordered by default. No mention of error handling or authentication 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler. It is as concise as possible while conveying the core purpose. No unnecessary detail or repetition of schema information. Long enough to be useful, short enough to be instantly parsed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the schema fully describes parameters and an output schema exists, the description is minimally adequate. However, it lacks any hint about the scope of results (e.g., pagination limits, default sorting) or the fact that it returns a list of records. An agent might not know that it returns a list unless inferred from the name. For a list tool with pagination and filters, a bit more context (like 'returns a paginated list' or 'use filters to narrow results') would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (every parameter has a description). The description adds no extra meaning beyond what the schema already provides. It lists the tool's purpose but does not elaborate on parameter behavior (e.g., that name/type/content are optional filters, or that page/per_page control pagination). Since schema covers the parameters, baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (list), the resource (DNS records), and the scope (for a Cloudflare zone). It unambiguously distinguishes from siblings like get_dns_record_tool (single record) and create/update/delete tools. The verb-resource pair is specific and immediately understood.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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. Does not mention that this is the go-to for listing multiple records while get_dns_record_tool is for a specific record. No context on when to apply filters or pagination. The description is purely declarative with no usage scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source of behavioral insight. It only says 'list all' without mentioning pagination behavior, potential filtering, or side effects. The schema includes pagination parameters, but the description doesn't clarify that 'all' requires paging through results, which could mislead an agent expecting a single response with all zones.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently communicates the core purpose without any superfluous text. It is front-loaded and immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively simple with an output schema and fully documented parameters, so the base need is met. However, the description omits guidance on when to use this tool versus get_zone_tool and does not address pagination nuance, making it slightly incomplete for an optimal agent decision.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with clear descriptions for each parameter (name, page, status, per_page). The description adds no additional meaning beyond what the schema already provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists Cloudflare zones accessible by the API token. The verb 'list' and resource 'zones' are specific, and it differentiates from get_zone_tool which retrieves a single zone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like get_zone_tool, nor does it mention any exclusions or prerequisites. It simply states the action 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.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It only states 'List request header modification rules,' which implicitly suggests read-only, but does not mention prerequisites, authentication, pagination, or other behavioral traits. The description adds no context beyond the obvious action and resource.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single terse sentence with no wasted words. It is front-loaded and efficient, but it is also sparse, leaving some value on the table. It earns a 4 for not being padded, though a bit more detail could have been added without harming conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given 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 an output schema (likely covering return structure), the minimal description is adequate. However, it lacks any behavioral transparency (e.g., read-only nature, pagination) and does not clarify the distinction from the response header counterpart. It is a minimum viable description but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter zone_id, which is described as a 32-character hex string. The description adds nothing beyond that, but the schema already provides the necessary semantics. Baseline of 3 is appropriate given high schema coverage and no additional parameter details in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (List) and the resource (request header modification rules), and it distinguishes from the sibling list_response_header_rules_tool by specifying 'request'. This is a specific verb+resource phrasing that leaves no ambiguity about the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool lists request header rules for a given zone (as required by the schema), but it does not explicitly contrast with the sibling tool for response header rules or provide guidance on when to prefer this over alternative tools. The context is clear but lacks explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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, and it does a decent job by disclosing the exact output metrics and the date-range scope. However, it omits behavioral details such as timezone handling, data latency, permission requirements, or idempotency guarantees. It does not contradict any annotations, but it also doesn't go beyond the obvious for a read-only analytics endpoint, so it meets the baseline without excelling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, each earning its place: the first sentence defines the tool's purpose, the second lists the returned metrics, and the third gives the key parameter constraint. No wasted words, perfect front-loading of purpose. Exemplary conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (covering return value details), this description is complete for a summary tool. It covers the input date range, the selection method, and the aggregate metrics returned. However, it could be slightly more complete by mentioning timezone assumptions or whether historical data is delayed, but these are minor given the output schema and the tool's straightforward nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While schema coverage is 100% (all four parameters documented), the description adds critical semantic value by stating 'Provide either zone_id or zone_name, not both,' which is a constraint not derivable from the schema alone. This adds meaningful guidance beyond the parameter descriptions, meriting an above-baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns a 'zone traffic analytics summary' with specific metrics (requests, unique visitors, bandwidth, cache ratio, status codes). It uses a specific verb ('Get') and resource ('zone traffic analytics'), making the purpose unmistakable. However, it does not explicitly differentiate itself from sibling analytics tools like get_traffic_by_country_tool or get_top_pages_tool, though the name and return fields largely compensate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to choose this tool over alternatives such as get_traffic_by_country_tool or get_top_pages_tool. It does not mention use cases, exclusions, or prerequisites. The only 'guidance' is the mutual-exclusivity constraint for zone_id/zone_name, which is a parameter rule rather than usage direction. No explicit when-to-use or when-not-to-use context is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of disclosing behavioral traits. The description only states the action, not the consequences (e.g., deletion is irreversible, affects specific zone, requires both rule_id and zone identifier). It does not mention whether the tool is mutating, but that is inferred from the verb. Insufficient disclosure of side effects or prerequisites beyond the parameter 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the core purpose in the first sentence and a crucial usage constraint in the second. It is concise and front-loaded, with no wasted words. Every sentence adds value, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, all documented in schema) and the presence of an output schema (likely indicating deletion success), the description is adequate. However, it lacks context on error handling (e.g., what happens if the rule doesn't exist) and prerequisites (e.g., the rule must belong to the specified zone). The instruction on zone disambiguation is a plus, but the deletion's irreversible nature is not highlighted. Overall, minimal but sufficient for a straightforward delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are well-documented structurally. The description adds the constraint of providing exactly one of zone_id or zone_name, which is not evident from the schema alone. This is valuable semantic context that helps the agent avoid incorrect invocations. The description does not add syntax details beyond the schema, but the mutual exclusivity rule compensates, earning a near-high score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool deletes a WAF custom rule, using a specific verb ('Delete') and resource ('WAF custom rule'). It distinguishes from siblings like 'update_waf_rule_tool' and 'create_waf_rule_tool' by indicating the deletion action. The name also aligns with the description, making intent unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to provide either zone_id or zone_name, not both, giving clear usage constraints. However, it does not state when to use this tool versus alternatives like list_waf_rules_tool for finding rule_id or update_waf_rule_tool for modifying instead of deleting, but the sibling context implies deletion is separate. Lacks explicit 'when not to use' but is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries full burden. It states the output is grouped, implying some aggregation, but does not clarify read-only nature, authentication needs, rate limits, or error behavior. The description is not misleading but is severely under-specified for behavioral 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the purpose. No fluff, immediate clarity. The constraint is stated last, but the whole description is under 30 words. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema (though not shown here), the description adequately covers the main context for a simple read tool: what it returns (grouped events) and a key usage constraint. It does not address default behavior when neither zone parameter is given, but for a security events tool this is a minor gap. Overall sufficient for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions (100% coverage). The description adds value by explicitly stating the mutual exclusivity of zone_id and zone_name, which is not encoded in the schema. This goes beyond schema documentation and helps avoid misuse.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool fetches security/firewall events, specifies the grouping (by action and source), and is distinct from sibling tools which handle DNS, rules, cache, etc. The verb 'get' plus resource 'security/firewall events' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit constraint: 'Provide either zone_id or zone_name, not both.' This is valuable usage guidance. However, it does not mention when to prefer this tool over alternatives (though siblings are clearly different domains) or what happens when no zone is provided. It still offers clear direction for parameter selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses the mutual exclusivity constraint ('not both') but does not explain what happens if neither zone_id nor zone_name is provided, or if both are provided. It also omits authentication/rate-limit details, though the tool is a simple read-only analytics call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no wasted words. The first sentence states the core purpose, and the second states the key constraint. It is front-loaded and highly scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 optional parameters and an output schema, but the description does not clarify the expected behavior when neither zone_id nor zone_name is supplied (schema defaults to null). This ambiguity is a notable gap, though the output schema likely covers return structure. The description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters are individually documented. The description adds relational meaning beyond the schema by stating 'Provide either zone_id or zone_name, not both,' which is not captured in the parameter descriptions. This additional semantic linkage raises the score above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Get top pages by request count.' This clearly distinguishes the tool from sibling analytics tools like get_zone_analytics_tool or get_traffic_by_country_tool, which target different metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Provide either zone_id or zone_name, not both' gives clear usage constraints for parameters, but it does not explicitly state when to choose this tool over alternatives. The context for selecting this tool versus siblings is only implied by its purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 any behavioral aspects such as whether the operation is read-only, possible side effects, or required permissions. The burden is on the description, and it fails to mention these aspects, leaving the agent without crucial information about the tool's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, consisting of only two sentences. It conveys the essential purpose and the critical constraint without any redundant or vague language. Every word serves a purpose, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (a read-like operation with no output schema provided), the description is mostly complete. It covers the core function and usage constraint. However, it does not mention what the response contains or any error conditions, but these are not strictly required for a basic getter. The lack of output specification slightly reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for all parameters, achieving 100% coverage. Additionally, the description adds a key semantic detail: the mutual exclusivity of zone_id and zone_name. This clarifies a constraint that is not explicitly encoded in the schema, enhancing the agent's ability to correctly set parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get traffic breakdown by country.' This is a specific verb+resource combination that distinguishes it from sibling tools like list_zones or get_zone_analytics, which focus on other aspects. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage instruction: 'Provide either zone_id or zone_name, not both.' This tells the agent how to correctly invoke the tool. However, it does not explicitly mention when to use this tool over alternatives, such as when traffic data is needed versus other analytics. Still, the constraint is valuable and goes beyond a generic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/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 behavioral disclosure. The description mentions the mutual exclusivity of parameters, which is a behavioral constraint, but it does not disclose that this is a read-only operation, list behavior, or potential edge cases (e.g., what happens if neither is provided). This leaves gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, concise, and front-loaded with the main purpose. Every sentence earns its place—the first states the action, the second provides a critical usage instruction. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's relative simplicity (2 params, no nested objects, and output schema exists), the description is mostly complete. The mutual exclusion rule is covered, and the output schema likely documents return values. However, it misses a note on whether this returns a list or pagination, which could be inferred from the output schema. Overall, adequate for a list tool without annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds value by stating the mutual exclusivity rule (provide either zone_id or zone_name), which is not in the schema. This is a meaningful addition that enhances parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all WAF custom rules for a zone, distinguishing it from sibling tools like create_waf_rule_tool and delete_waf_rule_tool. However, it doesn't explicitly contrast with the similar list_response_header_rules_tool or list_request_header_rules_tool, but the resource 'WAF custom rules' is specific enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to provide either zone_id or zone_name, not both, which is crucial for correct invocation. However, it does not explain when to use this tool versus other list tools or mention prerequisites like zone existence. This provides clear invocation constraints but lacks broader usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose side effects, permissions, or whether omitted parameters are merged or overwritten. This lack of behavioral detail is a significant gap for an update 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. It states the purpose and a key parameter rule, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the resource and action are clear, the description does not explain what happens to unspecified optional fields (e.g., whether they are left unchanged or reset). Given the update context, this ambiguity leaves the behavior incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema descriptions are minimal (e.g., 'New action (optional)'), but the tool description adds a crucial constraint about zone_id/zone_name exclusivity. This extra guidance goes beyond the schema, which lists both as optional without that relationship.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Update an existing WAF custom rule' clearly identifies the operation (update) and the resource (WAF custom rule), distinguishing it from create/delete/list siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a specific usage constraint: 'Provide either zone_id or zone_name, not both.' It does not explicitly mention alternative tools, but the action and resource make it clear when to use it relative to WAF rule operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It states the tool gets details, but does not clarify what happens if both parameters are provided (error? precedence?) or if neither is provided. It also doesn't mention any side effects, but as a GET-like tool it's likely read-only. The 'not both' hint is helpful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, concise and front-loaded with the main action. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the toolhol (two optional params, output schema present), the description is adequate. It doesn't mention what happens if both or none are provided, but the phrase 'Provide either' implies one is needed. Overall complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already provides descriptions for each parameter. The description adds the crucial constraint of providing either one, not both. This adds value beyond the schema, especially since neither is required in the JSON schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Get Cloudflare zone details by ID or name.' This is a specific verb+resource combination, and the mention of 'by ID or name' distinguishes it from sibling tools like list_zones_tool which retrieves multiple zones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to provide either zone_id or zone_name, not both, which gives clear usage guidance. However, it does not explicitly mention when to choose this over list_zones_tool or other alternatives, so it lacks exclusionary context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- 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 of behavioral disclosure. It clearly states that it purges cached content, implying a destructive action, but does not explicitly mention consequences like irreversible removal, impact on all visitors, or potential rate limits. The action is implied but not elaborated. Since 'purge' is a well-understood destructive operation, the description is minimally transparent but lacks depth about 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences. The first sentence states the purpose, and the second gives usage guidance. There is zero fluff, no repetition of schema details, and every word earns its place. It is front-loaded with the core action and immediately provides actionable usage instructions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has six parameters, mutual exclusivity, and Enterprise plan restrictions, the description covers the core usage effectively. It does not explain return values, but an output schema exists, so that is not needed. It could have mentioned that purge is irreversible or that only one mode should be used, but it already implies 'use one of'. The description is complete enough for an agent to understand what to do, though it could be more explicit about the destructive nature and any rate limits.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does 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 value by explicitly stating 'Use one of: purge_everything, files, tags, hosts, or prefixes', which conveys mutual exclusivity not stated in the schema. It also reinforces the Enterprise plan requirement for tags, hosts, and prefixes, which is already in the schema but reinforced in a usage context. This adds semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Purge cached content') and the specific resource ('Cloudflare's edge'). It distinguishes itself from sibling tools, which are all list/create/update/delete operations for DNS, rules, and analytics, while this is the only purge operation. The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists the five possible modes (purge_everything, files, tags, hosts, prefixes) and indicates that tags, hosts, and prefixes require an Enterprise plan. This tells the agent which parameter to use for different scenarios. Since this is the sole purge tool, there are no alternative tools to compare against, but the guidance within the tool is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden. The verb 'Get' strongly implies a read-only operation with no side effects, but it does not explicitly state that no data is modified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no redundant information, making it easy to understand at a glance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation, the description is sufficient. It covers the key aspects (single record, identifier-based) and does not require additional context about return values or errors, as the output schema is available.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no additional meaning beyond the schema's parameter descriptions, which are already complete for both zone_id and record_id. Since schema coverage is 100%, the description provides no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('DNS record'), and the scope ('single' and 'by ID'), distinguishing it from listing or other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when you have a specific record ID), but does not explicitly mention alternatives like listing. However, the sibling list tool exists and the wording is clear enough for typical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/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 of behavioral disclosure. It clearly states 'replaces all existing rules' – a destructive, non-reversible action if unintended. It also constrains action to 'rewrite', adding operational detail. However, it doesn't mention permission requirements, failure modes, or whether the replacement is atomic. Still, it addresses the most critical behavioral aspect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: two sentences plus a clear bullet list. It front-loads the purpose and key side effect, then uses bullets to enumerate the rule fields. No wasted words or redundancy; each element adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists (not shown in description), there's no need to explain return values. The description adequately covers the input structure for both parameters: zone_id is self-evident from schema, and rules are detailed. It lacks mention of validation rules, error handling, or prerequisites like zone existence, but for a setter tool with a well-structured input, it is reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema's description for 'rules' is only 'List of rule definitions', which is minimal. The description adds substantial meaning by specifying each rule must contain 'expression', 'description', 'action', and 'action_parameters' with an example format. It also clarifies the expected structure of the headers rewrite. This is high-value information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action ('Set request header modification rules'), specifies the resource (request headers), and the critical side effect ('replaces all existing rules'). It distinguishes from sibling set tools like set_response_header_rules_tool by explicitly focusing on request headers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions that it replaces all existing rules, which is a key usage caution, but it does not explicitly state when to use this tool versus alternatives like set_response_header_rules_tool or set_url_rewrite_rules_tool. The differentiation is implicit via the name and the 'request header' wording, but lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/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 clearly states that calling this replaces all existing rules, which is a critical destructive behavior. It also gives the rule structure, but doesn't mention side effects beyond replacement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the key point about replacing existing rules. It uses a bulleted sub-list for rule structure, which is concise and easy to parse. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that this is a setter tool with an output schema (not shown), the description covers the main behavior and parameter structure. It doesn't explain error cases or idempotency, but for the complexity level, it's fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes zone_id and rules, so baseline is 3. The description adds significant value by detailing the required fields within each rule (expression, description, action, action_parameters) and giving a sample structure for action_parameters. This goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sets URL rewrite rules and explicitly notes it replaces all existing rules. This distinguishes it from sibling tools like list_url_rewrite_rules_tool and set_request_header_rules_tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states 'replaces all existing rules', which tells the agent this is a full replacement operation and should be used when defining the entire rule set. It doesn't explicitly mention alternatives, but 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description carries the burden of behavioral disclosure. It reveals the free plan limit, which is a behavioral constraint slash side effect. It does not mention that the tool likely requires authentication or permission, but that may be assumed from the context. It also doesn't state that the default action is managed_challenge. However, defaults are in the schema, so the description doesn't need to repeat them. Overall, it's reasonably transparent about the main constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: one purpose sentence and one constraint sentence. It avoids repeating schema details. It sets expectations about plan limits. The structure is clear and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential: what it does, a key constraint, and a hint about limits. It doesn't provide an example of usage, but the schema has examples for the expression. It might be enhanced by stating that it will return the created rule object, but that might be evident from the output schema. Overall, it's fairly complete for a create tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All parameters are clearly described in the schema with examples for the expression. The description text clarifies the zone_id/zone_name mutual exclusivity and provides a concrete example of a filter expression. Even though the schema does not mark any parameter as required, the description implies that either zone_id or zone_name is needed Some concern that the schema doesn't enforce this, but the description covers it. All parameters have descriptions, so 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new WAF custom rule' with a specific verb and resource, and the name reinforces the purpose. It distinguishes from sibling update/delete tools by the word 'create'. The note about free plan limits adds context without detracting from clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on the mutual exclusivity of zone_id and zone_name, which is critical for correct invocation. It also mentions the 5-rule limit for free plans, which helps set expectations. However, it does not explicitly state when not to use this tool (e.g., for updates) but the name 'create' implies that. It could be improved by stating the requirement to supply either zone_id or zone_name more formally.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It discloses the critical destructive behavior: 'replaces all existing rules'. It also gives the required rule shape. It does not mention auth requirements or failure behavior, but the main side effect is explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a front-loaded purpose sentence followed by a focused bullet list of rule fields. Every sentence adds necessary information, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and there are only two top-level parameters, the description covers the essential context: replacement behavior and rule object structure. Some minor details are omitted, such as full header object semantics and ordering, but the description is sufficient for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema only describes 'rules' as 'List of rule definitions', but the description adds the required nested structure: expression, description, action, and action_parameters with an example. This meaningfully compensates for the schema's lack of detail on rule item contents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Set' with the resource 'response header modification rules' and immediately clarifies the full-replacement behavior: 'replaces all existing rules'. This clearly distinguishes it from listing rules and from the request-header counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the usage context: this tool sets response header modification rules and replaces all existing ones. It does not explicitly mention alternatives, but the phrase 'response header' plus sibling tool names make the scope reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crunchtools/mcp-cloudflare'
If you have feedback or need assistance with the MCP directory API, please join our Discord server