Skip to main content
Glama

set_dns

Configure DNS records for a domain via Dynadot. Replace or append main and subdomain records using API parameters.

Instructions

Set DNS records for a domain using Dynadot's DNS service. Supports main records and up to 100 subdomain records. Use the records parameter to pass Dynadot API parameters like main_record_type0, main_record0, subdomain0, sub_record_type0, sub_record0, etc. Existing DNS is replaced unless add_dns_to_current_setting is '1'; an empty records object clears records.

Input Schema

NameRequiredDescriptionDefault
domainYesDomain name to set DNS for
recordsYesDNS record parameters as key-value pairs. Keys follow Dynadot API3 set_dns2 naming: main_record_type0..19 (a/aaaa/cname/forward/txt/mx/stealth/email), main_record0..19 (value), main_recordx0..19 (MX distance/forward type/stealth title/email alias), subdomain0..99 (name), sub_record_type0..99 (type), sub_record0..99 (value), sub_recordx0..99 (MX distance etc), ttl (optional), add_dns_to_current_setting (optional, set to '1' to append instead of overwrite)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv1.5.2
    • changedInput schema / properties / records / description
      Previous value: -"DNS record parameters as key-value pairs. Keys follow Dynadot API3 set_dns2 naming: main_record_type0..19 (a/aaaa/cname/forward/txt/mx/stealth/email), main_record0..19 (value), main_recordx0..19 (MX distance/forward type/stealth title/email alias), subdomain0..9 (name), sub_record_type0..9 (type), sub_record0..9 (value), sub_recordx0..9 (MX distance etc), ttl (optional, default 300), add_dns_to_current_setting (optional, set to '1' to append instead of overwrite)"New value: +"DNS record parameters as key-value pairs. Keys follow Dynadot API3 set_dns2 naming: main_record_type0..19 (a/aaaa/cname/forward/txt/mx/stealth/email), main_record0..19 (value), main_recordx0..19 (MX distance/forward type/stealth title/email alias), subdomain0..99 (name), sub_record_type0..99 (type), sub_record0..99 (value), sub_recordx0..99 (MX distance etc), ttl (optional), add_dns_to_current_setting (optional, set to '1' to append instead of overwrite)"
  2. First observedv1.3.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it discloses that existing DNS is replaced by default, that add_dns_to_current_setting='1' switches to append, and that an empty records object clears records, plus the 100-subdomain cap. It omits permissions/auth requirements and error behavior, so it falls short of a full 5.

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 compact sentences, front-loaded with the core purpose and the destructive overwrite semantics placed last where the risk is clearest. The parameter-name enumeration is somewhat redundant with the schema but is kept brief.

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 destructive, nested-object tool with no annotations and no output schema, the description covers the key behavioral risks (overwrite, append, clear) and the record limit. Adding auth/permission expectations would make it fully 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?

Schema description coverage is 100% and the schema already enumerates the main_record/sub_record key naming and the optional ttl and add_dns_to_current_setting keys. The description largely restates that naming rather than adding new semantics, so the baseline 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 opens with a specific verb and resource ('Set DNS records for a domain') and scopes it to Dynadot's DNS service, including the 100-subdomain limit. An agent can distinguish this from siblings like get_dns, set_nameservers, and set_dnssec without inspecting the schema.

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?

It explains how to use the records parameter and the condition that triggers append vs overwrite behavior, but never states when to choose set_dns over alternatives such as set_nameservers or set_dnssec, nor any prerequisites. Usage is implied rather than routed.

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