Skip to main content
Glama

Create or update a contact profile

eurodns_contact_save_profile

Create or update a contact profile for EuroDNS domains. Provide all fields on update to avoid clearing omitted data.

Instructions

Creates a contact profile from body when id is omitted, or updates the profile with that id, and returns the saved profile. An update must carry every field, changed or not, because the API clears anything omitted: start from what eurodns_contact_get_profile returned rather than from the changed fields alone. Domains already registered keep their contacts; this changes what future orders use, and does not make the profile the default, which is eurodns_contact_set_as_default_profile.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoNumeric id of the profile to update, from eurodns_contact_get_profile. Omit it to create a new profile.
bodyYesThe profile: contactType, profileName, the person or company name, postal address, countryCode, email and phone, and the isOrg, isAdmin, isTech and isBilling roles it may fill. When updating, send every field, changed or not: the API clears anything omitted.
langNoTwo-letter language code for the messages the API returns, e.g. en. Optional.

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. Addedv0.10.0

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=false, destructiveHint=false), the description discloses critical behaviors: the update clears omitted fields, the operation does not alter existing domain registrations, and it does not set the default profile. This goes well beyond the annotations and gives the agent a full picture of side effects, with no contradiction.

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 sentences, each with a distinct job: the first states the action and return, the second the crucial update requirement, the third the side effects and distinction from the default-setter. No filler, and the most important operational detail (full-body update) is front-loaded.

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 (nested body, create-vs-update, mutation), the description covers the essential decision points: how to create vs update, what to include in the body, what side effects to expect, and the alternative tool for setting defaults. The output schema handles return details, so 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?

Schema description coverage is 100% and already documents id (omit to create), body (send every field), and lang. The description adds a useful tip to start from get_profile, but it largely repeats the schema's guidance. Since the schema carries the parameter meaning, the description adds marginal extra value, aligning with the baseline of 3.

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 dual action (create when id omitted, update when id provided) and names the resource (contact profile) and the return value. It also implicitly differentiates from siblings like eurodns_contact_get_profile (read) and eurodns_contact_set_as_default_profile (default setting), so an agent can pick it correctly without ambiguity.

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 explicitly instructs that updates must carry every field because the API clears omitted ones, and tells the agent to start from eurodns_contact_get_profile's output. It also clarifies when NOT to use this tool (making a profile the default) and that existing domains are unaffected, which routes the agent to the correct alternative.

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