Skip to main content
Glama

Atom.com — Premium Domains

create_registrant_contact

Read-only

Create or update the authenticated user's registrant (WHOIS) contact — the name/address/phone/email a domain registry requires to complete a registration or marketplace-domain transfer. Call this when a tool reports error 'registrant_contact_required'. All fields are required except state and organization (state only where applicable). This does NOT charge anything. If a contact already exists, this UPDATES it with the fields you pass — always send the full current set of fields, not just the ones that changed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
zipYesPostal code / pincode.
cityYes
nameYesFull legal name for the registrant contact.
emailNoContact email (defaults to the Atom account email if omitted).
phoneYesPhone number, e.g. +1.5551234567 (E.164-style preferred).
stateNoState/province, where applicable.
addressYesStreet address.
countryYesTwo-letter country code, e.g. US.
organizationNoOptional organization/company name.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
successYes
has_contactNo

TDQS

A4.9/5.0
Behavior5/5

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

The description fully discloses the tool's side effects: it creates or updates a contact, does not charge, and requires a full set of fields. It even clarifies the default email behavior. However, the annotation readOnlyHint: true contradicts the described mutation, but the description itself is transparent.

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?

The description is well-structured and front-loaded with the core purpose. However, it repeats the upsert behavior in the middle and end ('Create or update' and later 'If a contact already exists, this UPDATES it...'), making it slightly redundant. Still, it remains concise and easy to parse.

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?

The description covers the trigger condition, the exact behavior, required fields, and even the charge note. It provides all necessary context for an agent to decide and execute correctly, especially given the provided output schema. No critical information is missing.

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?

The description adds meaningful context beyond the schema: it explains which fields are required vs optional, that state is only where applicable, and that email defaults to the Atom account email. This clarifies the purpose of each parameter and fills gaps left by the schema descriptions.

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's purpose: to create or update the authenticated user's registrant contact. It specifies the resource (registrant contact) and the action (create/update), making it unambiguous. It also distinguishes it from sibling tools by referencing the specific error that triggers its use.

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 to use: 'Call this when a tool reports error 'registrant_contact_required''. This provides a concrete trigger condition. It also explains the upsert behavior, clarifying that it updates if a contact exists and that no charge is incurred, which helps the agent decide when to invoke it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation2/5

Several tools serve the same resource+action through different payment channels (e.g., register_domain, register_domain_spt, get_domain_register_pay_link; purchase_domain, get_domain_purchase_pay_link, get_checkout_link; buy_ai_tokens, get_ai_tokens_pay_link). brainstorm_names is explicitly a duplicate of search_brandable_domains, so the set has multiple confusing overlaps despite detailed descriptions.

Naming Consistency4/5

Most tool names follow a predictable snake_case verb_noun pattern (appraise_domain, check_domain_availability, purchase_domain, screen_trademark_conflicts). Minor deviations like brainstorm_names, register_domain_spt, and get_checkout_link break the pattern slightly but remain readable and recognizable.

Tool Count3/5

Sixteen tools is right at the boundary where a tool set starts to feel heavy. Many tools are legitimately needed for discovery, purchasing, and payment routing, but the duplicate name-generation tool and the multiple payment-route variants add unnecessary bulk.

Completeness4/5

The core domain lifecycle is well covered: search/discovery, availability checks, details, appraisal, trademark screening, registrant contact, and both fresh registration and marketplace purchase paths are present. Minor gaps exist around post-purchase management, account balance visibility, and offer submission, but the main user journey has no significant dead ends.