Skip to main content
Glama

Delete DNS Record

delete_dns_record
Destructive

PERMANENTLY delete a single DNS record from a Cycle zone. This is IRREVERSIBLE: the record stops resolving, and for a linked record Cycle also tears down its load-balancer routing and stops maintaining its TLS certificate.

This tool is two-step by design and NOTHING is deleted on the first call:

  1. Call without confirm. The record is resolved and the response describes exactly what would be removed — its name, ID, type, full payload, resolved domain, and zone. Present ALL of those details to the user verbatim.

  2. Only after the user explicitly approves deleting that specific record, call again with confirm:true, zone set to the zone from step 1, and record_id set to the exact 24-char hex ID from step 1 (names are not accepted with confirm — the ID binds the deletion to what the user approved).

Addressing for the preview: pass a full 'domain' (e.g. 'app.example.com' — the covering zone and record name are derived; apex = '@'), or 'zone' plus 'name' (or 'record_id'). When several records share the name, 'type' or 'record_id' disambiguates.

Never set confirm:true unless the user has just approved this exact deletion; a general instruction like "clean up the zone" is not sufficient. To create or repoint records use manage_dns_record; to delete a whole zone, surface that as a gap — this tool only deletes single records.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoRecord name within the zone ('@' for apex, '*' for wildcard).
typeNoRecord type; disambiguates when several records share a name.
zoneNoZone origin (e.g. 'example.com') or 24-char hex ID. Required with confirm.
domainNoFull domain, e.g. 'app.example.com'; the covering zone and record name are derived. Alternative to zone+name.
confirmNoSet true ONLY after the user has explicitly approved deleting this exact record (shown its name, ID, type, payload, and zone). Requires zone plus record_id as the exact hex ID from the preview call.
contextNoWhy are you calling this tool? Briefly describe the user's goal.
record_idNoExact record ID (with 'zone'); disambiguates when several records share a name. With confirm:true this MUST be the exact 24-char hex ID returned by the preview call.
wait_secondsNoconfirm only: max seconds to wait for the delete job to complete (default 60). 0 returns immediately after the job is accepted.
conversation_idNoConversation tracking id. Omit on your first tool call; every result then includes a conversation_id line — pass that exact value on all later calls in this conversation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, but the description adds what an agent cannot infer: irreversibility, that the record stops resolving, and that linked records lose LB routing and TLS maintenance. It also discloses the two-phase safety gate and the name-vs-ID binding rule.

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?

Long, but front-loaded with the irreversibility warning and structured as a numbered flow, so it scans well. For an irreversible destructive tool the length is largely earned, though a few sentences could be tightened.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema and 9 parameters with none required, the description compensates by describing what the preview call returns (name, ID, type, payload, domain, zone) and the wait_seconds/conversation_id lifecycle. An agent has everything needed to call it correctly and safely.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds cross-parameter interaction rules the schema lacks: domain derivation vs zone+name addressing, type/record_id disambiguation, and that names are rejected with confirm in favor of the exact 24-char hex ID from the preview.

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?

States a specific verb and resource ('PERMANENTLY delete a single DNS record from a Cycle zone') and explicitly differentiates from siblings: create/repoint via manage_dns_record, and zone deletion is out of scope. An agent can route correctly without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

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

Provides an explicit two-step protocol, states the precondition for confirm:true ('only after the user explicitly approves'), warns that vague instructions like 'clean up the zone' are insufficient, and names alternatives. Nothing is left to inference.

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