Skip to main content
Glama

dns_set_mx

Destructive

Set a domain's MX record to direct email to a specified mail server. Replaces all existing MX records with one, preserving other DNS records.

Instructions

Задать MX-запись (почтовый сервер) домена.

Заменяет все MX-записи одной. Прочие типы записей в зоне сохраняются. Для нескольких MX за один вызов — используйте dns_set_records.

Args: fqdn: Имя домена exchange: Имя сервера (mx.yandex.net — trailing dot снимается автоматически) preference: Приоритет (меньше = выше) ttl: TTL в секундах (см. dns_set_a) force: Продолжить при наличии CAA/SRV

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ttlNo
fqdnYes
forceNo
exchangeYes
preferenceNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.6/5.0
Behavior5/5

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

The annotations declare destructiveHint=true, and the description earns credit by spelling out exactly what is destroyed ('replaces all MX records with one') and what survives ('other record types in the zone are preserved'). It also discloses implicit normalization ('trailing dot removed automatically') and the force-override condition (CAA/SRV), adding real behavior beyond the annotations.

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?

Front-loaded with the core action and its side effect, then the alternative, then a compact Args block. Every line adds information; no 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 5-parameter destructive DNS mutation with an output schema present, the description covers purpose, destruction semantics, alternative, and all parameters. Residual gaps are minor: it does not clarify whether preference must be unique or what exactly happens when force is false and CAA/SRV exist.

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?

With schema description coverage at 0%, the description must carry all five parameters and largely does: fqdn (domain), exchange (with trailing-dot note), preference (lower = higher priority), ttl (TTL seconds, deferred to dns_set_a), and force (continue when CAA/SRV present). The ttl entry deferring to another tool and the terse force explanation leave minor ambiguity.

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+resource ('Задать MX-запись / set MX record') plus the exact effect ('Заменяет все MX-записи одной') and what is preserved. It also names the sibling dns_set_records as the tool not to use for multiple MX, so an agent can tell them apart without opening either schema.

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?

Explicitly routes the agent to dns_set_records 'для нескольких MX за один вызов', which is a concrete alternative and selection condition. It does not state when-not-to-use (e.g., non-MX zones) or prerequisites like required domain ownership, leaving those to inference.

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