Skip to main content
Glama

Create DNS zone

create_dns_zone
Destructive

Create a native or secondary forward DNS zone in your VPSnet account, with optional TSIG for AXFR-backed secondary zones and ownership verification when required.

Instructions

Create a native or secondary forward DNS zone in the authenticated VPSnet account. Secondary zones transfer records from public primary DNS servers and require TSIG. Normally creates pending_verification. With qualifying current ownership proof, the API may instead restore a recently deleted zone and queue immediate publication. Publication can delete stale zone candidates for the same name, including their DNS records and DDNS tokens. Existing live zones are refused; this does not register a domain or change registrar nameservers. Read the returned zone.status and apply_state: queued publication is not proof of live DNS service. When verification is needed, verificationRecord contains the public ownership TXT challenge (_vpsnet-dns.). Follow zone.verification.next_step and warnings for its location, then call verify_dns_zone. Keep nameservers already delegated to VPSnet. A previous-provider or parent-zone location may be required. If the TXT value is missing, first read get_dns_zone.zone.verification.record.value; reissue_dns_zone_verification rotates it only when unrecoverable or requested by the customer. Requires dns:write.

Input Schema

NameRequiredDescriptionDefault
kindNoZone kind. Defaults to native. Use secondary for AXFR-backed zones.
zoneYesZone name, e.g. example.com
secondary_mastersNoPublic primary DNS server IPs for a secondary zone. Non-public IPs are rejected by the API.
secondary_tsig_secretNoRequired for secondary zones. Base64 TSIG secret, 32-64 decoded bytes, e.g. openssl rand -base64 32. It is encrypted and never returned.
secondary_tsig_key_nameNoRequired for secondary zones. TSIG key name configured on the primary DNS server.
secondary_tsig_algorithmNoTSIG algorithm. Defaults to hmac-sha256.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.3.16

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, destructiveHint=true, openWorldHint=true; the description supplies the specifics those hints cannot: the default pending_verification outcome, the possible restore path, and exactly what destruction is possible ('Publication can delete stale zone candidates for the same name, including their DNS records and DDNS tokens'). It also discloses the dns:write scope requirement and warns that queued publication is not proof of live service.

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?

Front-loaded with purpose and the pending_verification default, then gradually moves to edge cases and recovery steps; nearly every sentence carries operational content. It is on the long side for a create tool, with the verification-record guidance handled in three consecutive sentences that 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?

For a destructive, open-world create with no output schema, the description covers the outcome states (zone.status, apply_state), the verification challenge location, and the recovery path when the TXT value is missing. Nothing an agent needs to call this safely or to interpret the response is absent.

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% and both enums are documented inline, so the schema already carries parameter meaning. The description adds only indirect parameter context (secondary zones require TSIG, and the TSIG secret is encrypted and never returned). Baseline 3 is appropriate given the schema does the heavy lifting.

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 ('Create a native or secondary forward DNS zone') plus scope ('in the authenticated VPSnet account'). It also explicitly distinguishes itself from adjacent operations ('this does not register a domain or change registrar nameservers'), so an agent can separate it from domain registration and from import_dns_zone.

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?

Gives explicit when-to-use branching (native vs secondary, secondary requires TSIG), explicit refusal conditions ('Existing live zones are refused'), and names the follow-up tools (verify_dns_zone, get_dns_zone, reissue_dns_zone_verification) with the condition that selects each. Notably it steers the agent away from rotating the TXT value unless unrecoverable.

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

Deploy Server

Other Tools