Skip to main content
Glama

dns_verify

Read-only

Confirm DNS records are live at authoritative nameservers before requesting TLS certificates. Polls NS directly over UDP until the expected value appears or timeout.

Instructions

Подтвердить факт у авторитативного NS зоны: отдаётся ли значение миру.

success от dns_set_* означает «принято панелью», а dns_get подтверждает ровно это — он читает тот же источник, куда писал. Авторитативный NS может отдавать старое значение ещё несколько минут. Запуск certbot в этом окне сжигает попытку и приближает лимит Let's Encrypt на домен.

Тул опрашивает авторитативные NS зоны напрямую по UDP (мимо кеша любого резолвера) до совпадения с expect или до дедлайна.

Вручную сверять надо nslookup, а НЕ Resolve-DnsName -Server: флаг -Server не обходит клиентский кеш Windows и отдаёт устаревшее значение.

Args: fqdn: Имя, которое проверяем expect: Ожидаемое значение (IP для A, имя для CNAME/MX). Пусто — просто вернуть текущий ответ NS одним запросом, без ожидания type: Тип записи (A, AAAA, CNAME, MX, TXT, NS) timeout: Сколько секунд ждать совпадения (по умолчанию 120)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fqdnYes
typeNoA
expectNo
timeoutNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), and the description adds real behavior the annotations cannot convey: direct UDP polling of authoritative servers, bypassing any resolver cache, looping until expect matches or a deadline fires, and the propagation-window consequence for certbot. It does not discuss query volume/rate limits or the failure/timeout result shape, so it is strong but not exhaustive.

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 the purpose, then routing rationale, mechanism, and parameter notes in that order; no sentence is pure padding. The closing nslookup/Resolve-DnsName tip is aimed more at a human operator and slightly dilutes the agent-facing payload, keeping this just under a 5.

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?

An output schema exists, so return values need not be re-explained; the description instead supplies everything an agent needs to call it correctly — mechanism (authoritative UDP, cache-bypassing), blocking/polling semantics, timeout behavior, empty-expect single-shot mode, and the operational reason to verify at all. Complete for this tool's complexity.

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

Parameters5/5

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

Schema description coverage is 0% (titles only), so the description must compensate and does: fqdn, expect (semantics spelled out — IP for A, name for CNAME/MX; empty means return the current single-shot answer without waiting), type (enumerates A, AAAA, CNAME, MX, TXT, NS), and timeout (seconds to wait for a match, default 120). All four parameters gain meaning absent from the schema.

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 opening line gives a concrete verb+resource+scope: confirm from the zone's authoritative NS whether the value is actually served to the world. It is immediately distinguishable from dns_get (reads the panel's own source) and dns_set_* (writes to the panel), so an agent can route correctly without opening a 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?

Explicitly states when this must be used instead of trusting dns_get: 'success from dns_set_* means accepted by the panel, and dns_get confirms exactly that — it reads the same source where it wrote.' It further names the concrete failure mode (running certbot during propagation burns a Let's Encrypt attempt) and even prescribes the manual alternative (nslookup, not Resolve-DnsName -Server).

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