Skip to main content
Glama

Manage DNS Entry

manage_dns_entry
DestructiveIdempotent

Add or remove static DNS records on MikroTik RouterOS by name and type, handling conflicts and supporting dry-run previews.

Instructions

Add or remove a static DNS entry, found by name (case-insensitive) and type. add returns already_exists if such a record already has the requested value and disabled state (and ttl/comment, when given), and throws CONFLICT if it differs; add never creates a second record with the same name and type. remove deletes the one matching record; when several share the name (round-robin), pass address/cname/text to pick one.

Input Schema

NameRequiredDescriptionDefault
ttlNoTTL value (e.g. 1d, 00:05:00)
nameYesHostname for the DNS record (e.g. server.example.com); matched case-insensitively
textNoText value (required for TXT records; on remove, picks the record when several share the name)
typeNoDNS record typeA
cnameNoTarget hostname (required for CNAME records; on remove, picks the record when several share the name)
actionYesAction to perform
dryRunNoPreview changes without applying.
addressNoIP address (required for A records; on remove, picks the record when several share the name)
commentNoOptional comment
disabledNoWhether the entry should be disabled
routerIdNoRouter ID; omit to use the default router.
confirmationTokenNoToken from a prior APPROVAL_REQUIRED response. Re-submit the identical call with this token to confirm the destructive action.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.14.1
    • changedInput schema / properties / address / description
      Previous value: -"IP address (required for A records)"New value: +"IP address (required for A records; on remove, picks the record when several share the name)"
    • changedInput schema / properties / cname / description
      Previous value: -"Target hostname (required for CNAME records)"New value: +"Target hostname (required for CNAME records; on remove, picks the record when several share the name)"
    • changedInput schema / properties / name / description
      Previous value: -"Hostname for the DNS record (e.g. server.example.com)"New value: +"Hostname for the DNS record (e.g. server.example.com); matched case-insensitively"
    • changedInput schema / properties / text / description
      Previous value: -"Text value (required for TXT records)"New value: +"Text value (required for TXT records; on remove, picks the record when several share the name)"
  2. Changed3 schema fields changedv1.6.0
    • changedInput schema / properties / dryRun / description
      Previous value: -"Preview changes without applying"New value: +"Preview changes without applying."
    • changedInput schema / properties / routerId / description
      Previous value: -"Target router identifier from the router registry"New value: +"Router ID; omit to use the default router."
    • changedInput schema / required
      Previous value: -[
      -  "routerId",
      -  "action",
      -  "name"
      -]New value: +[
      +  "action",
      +  "name"
      +]
  3. Addedv1.5.0
  4. Removedv1.1.0
  5. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Adds real behavior beyond the annotations: add returns already_exists, throws CONFLICT on differing values, and never creates a duplicate name+type, corroborating idempotentHint=true. It does not mention the destructive-confirmation/APPROVAL_REQUIRED flow implied by confirmationToken, nor scope effects of remove, which keeps it off a 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?

Front-loads purpose, then dense add/remove behavior in two sentences with zero filler; every clause carries a rule the agent needs (return values, conflict behavior, disambiguation).

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 12-parameter destructive mutation tool with no output schema, the description covers add/remove outcomes and disambiguation well. It leaves the dryRun preview, routerId defaulting, and confirmationToken approval flow to the schema, so it is not fully self-contained.

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 the baseline is 3; the description goes beyond it by clarifying the overloaded role of address/cname/text as record selectors on remove, which the schema only states tersely. ttl/comment semantics are noted only in passing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb pair (add/remove) and resource (static DNS entry), plus the lookup keys (name, type). It is unambiguous what the tool does, though it never names or contrasts with the obvious siblings (list_dns_entries, manage_dns_settings) to route the agent.

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?

Explains within-tool selection well: add vs remove semantics, and explicitly says when to pass address/cname/text (round-robin disambiguation on remove). It stops short of stating when to reach for this tool over sibling DNS tools, so no explicit exclusions.

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