Skip to main content
Glama

add_cluster_custom_dns_zone

Declare that a cluster also serves a DNS zone with one of the organisation's DNS credentials (the twin of ankra cluster custom-dns-zones add), so the hosts of its Ingresses in that zone are published by Ankra. With provider 'cloudflare' the credential must be an organisation Cloudflare credential (ankra org cloudflare connect); Ankra checks with Cloudflare that its token reaches the zone with DNS edit before storing anything, and the zone's external-dns runs upsert-only: it creates and updates only the records it owns and never changes or deletes a record someone else made. Refused for a zone the cluster's generated zone already covers. Requires credentials.write.

Input Schema

NameRequiredDescriptionDefault
zoneYesZone to serve, e.g. ankra.cloud or apps.example.com.
providerNoWhich kind of credential credential_name must be. Omit to accept whichever kind the name resolves to; name it to have a mismatch refused.
cluster_idNoUUID of the target cluster. Optional when a cluster is selected.
cluster_nameNoExact name of the target cluster. Optional when a cluster is selected.
credential_nameYesName of the organisation credential that publishes into the zone: a Cloudflare credential, a DNS webhook credential, or the Avura connection.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

With annotations only stating it is a non-read-only, non-idempotent, non-destructive write, the description carries rich extra context: Ankra validates the token reaches the zone with DNS edit before storing anything, the zone's external-dns runs upsert-only and never modifies or deletes records it doesn't own, and the operation is refused when the generated zone already covers it. This is exactly the behavioral disclosure that annotations cannot provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

The purpose is front-loaded in the first clause, followed by prerequisites, validation behavior, and refusal condition. The single long sentence-chain is dense but every clause contributes; it could be broken into sentences for readability but nothing is wasted.

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 mutation tool with no output schema and sparse annotations, the description covers prerequisites, validation, side effects, and failure conditions well. The only minor gap is that it says nothing about what the tool returns or confirms on success.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema by explaining the credential_name/provider coupling (provider 'cloudflare' requires an organisation Cloudflare credential) and the organisation-scoped nature of the credential. It does not, however, clarify the cluster_id vs cluster_name optionality.

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 action on a specific resource: declaring that a cluster serves a DNS zone via an organisation credential, so Ingress hosts in that zone are published. It is clearly distinct from remove_cluster_custom_dns_zone and list_cluster_custom_dns_zones, though it doesn't name those siblings explicitly.

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 supplies real preconditions (requires credentials.write; the Cloudflare credential must be an organisation credential connected via `ankra org cloudflare connect`) and a clear exclusion (refused for a zone the cluster's generated zone already covers). It stops short of naming the alternative tool an agent should use for the covered-zone case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources