Skip to main content
Glama
KodimTech

@kodim/mcp-cloudflare-dns

by KodimTech

Server Quality Checklist

58%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a clear, distinct purpose: zone lookups, DNS record CRUD, batch operations, import/export, analytics (summary vs. time-series), and DNSSEC management. No two tools overlap ambiguously.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case: get_, list_, create_, update_, delete_, batch_, export_, import_, and two get_dns_ analytics variants. Conventions are uniform and predictable.

    Tool Count5/5

    14 tools is well within the ideal 3-15 range for a domain-specific MCP server. Each tool covers a meaningful aspect of Cloudflare DNS management without redundancy or bloat.

    Completeness4/5

    The tool surface covers core DNS operations comprehensively: zone listing/detail, full DNS record CRUD, batch edits, BIND import/export, analytics, and DNSSEC. Minor gaps include no create_zone or update_zone, but these are peripheral for a DNS-focused server.

  • Average 4/5 across 14 of 14 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.

    If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.

    MCP servers without a LICENSE cannot be installed.

  • 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.json to 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

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations are minimal (only readOnlyHint: false), so the description carries a higher burden. It does add a useful behavioral note: 'For proxied records, TTL is automatically set by Cloudflare.' However, it does not disclose other important behaviors such as duplicate handling, validation checks, or implications of record conflicts. The addition 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is concise (two sentences), front-loaded with the core action, and free of redundancy. It efficiently combines the main purpose, supported types, and a key behavioral nuance without unnecessary detail.

    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's complexity (10 parameters, nested objects, no output schema), the description is adequate but could be richer. The TTL note and record type support are useful, but it does not guide on complex record types (e.g., using the data parameter) or potential edge cases. The schema covers parameters, but the description leaves some contextual gaps for a tool of this 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%, so the baseline is 3. The description adds marginal meaning by noting that proxied records auto-set TTL, which enriches the ttl and proxied parameters. However, it does not explain other parameter interactions or complex record type requirements beyond what the schema already describes. The value added is limited.

    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 and resource: 'Create a new DNS record in a zone.' It explicitly enumerates supported record types, distinguishing it from sibling tools like update, delete, and list. The scope 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 Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not provide guidance on when to use this tool versus alternatives like update_dns_record or batch_dns_records. It only restates the basic creation purpose, leaving the agent to infer appropriate usage from sibling tool names. No exclusions or contextual cues are given.

    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?

    Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds that the tool returns 'time-series data' and groups by 'time intervals,' which is useful behavioral context. It does not mention pagination, limits, or default metrics/aggregation behavior, but the annotation lowers the burden.

    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 short sentences, front-loaded with the core purpose. Every sentence adds value: what it does, what it returns, and when it's useful. No fluff 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?

    With 9 parameters, no output schema, and a sibling `get_dns_analytics`, the description gives the essential idea but lacks explicit differentiation from the sibling. It explains why one would use this tool (trends/patterns) but does not mention how it interacts with parameters like `metrics` or `time_delta`. Given full schema coverage, the description is adequate but not fully complete for tool selection.

    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 each parameter is already documented in the schema. The description does not add parameter-level meaning beyond stating that data is broken down by time intervals, which aligns with `time_delta` but provides no extra syntax or defaults.

    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 ('Get') and resource ('DNS analytics') with a clear scope ('broken down by time intervals'). It distinguishes from the sibling tool `get_dns_analytics` by emphasizing the time-series aspect, though it does not explicitly name or compare with that sibling.

    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 says 'Useful for monitoring trends and identifying patterns,' which conveys a clear use case. However, it does not provide explicit alternatives or when-not-to-use guidance, especially given the sibling `get_dns_analytics` that may differ only in time grouping.

    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?

    The description states 'Get full details' which aligns with the readOnlyHint annotation, but it adds no extra behavioral context beyond what the annotation already conveys. It doesn't mention potential errors, pagination, or any side effects. Since annotations cover the safety profile, the description is consistent but not enriched—standard for a simple 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that is front-loaded with the action ('Get full details') and the resource ('specific DNS record'), immediately followed by the criterion ('by its record ID'). It contains zero filler and is perfectly sized.

    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 get-by-ID tool with two required parameters and read-only annotations, the description is sufficient for an agent to understand what the tool does and how to invoke it. The absence of an output schema means the phrase 'full details' is somewhat vague, but the tool's simplicity and the sibling set make the expected behavior obvious enough.

    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%: both zone_id and record_id have clear descriptions in the input schema. The tool description adds no additional parameter meaning beyond repeating the schemas. Baseline 3 is appropriate when the schema fully documents 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 uses a specific verb 'Get' and identifies the exact resource ('full details of a specific DNS record') and the key discriminator ('by its record ID'). This clearly distinguishes it from sibling tools like list_dns_records (which lists records) and get_zone (which retrieves zone details).

    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 context is clear: use this tool when you need a single DNS record's full details given its record ID. It does not explicitly mention when to avoid it or name alternatives, but the purpose is unambiguous enough for an agent to select it appropriately alongside the sibling list/create/update/delete tools.

    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?

    The readOnlyHint annotation already communicates the safe read-only nature. The description adds that it 'Returns DS record details needed for registrar configuration,' which is useful output context but does not disclose additional behavioral traits such as error handling, permissions, or limits. It neither contradicts annotations nor adds significant behavioral depth.

    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, front-loading the primary action and then clarifying the output. Every word is purposeful with no redundancy 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?

    For a simple read-only getter with one parameter and no output schema, the description sufficiently conveys the purpose and return value. It does not mention edge cases like zones without DNSSEC enabled, but the tool is simple enough that this is a minor omission.

    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 100% coverage for zone_id with description 'The zone ID.' The tool description does not elaborate further on the parameter, so it adds no extra meaning beyond the schema. The baseline of 3 applies as the schema is fully self-explanatory.

    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 the DNSSEC configuration and status for a zone' with a specific verb and resource. It further distinguishes itself from siblings like get_dns_record by explicitly mentioning DS record details for registrar configuration, aligning with the DNSSEC-specific sibling names.

    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 for retrieving DNSSEC status and DS records, but does not explicitly state when not to use it or name alternatives. The context of sibling tools (e.g., get_dns_record, update_dnssec_status) makes the use case clear, but explicit exclusions are absent.

    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?

    Annotations mark readOnlyHint=false, consistent with a write operation. The description adds that it 'creates new records', clarifying the mutation type, but does not disclose potential side effects like record conflicts, replacement behavior, or failure 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?

    Two sentences, 22 words, front-loaded with 'Import DNS records'. Every sentence adds value without redundancy.

    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 tool has no output schema, yet the description does not mention return values or error scenarios. It covers the core action and input format adequately but could benefit from noting response behavior or idempotency, especially since it is a bulk mutation.

    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 three parameters (zone_id, bind_content, proxied). The description's mention of 'BIND-formatted zone file content' reinforces the bind_content parameter but adds no further 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 uses the specific verb 'Import' with the resource 'DNS records' and uniquely specifies the source format 'BIND-formatted zone file content', distinguishing it from sibling tools like create_dns_record and batch_dns_records.

    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 clearly indicates the intended input type ('BIND-formatted zone file content') and states the action ('Creates new records'), signaling a bulk import scenario. However, it does not explicitly mention alternatives or exclusions.

    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?

    The readOnlyHint annotation already signals this is a safe read operation, so the bar is lower. The description adds minimal behavioral context beyond the schema, such as the ability to filter by type, name, or content, but these filters are already documented in the input schema. No additional side effects, rate limits, or auth requirements are disclosed, nor is the return format described.

    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 three short sentences, front-loaded with the action and resource, then filters, then use case. Every sentence earns its place with no fluff or repetition.

    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 moderate complexity (12 params) and the schema's full coverage of parameter details, the description adequately covers purpose, filters, and a key usage pattern. It does not describe return values or pagination, but the schema covers pagination parameters and a list return is intuitive. A brief mention of output could improve completeness, but it's not critical.

    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 all 12 parameters, so the schema already provides full meaning. The description mentions three filters (type, name, content) which are prominent, but does not add value 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 uses a specific verb ('List') and resource ('DNS records for a zone'), clearly distinguishing it from sibling tools like get_dns_record (single record) or create/update/delete. The sentence 'Use this to find existing records before creating or updating them' further differentiates its role.

    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 states when to use the tool: 'Use this to find existing records before creating or updating them.' This provides clear context. However, it does not name alternatives or mention when not to use it, such as when retrieving a single record via get_dns_record.

    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?

    Annotations already declare readOnlyHint=true, and the description adds context about what the tool returns: aggregate metrics like query count, response times, and cache performance over a time period. This is consistent with the annotations and provides additional behavioral insight without contradicting them.

    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. It efficiently covers the purpose, scope, and primary return content, earning its place in concise structuring.

    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?

    With 8 parameters and no output schema, the description is somewhat minimal. It gives a high-level summary but fails to mention that specifying dimensions (e.g., queryName, coloName) will produce multiple grouped rows, nor does it describe the response structure. This gap is notable for a complex analytics 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%, so the input schema already documents all parameters. The description only loosely references the time period (since/until) but does not add meaning beyond what the schema provides. Hence, 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/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool gets a DNS query analytics summary for a zone, using the specific verb 'Get' and resource 'DNS query analytics summary.' It also mentions aggregate metrics like query count, response times, and cache performance, which effectively distinguishes it from the sibling tool get_dns_analytics_by_time that focuses on time-series breakdowns.

    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 implicitly conveys that this tool is for aggregate summaries over a time period, not for time-series drill-downs. However, it does not explicitly name an alternative tool for time-series needs or include clear 'when-not-to-use' guidance, so it falls short of a full 5.

    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?

    The readOnlyHint annotation already indicates this is a safe read operation. The description adds that it returns zone IDs needed for other operations, which is useful downstream context, but it does not disclose additional behavioral traits such as pagination behavior or response structure beyond what the schema implies.

    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 three short, purposeful sentences: purpose, filters, and output utility. Every sentence earns its place, with no filler or redundancy.

    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 list operation, the description covers the core purpose, optional filters, and the key return value (zone IDs). The schema provides full parameter details including enums and defaults, and the readOnly annotation covers safety, making this description complete enough for an agent to invoke 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 description coverage is 100%, so the baseline is 3. The description only rephrases the name and status filters without adding new meaning or details beyond the schema's 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 states 'List all DNS zones in the Cloudflare account' with a specific verb and resource, clearly indicating a list operation with optional filters. This distinguishes it from sibling tools like get_zone (single zone) and list_dns_records (records within a zone), even without explicit exclusions.

    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 clear context: it returns zone IDs needed for other operations, implying when to use this tool. It also mentions optional filtering by domain name or status. However, it does not explicitly state when to use alternatives like get_zone, so it lacks exclusions.

    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?

    Annotations already indicate destructive behavior, so the description adds valuable context by disclosing execution order: 'deletes first, then patches, then posts.' This is important behavioral information beyond the annotations. It does not mention atomicity or error behavior, but the ordering disclosure is significant.

    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, starts with the main action, and includes the critical ordering detail. Every sentence earns its place without unnecessary 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?

    The description, combined with a well-documented schema and informative annotations, is largely complete for the tool's complexity. It covers purpose and execution order. It does not mention return format or error handling, but the absence of an output schema and moderate complexity make this a minor 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 description coverage is 100%, with each parameter (zone_id, posts, deletes, patches) already described. The tool description adds no additional semantic detail for parameters, so it meets the baseline but does not exceed it.

    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 executes multiple DNS record operations (create, update, delete) in a single API call. The verb 'execute' and resource 'DNS record operations' are specific, and it distinguishes itself from sibling single-record tools by emphasizing 'multiple' and 'single API call.'

    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 clearly implies usage for batch operations ('multiple DNS record operations in a single API call'), which distinguishes it from single-record siblings. However, it does not explicitly state when not to use it or name alternative tools for single operations, so it lacks explicit exclusion 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?

    Annotations already mark destructiveHint=true, and the description adds specificity with 'cannot be undone' and 'permanently', reinforcing the irreversible nature beyond the boolean hint.

    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 action, then the irreversible warning, then the prerequisite. 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?

    The tool has simple parameters and no output schema, and the description covers purpose, irreversibility, and a preparation step. It lacks permission/error details but is sufficient for agent selection.

    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 descriptions (zone_id and record_id), so schema coverage is 100%. The description adds no additional parameter detail, 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 'Permanently delete a DNS record' with a specific verb and resource, distinguishing it from sibling tools like create, update, get, 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 Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    It explicitly instructs to 'Use list_dns_records first to confirm the record ID', providing a clear prerequisite and workflow context. It doesn't mention alternatives for when not to use, but for a destructive operation this is solid.

    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?

    The annotation readOnlyHint: true already indicates a safe read operation. The description adds meaningful behavioral details: it exports 'all DNS records' and outputs in 'BIND format', which goes beyond the annotation. No contradiction exists.

    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 each add value: the first states what the tool does, the second states when to use it. No fluff or redundancy.

    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, a read-only annotation, and no output schema, the description covers the essential context: purpose, output format, and use case. It could mention the response format (e.g., text output) but the BIND format implies it adequately. 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 describes zone_id as 'The zone ID' with 100% coverage. The description does not add additional parameter semantics, but the schema is fully self-explanatory, so 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?

    The description clearly states the specific verb 'export' applied to 'all DNS records for a zone' and specifies the output format 'BIND format'. This distinguishes it from sibling tools like list_dns_records (list) or get_dns_record (single record).

    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 gives clear usage context: 'Useful for backups or migrating to another DNS provider.' While it doesn't explicitly name alternatives or exclusions, the purpose is clearly identified, and the context is sufficient for an agent to decide when to use this tool.

    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?

    Annotations declare readOnlyHint=true, and the description adds return-value context (name servers, status, account info) that is not in the schema. It does not contradict annotations and gives useful behavioral scope for 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.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    Two sentences, front-loaded with the core purpose and a brief return summary. 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?

    For a simple 1-parameter read tool with readOnly annotation and no output schema, the description adequately covers purpose and return contents. It could be slightly more explicit about distinguishing from list_zones, but overall it is 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?

    The input schema has full (100%) description coverage for zone_id, and the description uses the same term without adding format or constraints. With high schema coverage, a baseline of 3 is appropriate; the description adds no extra 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 the verb ('Get'), the resource ('specific DNS zone'), and the scoping ('by its zone ID'), which distinguishes it from sibling list_zones that retrieves multiple zones. It also previews returned data.

    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 when you have a zone ID and need one zone's details, and the phrase 'specific DNS zone' contrasts with list_zones. However, it does not 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.

  • Behavior4/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    The description discloses a non-obvious side effect: 'When enabling, Cloudflare generates the required keys and provides the DS record.' This adds value beyond the readOnlyHint annotation, which only indicates a write operation. It does not mention disabling side effects, but provides meaningful 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences, front-loaded with the primary purpose and followed by a valuable behavioral detail. It is concise and every clause contributes meaning, with no redundancy.

    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 mutation tool with two well-documented parameters and readOnlyHint=false, the description captures the main action and a key outcome (DS record). It lacks details on response format or disabling effects, but given the low complexity, it is sufficiently complete 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/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Input schema covers both parameters with clear descriptions, including enum values for status. The tool description does not add additional parameter-level 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: 'Enable or disable DNSSEC for a zone.' It uses a specific verb and resource, distinguishing it from read-only siblings like get_dnssec_status. The addition about DS record generation further clarifies the tool's role.

    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 when to use the tool (when you want to change DNSSEC status) and the sibling list includes get_dnssec_status for reading. However, it does not explicitly contrast with alternatives, so it falls short of a perfect score.

    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?

    The annotations only provide readOnlyHint: false, which tells the agent this is a mutation but little else. The description adds meaningful behavioral detail: it updates an existing record (implies existence requirement) and supports partial updates (fields not provided remain unchanged). This goes beyond the sparse annotation without contradicting it.

    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 action ('Update an existing DNS record'), followed by a prerequisite and usage tip. No filler, every sentence 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?

    For an update tool with 9 parameters (2 required) and a fully descriptive schema, the description covers the key context: partial update behavior and how to obtain the record ID. With no output schema, return values are not required to be explained. It is sufficiently 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?

    The input schema has 100% coverage with descriptions for every parameter, so the baseline is 3. The description adds a general note about partial updates ('Only provide the fields you want to change') which clarifies parameter optionality, but it does not add per-parameter 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 uses a specific verb and resource: 'Update an existing DNS record.' It clearly distinguishes from siblings like create_dns_record and delete_dns_record by emphasizing 'existing' and 'update.'

    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 clear usage context: 'Only provide the fields you want to change' explains partial update semantics, and 'Use list_dns_records first to find the record ID' gives a concrete prerequisite and points to a sibling tool. However, it does not explicitly mention when not to use this tool or name alternatives for other operations.

    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

mcp-cloudflare-dns MCP server

Copy to your README.md:

Score Badge

mcp-cloudflare-dns MCP server

Copy to your README.md:

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/KodimTech/mcp-cloudflare-dns'

If you have feedback or need assistance with the MCP directory API, please join our Discord server