Skip to main content
Glama

Create or replace a zone profile

eurodns_dns_save_zone_profile

Create a new DNS zone profile or replace an existing one. Replacing drops any records absent from the submitted body, so send the complete profile. Validate first to catch problems before saving.

Instructions

Creates a zone profile from body when id is omitted, or replaces the profile with that id in its entirety, and returns the saved profile. On a replace every record absent from body is dropped, so start from what eurodns_dns_get_zone_profile returned rather than from a partial document. Validate a candidate first with eurodns_dns_check_zone_profile, whose report names the offending record where a rejected save only answers 400. Record values go in rdata.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoNumeric id of the profile to replace, from eurodns_dns_get_zone_profile. Omit it to create a new profile.
bodyYesThe profile: a name plus the records, urlForwards and mailForwards the template applies. When replacing, send the complete profile as eurodns_dns_get_zone_profile returned it — anything left out is dropped. Record values go in rdata.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataYesResponse body as returned by the API.
statusYesUpstream HTTP status code.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.10.0
    • changedInput schema / properties / body / description
      Previous value: -"Request body."New value: +"The profile: a name plus the records, urlForwards and mailForwards the template applies. When replacing, send the complete profile as eurodns_dns_get_zone_profile returned it — anything left out is dropped. Record values go in rdata."
    • changedInput schema / properties / id / description
      Previous value: -"id of zone profile to update"New value: +"Numeric id of the profile to replace, from eurodns_dns_get_zone_profile. Omit it to create a new profile."
    • changedInput schema / required
      Previous value: -[
      -  "id",
      -  "body"
      -]New value: +[
      +  "body"
      +]
  2. First observedv0.9.1

TDQS

A3.9/5.0
Behavior1/5

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

The description states that on replace, every record absent from body is dropped, which is a destructive action. However, the annotation destructiveHint is false, contradicting this. The description does not explicitly say it is destructive, but the effect is destructive, and the annotation suggests otherwise. This is a clear contradiction, so the score is 1.

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?

The description is four sentences, compact and front-loaded. It immediately states the create/replace distinction, then covers the critical replace behavior, validation advice, and error nuance. No filler or redundant repetition; every sentence earns its place.

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?

Given the complexity of the operation (nested objects, replace semantics) and that an output schema exists, the description covers the critical pitfalls: how to safely replace, how to validate, and the error response behavior. It also names the sibling tools to use. Nothing an agent needs to call it correctly is missing.

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?

The schema descriptions for id and body are already detailed (100% coverage). id explains it comes from get_zone_profile and that omitting creates a new profile; body describes the profile structure and the destructive replace behavior. The tool description adds the note about rdata, but this is also in the schema. The description adds little beyond the schema, so a baseline of 3 is appropriate.

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 clearly states the tool creates a zone profile when id is omitted and replaces the profile with that id otherwise, and returns the saved profile. It explicitly distinguishes from get (read) and check (validate) via sibling references, so the agent can easily tell them apart.

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?

It gives explicit guidance: start from the full profile returned by eurodns_dns_get_zone_profile when replacing, because absent records are dropped. It also advises validating with eurodns_dns_check_zone_profile to get precise error names, since a rejected save only returns 400. This tells the agent exactly when to use this tool and when to use alternatives.

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