Skip to main content
Glama

domani

Server Details

Domains + send/receive email + inbound webhooks + DNS for AI agents. One API, MCP, CLI.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 73 of 73 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose and targets specific operations (e.g., buying, checking, transferring domains; managing emails; configuring DNS). There is minimal overlap between tools, and descriptions clarify any potential ambiguity.

Naming Consistency4/5

Most tools follow a verb_noun pattern in snake_case (e.g., buy_domain, list_domains, set_dns), but a few deviations exist like dns_check and whois_lookup (noun_verb). Overall, the naming is consistent and predictable.

Tool Count2/5

With 73 tools, the set is very large and likely overwhelms users and agents. While the domain (domain management + email) justifies some breadth, this count far exceeds typical well-scoped sets, reducing coherence and increasing selection difficulty.

Completeness4/5

The tool surface covers most common operations: domain lifecycle (buy, transfer, renew, backorder), DNS management, email (mailboxes, send/receive/forward), billing, webhooks, and analytics. A notable gap is the absence of a tool to list a domain for sale on the marketplace, but overall the coverage is strong.

Available Tools

82 tools
browse_marketplaceBrowse MarketplaceAInspect

Browse domains for sale on the Domani marketplace. Returns all active listings with prices. Use buy_domain to purchase a listed domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort by price or TLD (default: price)
orderNoSort order (default: asc)
max_priceNoMaximum price in USD
Behavior4/5

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

Without annotations, the description indicates a read operation via 'browse' and 'returns', implying no side effects. It adds context about returning active listings with prices, which is sufficient for this simple tool.

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, front-loaded with purpose, then output, then sibling guidance. No fluff; every sentence adds value.

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?

Given three optional parameters and no output schema, the description is mostly complete: it states what it does, what it returns, and links to the purchase tool. Missing a note about sorting/filtering but those are in schema.

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 coverage is 100%, so baseline is 3. The description does not add any additional meaning to the parameters (sort, order, max_price) beyond what the schema already provides.

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 'Browse domains for sale on the Domani marketplace' with specific verb and resource. It also mentions returns all active listings with prices, and distinguishes from the sibling buy_domain.

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?

The description explicitly directs to buy_domain for purchase, providing clear context for when to use an alternative. However, it does not explicitly state when not to use this tool or other alternatives, leaving some ambiguity.

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

buy_domainBuy DomainAInspect

Purchase one or more domains. Always confirm with the user before calling. Accepts a single domain or an array of up to 10 (card only for bulk). If the user wants to pay with crypto/USDC: call with payment_method: 'usdc' - you'll get a 402 with a wallet address and amount. Tell the user to send that amount in USDC, then once they give you the tx hash, retry with payment_tx and payment_chain. Don't explain protocol details to the user - just tell them the address, amount, and chain.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsNoNumber of years to register (1-10, default 1). Price is multiplied by years.
domainNoSingle domain to purchase, e.g. mysite.com
domainsNoArray of domains to purchase, e.g. ["a.com", "b.dev"]. Max 10.
payment_txNoTransaction hash of a USDC payment already sent on-chain. Required for step 2 of USDC flow.
payment_chainNoChain the USDC payment was sent on. Required with payment_tx.
payment_methodNoPayment method: 'card' to charge card on file, 'usdc' to pay with USDC. Overrides the user's default preference for this request.
Behavior5/5

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

No annotations provided, but description fully covers behavioral traits: confirmation requirement, bulk limit, USDC payment flow (402 response, wallet address, retry with tx hash), and instruction to not explain protocol details.

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?

Description is fairly long but every sentence adds value. Front-loaded with main action and user confirmation. Could be slightly more structured, but minimal waste.

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?

With 6 parameters, no output schema, and no annotations, the description thoroughly explains the domain purchase flow, payment methods, constraints, and user interaction. Complete for effective use.

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%, but description adds significant context: explains USDC flow, how payment_method affects behavior, and that years multiplies price. Provides usage semantics beyond 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?

Clearly states 'Purchase one or more domains.' Specifies single domain or array up to 10. Distinguishes from siblings like browse_marketplace and check_transfer_eligibility.

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 says 'Always confirm with the user before calling.' Provides clear when-to-use for card vs USDC payments, including step-by-step for USDC flow.

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

cancel_backorderCancel BackorderAInspect

Stop watching a domain by cancelling a backorder. Only backorders in the 'watching' state can be cancelled.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe backorder ID to cancel
Behavior3/5

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

No annotations are provided, so the description must disclose behavioral traits. It reveals a key constraint (state requirement) but does not describe side effects, reversibility, or other behavioral aspects like whether cancellation triggers notifications or refunds.

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 consists of two short, focused sentences with no wasted words. It front-loads the main action and then adds the constraint efficiently.

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?

Given the simplicity of the tool (1 parameter, no output schema), the description covers the core purpose and a key usage constraint. It is complete enough for effective use, though could mention expected outcome or error conditions.

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% (the 'id' parameter is described). The tool description does not add additional meaning beyond what the schema already provides, meeting the baseline expectation.

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 action ('cancelling a backorder') and the resource ('backorder'), with a specific verb 'Stop watching a domain'. This distinguishes it from siblings like 'create_backorder'.

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?

It explicitly states the condition for use: 'Only backorders in the 'watching' state can be cancelled.' This provides clear when-to-use guidance, though it doesn't explicitly mention alternatives or when-not-to-use, the condition implies the limitation.

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

cancel_planCancel Pro PlanAInspect

Cancel the user's Pro subscription. The subscription remains active until the end of the current billing period, then reverts to the free plan. Returns the cancellation date.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

Discloses key behavior: subscription ends at billing period end, reverts to free plan, and returns cancellation date. Covers the main effects without annotations.

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?

Two efficient sentences with zero waste. Every word adds value.

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 is complete for a zero-parameter, no-output-schema tool. It covers purpose, effect, and return value.

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?

No parameters exist (100% schema coverage), so there is nothing to add. Baseline 4 applies.

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 'Cancel the user's Pro subscription' with a specific verb and resource. It distinguishes from sibling tools like cancel_backorder, which deal with domains.

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?

Implies usage for canceling a Pro plan. No explicit when-not-to-use or alternatives, but the behavioral details (active until billing end) provide good context.

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

check_emailCheck EmailAInspect

Check email DNS health for a domain: MX records, SPF, DMARC, DKIM. Auto-detects the email provider from MX records.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check email health for
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses what DNS records are checked and that the provider is auto-detected. However, it does not describe the response format, whether the operation is read-only, or any prerequisites. For a simple check tool, the detail is adequate but not comprehensive.

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 two sentences, front-loaded with the purpose. Every sentence adds unique value: the first lists the specific records checked, the second adds the auto-detection behavior. No wasted words.

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?

Given the simplicity of the tool (single parameter, no output schema, no annotations), the description covers the main purpose and behavior. However, it does not describe the return format or any error conditions, which would be helpful for an agent to interpret the response. Still, it is fairly complete for a basic DNS check tool.

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 coverage is 100% with one parameter (domain) described in the schema. The description adds extra context that the tool auto-detects the email provider from MX records, which adds meaning beyond the schema definition. Baseline 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 checks email DNS health for a domain, listing specific records (MX, SPF, DMARC, DKIM) and mentions auto-detection of the email provider. This is a specific verb+resource that distinguishes it from siblings like dns_check or list_email_messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives, nor does it provide when-not-to-use guidance or mention sibling tools. The usage context is implied through the domain parameter and the mention of email DNS health, but no exclusions or alternatives are given.

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

check_transfer_eligibilityCheck Transfer EligibilityAInspect

Pre-check whether a domain can be transferred. Returns transfer price, eligibility status, and any blockers (unsupported TLD, ICANN waiting period, domain locked, etc.). Always call this before transfer_domain to verify eligibility and show the user the price.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check, e.g. mysite.com
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the tool returns price, eligibility status, and blockers (unsupported TLD, ICANN waiting period, domain locked). It implies a read-only check. While not exhaustive (e.g., no mention of rate limits or auth), it is transparent enough for a simple check tool.

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?

Two succinct sentences, front-loaded with the action. Every sentence adds value: first explains what it does, second gives usage guidance. Zero waste.

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?

For a simple tool with one parameter and no output schema, the description sufficiently covers return values, blockers, and usage order relative to siblings. No gaps for this complexity level.

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 coverage is 100% for the single parameter 'domain'. The description adds nothing beyond the schema's own description ('Domain to check, e.g. mysite.com'). Baseline 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's purpose: pre-check domain transfer eligibility. It identifies the specific verb 'pre-check' and resource 'domain transfer', and distinguishes itself from sibling 'transfer_domain' by indicating it should be called first.

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 'Always call this before transfer_domain', providing clear guidance on when to use. Also mentions 'show the user the price', which implies its use in a user-facing flow.

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

check_transfer_statusCheck Transfer StatusAInspect

Check the status of an inbound domain transfer. Returns detailed status (pending_owner, pending_admin, pending_registry, completed, cancelled) with actionable hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check transfer status for
Behavior3/5

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

With no annotations, the description carries full burden. It describes the return as detailed status with actionable hints, implying a read operation. It does not explicitly state side-effects, auth needs, or safety, but the verb 'check' suggests read-only.

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?

Two sentences, first sentence front-loaded with core action, second sentence adds valuable output detail. No redundancy or filler.

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?

Given one parameter, no output schema, and no annotations, the description covers purpose and output types. It lacks return structure details and error conditions, but remains mostly sufficient for a simple status check.

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% (domain parameter described). The description adds no extra parameter meaning beyond the schema, only output context. Baseline 3 applies.

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 it checks the status of an inbound domain transfer, distinguishing it from siblings like check_transfer_eligibility and transfer_domain. It specifies the resource (inbound domain transfer) and the action (check status).

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?

The description implies usage for inbound transfer status checks by naming the resource and listing possible statuses, providing clear context. However, it does not explicitly exclude outbound transfers or mention alternatives, missing full when-not guidance.

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

connect_domainConnect DomainAInspect

Connect a domain to a hosting or email provider. Auto-detects provider from target, or accepts explicit provider name. For domains bought through the platform, DNS records are set automatically (status: dns_set). For imported domains (external registrar), returns the records as instructions to add manually (status: manual_setup_required). The response includes a next_steps array with provider-specific actions. Supported hosting: vercel, netlify, cloudflare-pages, github-pages, railway, fly. Email: google-workspace, fastmail, proton.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to connect, e.g. mysite.com
methodNoConnection method if provider has multiple, e.g. cname-only
targetNoTarget URL for auto-detection, e.g. my-app.vercel.app
providerNoExplicit provider name, e.g. vercel, google-workspace
Behavior4/5

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

No annotations, so description carries full burden. Clearly states two status outcomes (dns_set vs manual_setup_required) and response includes next_steps. Discloses auto-detection vs explicit provider.

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?

Four sentences, compact and informative. First sentence captures main action. No wasted words.

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?

No output schema, but description explains response structure (status, next_steps). Covers key behaviors. Could mention error cases or prerequisites, but adequate for typical use.

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 100%, but description adds meaning: explains auto-detection, provider list, and purpose of each parameter. Provides context beyond 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?

Clear verb 'Connect a domain' and specifies target resources (hosting or email provider). Distinct from siblings like buy_domain, import_domain, set_dns.

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 when to use: connecting domains to providers. Differentiates behavior for platform-bought vs imported domains. Lists supported providers. Missing explicit when-not-to-use or alternatives.

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

create_backorderCreate BackorderAInspect

Place a backorder on a domain that is currently registered to someone else. We watch it and automatically register it for the user the moment it becomes available (drops). The user is charged only if the catch succeeds - no upfront fee. Requires a card on file or payment_method 'balance'. Confirm the domain with the user first. Best-effort: a contested drop may be taken by a specialized drop-catcher first.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe currently-taken domain to watch and catch on drop, e.g. taken.com
max_priceNoMax USD to pay when caught. Defaults to the current registration price.
payment_methodNoHow to pay when caught: 'card' or 'balance' (marketplace credit).
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses that the domain is watched and auto-registered on drop, the no-upfront-fee pricing model, and best-effort nature where a specialized drop-catcher may take the domain. Also mentions payment method requirement.

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?

Five sentences that are front-loaded with main action, then add important details. Each sentence earns its place without repetition or fluff.

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?

For a 3-param tool with no output schema and no annotations, the description covers purpose, usage, prerequisites, pricing, and limitations comprehensively. It is complete enough for an agent to select and invoke correctly.

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% with clear descriptions for all three parameters. The description adds context: domain is 'currently-taken', max_price defaults to registration price, payment_method enum values explained. This adds meaning beyond schema, justifying a score above baseline 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 tool places a backorder on a currently registered domain, distinguishing it from buying available domains. It specifies the verb 'place a backorder' and the resource 'domain', with additional context about watching and auto-registering on drop.

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?

The description explains when to use (domain registered to someone else) and prerequisites (card on file or payment_method 'balance'). It advises confirming with the user first but does not explicitly exclude alternatives or mention when not to use, though contrast with buy_domain is implicit.

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

create_mailboxCreate MailboxAInspect

Create an email address. Specify slug (required) and optionally domain. For custom domains: email DNS is auto-configured on first use. For imported domains (external registrar): returns DNS records to add manually at your registrar. For domani.run: omit domain. Max 5 mailboxes per account, 1 free @domani.run per user. Pass force=true to override existing email provider (Google Workspace, etc.). API: POST /api/emails with {address}.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name for outbound emails, e.g. 'John Doe'. Shows as 'John Doe <slug@domain>' in recipients' inboxes
slugYesLocal part of the email address, e.g. 'hello' for hello@mysite.com
forceNoOverride existing MX records (e.g. Google Workspace). Default: false
domainNoDomain for the mailbox. Omit for domani.run
Behavior4/5

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

With no annotations, the description carries full burden. It discloses DNS auto-configuration for custom domains, manual setup for imported domains, account limits, and force override. While it doesn't cover idempotency or all error cases, it provides solid transparency about the creation behavior.

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 concise (a single paragraph) and front-loaded with the main action. It contains multiple pieces of information without being overly verbose. Could be improved with bullet points, but it's efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (4 params, no output schema, no annotations), the description covers core functionality, domain variations, and limits. However, it lacks details on return values, error handling, or validation scenarios, leaving some gaps for a complete understanding.

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% with descriptions. The description adds significant value by explaining domain type scenarios, limits, and the effect of force=true, which goes beyond the schema's property 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 'Create an email address' and specifies the key parameters (slug, domain) and variations for different domain types (custom, imported, domani.run). It distinguishes this creation tool from sibling tools like setup_domain_email or list_mailboxes.

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?

Provides explicit guidance on when to use each parameter (slug required, domain optional), conditions for custom vs imported vs domani.run domains, account limits (max 5, 1 free), and force override. Does not explicitly mention alternatives, but context is clear.

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

create_tokenCreate API TokenAInspect

Create a new API token with optional scoped permissions. The full key is returned only once - save it immediately. A token can only grant scopes it already has (scope attenuation). Scopes: domains:read (GET /api/domains, GET /api/domains/{domain}, GET /api/domains/{domain}/dns, /status, /email/check, /auth-code, /transfer-away, /transfer-status, /analytics), domains:write (PUT /api/domains/{domain}/dns, POST /connect, POST /verify, PUT /settings, PUT /parking, PUT/DELETE /api/domains/{domain}/for-sale, POST /api/domains/import, POST /import/verify), domains:transfer (POST /api/domains/buy, POST /transfer, POST /renew (involves payment, includes marketplace purchases)), tokens:read (GET /api/tokens), tokens:write (POST /api/tokens, DELETE /api/tokens/{id}), webhooks:read (GET /api/webhooks, GET /api/webhooks/{id}/deliveries), webhooks:write (POST /api/webhooks, PATCH /api/webhooks/{id}, DELETE /api/webhooks/{id}), email:read (GET /api/emails, /api/emails/{address}, /api/emails/{address}/messages, /api/domains/{domain}/email/status), email:write (POST /api/emails, POST /api/emails/{address}/send, POST /api/domains/{domain}/email/setup), account:read (GET /api/me), account:write (DELETE /api/me, POST /api/billing/setup, POST /api/billing/subscribe, POST /api/billing/cancel, POST /api/me/resend-verification), billing:read (GET /api/billing/invoices), search (GET /api/domains/search, /suggest, /whois, /dns-check, GET /api/tlds), deals:read (GET /api/deals, GET /api/deals/{id}), deals:write (POST /api/domains/sell, PATCH /api/deals/{id}), notifications:read (GET /api/notifications, GET /api/notifications/count), backorders:read (GET /api/backorders, GET /api/backorders/{id}), backorders:write (POST /api/backorders, DELETE /api/backorders/{id}). Use ['*'] for full access (default).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoHuman-readable label, e.g. 'CI/CD', 'Sub-Agent'. Defaults to 'CLI'
scopesNoPermission scopes for this token. Defaults to parent token's scopes. Use ['*'] for full access
expires_atNoAbsolute expiration date (ISO 8601). Alternative to expires_in
expires_inNoToken lifetime in seconds (min 3600 = 1h, max 31536000 = 1y). Omit for no expiration
Behavior5/5

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

With no annotations, the description fully discloses behaviors: single return of the key, scope attenuation, and comprehensive listing of all scopes and their mappings. This is exceptionally 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?

Front-loaded with purpose and critical warning about saving the key. The scope list is lengthy but necessary for understanding. Each part earns its place, though some redundancy could be trimmed.

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 no output schema and no annotations, the description covers all necessary context: purpose, usage warnings, parameter relationships, and scope definitions. No gaps identified.

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 covers all 4 parameters at 100%, and the description adds value by clarifying defaults (e.g., name defaults to 'CLI'), alternatives (expires_at vs expires_in), and the meaning of scopes via a detailed list.

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 explicitly states 'Create a new API token' and distinguishes itself by detailing scopes and behaviors, clearly separating from sibling tools like list_tokens or revoke_token.

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?

Provides critical usage guidance: save the key immediately, scope attenuation, and defaults. However, it does not explicitly contrast with alternatives like list_tokens for viewing or revoke_token for deletion, though the context is clear.

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

create_webhookCreate WebhookAInspect

Register a new webhook endpoint to receive event notifications. The URL must use HTTPS. Choose which events to subscribe to (e.g. domain.purchased, transfer.completed). The webhook secret is returned only once - save it to verify incoming payloads with HMAC-SHA256.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesHTTPS URL that will receive webhook POST requests
eventsYesEvent types to subscribe to, e.g. ["domain.purchased", "dns.updated"]. Use list_webhook_events to see all available types.
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses HTTPS requirement, one-time secret return, and HMAC-SHA256 verification. This is good coverage, though it could mention potential error cases (e.g., invalid URL, duplicate subscription) or rate limits.

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 concise sentences, each adding essential information. Front-loaded with purpose, followed by constraints and important post-creation note. No wasted words.

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 no output schema, the description adequately covers return behavior (secret once), verification method, and event selection. It is complete for a webhook creation tool, though it could mention success confirmation or error handling briefly.

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 coverage is 100%, but the description adds significant value: HTTPS requirement for 'url', example event types and a hint to use 'list_webhook_events', and post-creation behavior (secret handling). This goes well beyond the schema's minimal 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 'Register a new webhook endpoint' identifying the specific verb and resource. It distinguishes from sibling tools like 'list_webhooks', 'delete_webhook', and 'update_webhook' by emphasizing creation. Examples of event types further clarify purpose.

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?

Provides clear guidelines: URL must use HTTPS, events must be chosen, and the secret is returned only once. However, it does not explicitly contrast with alternatives like 'update_webhook' or 'list_webhooks', nor does it specify when not to use this tool.

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

delete_mailboxDelete MailboxAInspect

Delete a mailbox and all its messages (including attachments). Requires confirm=true. Call without confirm first to see what will be deleted. API: DELETE /api/emails/{address}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
confirmNoMust be true to actually delete. Omit to preview.
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses the destructive nature (deletes mailbox and all messages/attachments), the requirement for confirm=true, and the preview behavior. This adds significant behavioral context beyond the basic action.

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 concise sentences: core action, requirement, preview instruction, and API endpoint. Every sentence is necessary and front-loaded. No redundant information.

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?

The description covers the essential aspects: what is deleted (mailbox, messages, attachments), how to safely delete (preview first), and the required parameter. It could mention that deletion is permanent, but overall it is complete for a simple destructive tool with no output schema.

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 description coverage is 100%, so baseline is 3. The description adds meaning by explaining the dual role of confirm (preview vs. actual delete) and emphasizing the requirement. It also connects the slug/domain to the mailbox address via the API endpoint.

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 'Delete a mailbox and all its messages (including attachments).' It uses a specific verb and resource, and differentiates from siblings like delete_message (single message) and delete_messages (multiple messages).

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?

The description provides clear guidance: 'Requires confirm=true. Call without confirm first to see what will be deleted.' It instructs on how to safely use the tool via a preview pattern. However, it does not explicitly contrast with sibling tools like delete_message or delete_messages.

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

delete_messageDelete MessageAInspect

Soft-delete an email message. The message will no longer appear in list results. This cannot be undone. API: DELETE /api/emails/{address}/messages/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
message_idYesID of the message to delete
Behavior3/5

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

Discloses soft-delete behavior and irreversibility. However, does not explain what 'soft-delete' entails (e.g., recoverability, data retention) or permissions required. Without annotations, more detail would be beneficial.

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, front-loaded with action, no wasted words. Efficient and to the point.

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?

Sufficient for a simple delete operation with 3 parameters and no output schema. Could mention that domain/slug identify the mailbox, but overall complete given the low complexity.

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?

Input schema covers all 3 parameters with descriptions. The description adds no extra semantic value beyond the schema, so baseline 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?

Clearly states it soft-deletes a single email message, distinguishing it from 'delete_messages' (bulk) and 'delete_mailbox'. Uses verb+resource+behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions irreversibility as a warning, but does not explicitly state when to use this tool vs alternatives like 'delete_messages' or 'delete_mailbox'. Usage context is implied but not explicit.

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

delete_messagesDelete Messages (Bulk)AInspect

Soft-delete multiple messages at once. Messages will no longer appear in list results. This cannot be undone. API: POST /api/emails/{address}/messages/delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
message_idsYesIDs of messages to delete
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that deletion is soft and irreversible, but lacks details on permissions, idempotency, or side effects. For a mutation tool, this is insufficient.

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 two sentences, includes the API endpoint, and has no unnecessary information. It is front-loaded with the key behavior and irreversibility.

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?

Given no output schema, the description adequately explains the outcome (soft-delete, removed from lists). However, it does not describe the return format or error handling, which would be helpful for a bulk operation.

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 coverage is 100%, so the baseline is 3. The description adds no additional parameter-level meaning beyond what the schema provides (e.g., no explanation of message IDs or constraints).

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 'Soft-delete multiple messages at once' and explains the effect ('no longer appear in list results'). It distinguishes from the sibling 'delete_message' by indicating bulk operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for bulk deletion but does not explicitly state when to use this tool versus alternatives like 'delete_message' for single messages. No when-not or prerequisites are mentioned.

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

delete_webhookDelete WebhookAInspect

Delete a webhook endpoint. All pending deliveries will be cancelled. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYesID of the webhook to delete
Behavior5/5

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

With no annotations provided, the description fully discloses important behavioral traits: the action is irreversible and pending deliveries are cancelled. This goes beyond what the schema provides.

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?

Two short, impactful sentences. The purpose is front-loaded, and every word adds value. No extraneous information.

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?

For a simple delete tool with one parameter and no output schema, the description adequately covers the action, consequences, and irreversibility. Nothing essential 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 has 100% coverage with a clear description of the webhook_id parameter. The tool description adds no additional meaning to the parameter beyond what the schema already states.

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 'Delete a webhook endpoint' using a specific verb and resource. It distinguishes itself from sibling tools like create_webhook, update_webhook, and list_webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it warns about the irreversible action and pending deliveries being cancelled, it does not explicitly guide when to use versus alternatives like update_webhook. The consequences are clear, but usage context could be stronger.

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

dns_checkDNS CheckAInspect

Fast DNS-based domain existence check. Tests if a name is taken across many TLDs at once (faster than search, no pricing). Returns 'taken' (definitely registered) and 'candidates' (potentially available). Use this to narrow down before calling search for pricing. Use preset: 'extended' to check 30+ creative/exotic TLDs when basic ones are all taken.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDomain name without TLD, e.g. 'myapp'
tldsNoTLDs to check, e.g. ['com', 'dev', 'ai', 'io']. Optional if preset is provided.
presetNoUse a curated TLD preset: 'basic' (10 common TLDs) or 'extended' (30+ including creative/exotic TLDs). Merged with explicit tlds if both provided. Defaults to 'basic' when tlds is omitted.
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the tool is DNS-based, returns 'taken' (definitely registered) and 'candidates' (potentially available), and notes it has no pricing. It implies a read-only, non-destructive operation, but does not explicitly state it is read-only. A minor gap prevents a perfect score.

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 concise, front-loading the core purpose in the first sentence. Every sentence provides necessary information without redundancy, making it easy to scan.

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?

For a simple check tool with no output schema, the description is complete. It explains the return fields ('taken' and 'candidates'), the default behavior (basic preset), and when to use the extended preset. It appropriately references sibling tools for pricing and alternative use cases.

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 baseline is 3. The description adds value by explaining the 'extended' preset checks '30+ creative/exotic TLDs' and that the basic preset defaults when no TLDs are provided. It also reiterates that the 'name' parameter should be without TLD, reinforcing 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 description clearly states the tool performs a fast DNS-based domain existence check across multiple TLDs. It distinguishes itself from sibling tools like 'search' by being faster and not providing pricing, and explicitly positions itself as a preliminary step before using search for pricing.

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?

The description provides explicit guidance on when to use this tool: 'Use this to narrow down before calling search for pricing.' It also advises on using the 'extended' preset when basic TLDs are taken, giving clear context for choosing between presets.

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

domain_statusDomain StatusAInspect

Check domain health: DNS propagation, SSL status, email (MX) configuration, and expiry date

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check status for
Behavior2/5

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

No annotations provided, so description carries full burden. It discloses what is checked but not behavioral traits like permissions, speed, error handling, or non-destructive nature. Implies read-only but not explicit.

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?

Single sentence, front-loaded with action verb, no wasted words. Efficient and scannable.

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?

Given the tool's simplicity (1 param, no output schema), the description covers the core purpose and specifics. Could be enhanced by mentioning output format or caveats, but overall adequate.

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 describes parameter simply as 'Domain to check status for'. Description adds value by listing what aspects are checked (DNS, SSL, email, expiry), providing meaningful context beyond 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 description clearly states the verb 'Check' and the resource 'domain health', listing specific aspects (DNS, SSL, email, expiry). This distinguishes it from siblings like dns_check or whois_lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this comprehensive check versus individual sibling tools like dns_check or check_email. The description does not mention prerequisites or exclusions.

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

finalize_negotiationFinalize NegotiationAInspect

As the buyer, pay the agreed price to create the escrow deal and start the transfer. Same payment methods as a purchase (card, USDC, x402). Requires domains:transfer scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
negotiation_idYesThe agreed negotiation to finalize
payment_methodNo
Behavior3/5

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

With no annotations, the description carries the full burden. It reveals the tool creates an escrow deal, starts a transfer, and requires 'domains:transfer' scope. However, it omits details like irreversibility, failure behavior, or confirmation steps, leaving gaps.

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?

Two sentences with key information front-loaded: 'As the buyer, pay the agreed price'. The scope requirement is placed at the end, but overall conciseness is good.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a payment tool with 2 parameters and no output schema, the description covers the main action and payment methods. However, it lacks details on return values, error handling, and what happens after successful payment. This leaves the agent with unanswered questions.

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 coverage is 50% (only negotiation_id described). The description adds payment method options ('card, USDC, x402') but these conflict with the schema enum which includes 'balance' instead of 'x402'. This inconsistency reduces value.

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 is for the buyer to pay the agreed price, creating an escrow deal and starting the transfer. It distinguishes from similar tools like buy_domain or make_offer by specifying it's for finalized negotiations.

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?

The description implies usage after negotiation agreement by saying 'pay the agreed price' and mentions 'as the buyer'. It does not explicitly state when not to use or provide alternatives, but the context is clear enough.

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

forward_messageForward EmailAInspect

Forward an email message to another address. Includes the original message context (sender, date, subject, body). Optionally prepend a note. Subject is auto-prefixed with 'Fwd:'. API: POST /api/emails/{address}/messages/{id}/forward.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient email address(es)
slugYesMailbox slug
textNoOptional note to prepend to the forwarded message
domainYesMailbox domain
message_idYesID of the message to forward
Behavior4/5

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

No annotations provided, so description carries full burden. Describes the core behavior (forward, include context, auto-prefix subject, optional note) and gives API endpoint. Missing potential side effects like marking as read or permission requirements, but sufficient for basic understanding.

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?

Two sentences plus API line. Front-loaded with purpose, then details. No redundant information, every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should explain return values. Does not mention what the response indicates (success/error). With many sibling tools, lacking output feedback makes it incomplete for an agent to understand the result of the action.

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 coverage is 100%, baseline 3. Description adds minor value: clarifies 'text' is an optional prepended note, and states subject auto-prefixing (not in schema). Does not elaborate on other parameters beyond 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?

Clearly states the verb 'forward', the resource 'email message', and specifies key behavior: includes original context, optional note, auto-prefixed subject. Distinguishes from siblings like 'send_email' and 'reply_to_message' by mentioning auto-prefixing and inclusion of original message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for forwarding emails but does not explicitly state when to use this tool versus alternatives (e.g., reply_to_message). No exclusions or prerequisites mentioned.

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

get_accountGet AccountAInspect

Get your account details, payment status, contact info status (has_contact), and referral code. Contact info must be set before purchasing domains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations, the description carries full burden. It lists return fields and a prerequisite but fails to disclose whether the operation has side effects, requires authentication, or is read-only. The safety profile is unclear.

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?

Two sentences, no filler. First sentence lists return fields, second provides a conditional usage note. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read tool with no parameters. Lists several return fields but omits details like possible values of payment status or format of contact info. No output schema, so more could be said about response structure.

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?

No parameters exist (0 params, 100% schema coverage). Description adds value by detailing what the tool returns, exceeding the schema which only defines type object with no properties.

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?

Description clearly states it retrieves account details, listing specific fields (payment status, contact info status, referral code). The verb 'get' and resource 'account' are specific and distinguishable from sibling tools.

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?

Provides a clear condition: 'Contact info must be set before purchasing domains.' This hints at a prerequisite but doesn't explicitly say when to use this tool vs alternatives like other getter tools. Implicitly it's the tool for account-level data.

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

get_auth_codeGet Auth CodeAInspect

Get the EPP/auth code needed to transfer a domain to another registrar. Automatically unlocks the domain if it's locked. Give this code to the new registrar to initiate the transfer.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to get auth code for
Behavior4/5

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

Discloses the automatic unlock side effect, which is critical for agents to know; lacks other potential side effects but the primary behavioral trait is covered.

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?

Efficient, no wasted words, key info upfront.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main purpose and side effect but lacks details on return format and error behavior; acceptable for simple tool.

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 fully describes the parameter; description adds no further semantic detail.

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?

Clearly states the tool retrieves the EPP/auth code for domain transfer, distinguishes from transfer and eligibility checks by specifying the action and output.

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?

Specifies the purpose and next step (give to new registrar), but does not explicitly state when not to use or compare to alternatives like transfer_domain.

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

get_deal_invoiceGet Deal InvoiceAInspect

Get a role-aware receipt/statement for a marketplace deal. Buyers see what they paid; sellers see the sale, the platform commission line, and the net payout. Works for every payment method. Requires deals:read scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
deal_idYesThe deal ID
Behavior4/5

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

Without annotations, the description carries full burden. It discloses role-aware behavior (buyer vs seller) and scope requirement, which is good. Missing details on errors or rate limits but acceptable for a simple read tool.

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?

Two sentences, compact and efficient. First sentence states purpose and key behavior, second adds scope. No wasted words.

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?

Given no output schema, the description explains what each role sees, which is helpful. Scope requirement covered. Lacks error/edge cases but sufficient for a single-record retrieval.

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 description does not add meaning beyond the schema's description of 'deal_id'. With 100% schema coverage, baseline is 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 verb "Get" and the resource "role-aware receipt/statement for a marketplace deal". It specifies buyer vs seller differences, distinguishing it from sibling tools like list_invoices.

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?

The description mentions it works for every payment method and requires the deals:read scope, providing clear context. However, it does not explicitly state when to use this tool over alternatives like list_invoices.

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

get_dnsGet DNS RecordsAInspect

Get DNS records for a domain you own

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to get DNS records for
Behavior2/5

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

No annotations provided; description only states 'Get DNS records' implying read-only but doesn't disclose auth requirements, rate limits, or behavior beyond the basic action.

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?

Single sentence, no fluff, front-loaded with action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple 1-parameter tool but lacks details on return format, pagination, or any output schema; no annotations to compensate.

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 covers domain parameter fully; description adds ownership context ('you own') beyond schema, adding value.

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?

Clear verb 'Get' and resource 'DNS records' with condition 'for a domain you own'. Distinct from sibling tools like dns_check, set_dns, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like dns_check or list_domains. Lacks when-not-to-use context.

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

get_domain_email_statusGet Domain Email StatusAInspect

Check if email is enabled on a domain and whether DNS records are verified. Returns record status and mailbox count.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check email status for
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It indicates a read-only check with no side effects. However, it does not explain what 'record status' means in detail, nor does it mention any potential caching or delay. For a simple check, this is adequate but not thorough.

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 a single sentence of 20 words, front-loaded with the action 'Check'. Every word contributes to the purpose. No redundancy or filler. Ideal for quick parsing by an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool without an output schema, the description provides the key return values (record status and mailbox count). However, it does not specify the format or meaning of these fields, which could lead to confusion. More detail on the return structure would improve completeness.

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% for the single parameter 'domain', which is described as 'Domain to check email status for'. The tool description adds context about the purpose of the check (email enabled, DNS verified) but does not add extra semantic meaning beyond the schema. Baseline 3 is appropriate.

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?

The description clearly states the tool checks email enablement and DNS verification on a domain, and returns record status and mailbox count. This is specific and matches the name. However, it does not explicitly differentiate from siblings like 'check_email' or 'domain_status', so it loses one point for lack of differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (checking email status for a domain), but provides no guidance on when to use this tool versus alternatives (e.g., 'get_domain_info' or 'dns_check'). There are no exclusions or when-not conditions. The purpose is clear, but an agent would benefit from more explicit usage boundaries.

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

get_domain_infoGet Domain InfoAInspect

Get detailed information about a domain you own, including auto-renew status, security lock, WHOIS privacy, and provider data.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to get info for
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the action and typical returned fields, but does not disclose authorization requirements beyond ownership, error handling, or rate limits. For a simple read operation, this is adequate but not comprehensive.

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?

Single sentence, front-loaded with the core purpose, and no redundant words. Highly efficient.

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 tool with one parameter and no output schema, the description is fairly complete, listing the types of information returned. It could mention that it is a read-only operation, but overall it provides sufficient context.

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 coverage is 100% with the 'domain' parameter described. The description adds no additional semantics for the parameter beyond the schema; it only lists output fields. Baseline score 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 uses specific verb 'get detailed information' and resource 'domain you own', and lists specific attributes (auto-renew, security lock, WHOIS privacy, provider data). It clearly distinguishes from sibling tools like 'domain_status' or 'get_dns'.

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?

The description implicitly limits usage to domains the user owns ('domain you own'), but does not explicitly state when to use this tool vs. alternatives like 'domain_status' or 'get_dns'. No exclusions or alternative recommendations are given.

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

get_domain_previewGet Domain PreviewAInspect

Get website preview metadata (title, description, image, favicon) for any domain. Useful for understanding what a taken domain is currently used for. Data is cached for 7 days.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to preview, e.g. google.com
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that data is cached for 7 days, which is helpful. However, it does not mention failure modes for invalid domains, authentication requirements, or rate limits. Given the simplicity, a 3 is appropriate.

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?

Two sentences, front-loaded with the action and resource. Every sentence adds value: the first defines the tool, the second gives a use case and caching detail. No wasted words.

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?

Given the low complexity (1 param, no output schema, no annotations), the description covers the essential aspects: what it does, why it's useful, and a key behavior (caching). It could optionally describe the return value format but is sufficiently complete for a simple preview tool.

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 input schema covers 100% of parameters, so the baseline is 3. The description adds an example 'e.g. google.com' which is minor but helpful. No further parameter details are needed.

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 explicitly states the verb 'get', the resource 'website preview metadata', and lists specific fields (title, description, image, favicon). It clearly distinguishes from sibling tools like 'get_domain_info' or 'dns_check' by focusing on preview metadata for taken domains.

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?

The description provides a clear use case: 'useful for understanding what a taken domain is currently used for'. While it does not explicitly state when not to use or name alternatives, the context implies it's for quick previews rather than detailed domain info, which is adequate.

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

get_messageGet MessageAInspect

Get a single message by ID with full content, headers, delivery events, and attachment download URLs. API: GET /api/emails/{address}/messages/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
message_idYesMessage ID
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions it is a GET request and describes return data, but doesn't explicitly confirm it is read-only or discuss side effects, rate limits, or auth requirements.

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?

Two sentences; first delivers purpose and output, second adds API path. Economical and front-loaded, though the API path may be unnecessary for an AI agent.

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?

Given no output schema, the description adequately lists what the tool returns. For a single-resource retrieval with 3 parameters, it covers key aspects like message ID and included data. Minor gap: no mention of pagination or limits, but unlikely needed.

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 coverage is 100% with basic descriptions. The tool description adds no extra meaning beyond the schema, only contextualizing that the 'message_id' identifies the message. Meets baseline for high coverage.

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?

Clearly states the tool retrieves a single message by ID and lists the included data (content, headers, delivery events, attachment URLs). Distinguishable from sibling tools like list_email_messages or delete_message.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when full message details are needed, but no explicit guidance on when not to use or comparison with alternatives like list_email_messages for metadata-only needs.

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

get_nameserversGet NameserversAInspect

Get the authoritative nameservers configured for a domain you own. If empty, DNS operations (parking, email, connect) will fail.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to get nameservers for
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses that empty result leads to DNS operation failure, a useful behavioral insight. Assumes read-only, no side effects mentioned.

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?

Two sentences, no redundant words. Front-loaded with action and resource. Efficient and clear.

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?

Given simple tool (one param, no output schema, no annotations), description covers purpose and behavioral consequence. Lacks output format details but adequate for agent understanding.

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 coverage is 100% for the single parameter 'domain' with its own description. The tool description adds no additional parameter meaning beyond 'domain you own', which is consistent but not extra.

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?

Clearly states the verb 'Get' and resource 'authoritative nameservers for a domain you own'. Adds context that empty result causes DNS operation failure, distinguishing it from sibling tools like set_nameservers or dns_check.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when checking nameservers for owned domain, but lacks explicit when-to-use vs alternatives or when-not-to-use. No comparison with siblings like dns_check or domain_status.

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

get_parking_analyticsGet Parking AnalyticsAInspect

Get visitor analytics for a parked domain - page views, inquiries, conversion rate, 30-day daily breakdown, and the 5 most recent inquiries. Use this to check how much traffic a parked domain gets and whether it's converting into buyer inquiries.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to get analytics for, e.g. example.com
Behavior4/5

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

With no annotations, the description carries the full burden. It details the specific analytics returned (page views, inquiries, conversion rate, 30-day daily breakdown, 5 recent inquiries). This is transparent about output, though it does not explicitly state it is read-only or address potential limitations.

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 two sentences: the first lists outputs, the second states the use case. Every word adds value; no filler or redundancy.

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?

Given the tool's low complexity (single required param, no output schema), the description is mostly complete. It covers the key outputs and use case. It could hint that the domain must be parked, but that is implied by the tool name and description.

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 input schema has 100% coverage with a clear description for the 'domain' parameter. The tool description provides no additional parameter-level detail beyond the schema, so baseline score 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 uses a specific verb ('Get') and resource ('parking analytics'), lists concrete outputs (page views, inquiries, conversion rate, etc.), and clearly distinguishes from sibling tools like 'get_domain_info' which likely return different data.

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?

The description explicitly states when to use the tool: 'Use this to check how much traffic a parked domain gets and whether it's converting.' It does not mention when not to use or alternatives, but the context is clear among many siblings.

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

get_transfer_awayGet Transfer Away StatusAInspect

Check the status of an outbound domain transfer. Use after getting an auth code and initiating the transfer at the new registrar.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to check transfer status for
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Check the status' without clarifying idempotence, rate limits, or error scenarios. A more informative description would add value beyond the schema.

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 two sentences long with no unnecessary words. It is well-structured and front-loaded with the core purpose, earning its place efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the basic purpose and usage context for a simple one-parameter tool without an output schema. However, it lacks information about possible statuses or error conditions, leaving some gaps in completeness.

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 has 100% coverage with the 'domain' parameter described. The description adds no additional meaning beyond what the schema already provides, so the baseline score 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 uses a specific verb ('Check') and resource ('status of an outbound domain transfer'). It clearly distinguishes from sibling tools like 'check_transfer_status' and 'get_auth_code' by specifying the outbound direction and the required preceding steps.

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?

The description explicitly states when to use the tool: 'after getting an auth code and initiating the transfer at the new registrar.' This provides clear context, though it does not mention any exclusions or alternatives.

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

import_domainImport DomainAInspect

Import an external domain you already own (registered at GoDaddy, Namecheap, Cloudflare, etc.) to manage through domani.run. Free, no transfer needed. Returns a TXT record to add at your DNS provider for ownership verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to import, e.g. mysite.com
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses that it returns a TXT record for ownership verification, a key behavioral detail. Could mention if any side effects, but this is sufficient for a non-destructive import.

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?

Two sentences are highly concise, front-loaded with purpose, and every sentence adds value.

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?

For a simple tool with one parameter and no output schema, the description covers the core functionality, cost, and verification step. Complete and adequate.

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?

Single parameter 'domain' with full schema coverage. Description doesn't add new meaning beyond the schema's description, but confirms format. Baseline 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?

Clearly states the tool imports an external domain the user already owns to manage through domani.run, distinguishing it from siblings like transfer_domain or buy_domain.

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?

Provides clear context: use for domains you already own from external registrars, free and no transfer. Could explicitly mention when not to use, but context from siblings implies alternatives.

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

list_backordersList BackordersAInspect

List the user's backorders (watching, caught, failed, cancelled, expired). Optionally filter by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status
Behavior3/5

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

No annotations are provided, so the description must stand alone. It correctly notes the listing nature but does not explicitly state that the operation is read-only or non-destructive. However, the context implies a safe operation.

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 a single sentence that efficiently conveys the purpose and optional filter. There is no wasted text, and it is front-loaded with the action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should hint at the response, but it does not. It also lacks details on pagination, ordering, or behavior when no backorders exist. Adequate for a simple list tool but incomplete.

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 input schema fully covers the single parameter with an enum and description. The tool description adds 'Optionally filter by status,' which restates the schema. No additional meaning is provided beyond 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 description clearly states the verb 'List' and the resource 'the user's backorders', specifying the possible statuses (watching, caught, failed, cancelled, expired). This distinguishes it from siblings like create_backorder or cancel_backorder.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use vs alternatives. The description implies usage for viewing backorders, but does not mention when not to use or provide alternatives.

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

list_domainsList DomainsBInspect

List all domains you own

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the full burden. It correctly implies a read-only operation and simple listing, but it does not disclose any behavioral traits such as return format, pagination, or rate limits. The description is adequate but minimal.

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 a single sentence with no unnecessary words. It is perfectly concise and front-loaded with the action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (no parameters, no output schema), the description is adequate but incomplete. It does not specify the return format (e.g., list of domain names or full objects) or mention pagination. Sibling tools like list_services might have similar behavior, but the description alone leaves some ambiguity.

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?

The tool has zero parameters, and schema coverage is 100% by default. The description adds no parameter detail, but none is needed. Baseline 4 is appropriate as the schema already covers everything.

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?

The description clearly states the verb 'list' and resource 'domains you own,' making the purpose clear. It distinguishes from sibling list tools by specifying 'domains' rather than other resources like backorders or services. However, it does not explicitly differentiate from closely related domain tools like get_domain_info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs. alternatives. For example, it does not explain when to use list_domains vs. get_domain_info or list_services. The description simply states what it does without usage context.

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

list_email_messagesList Email MessagesAInspect

List received and sent messages for a mailbox. Supports cursor-based pagination, direction filtering (in/out), and search by from/to/subject. API: GET /api/emails/{address}/messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoFilter by recipient address (case-insensitive, partial match)
fromNoFilter by sender address (case-insensitive, partial match)
slugYesMailbox slug
limitNoMax messages to return (default 20, max 100)
cursorNoPagination cursor from previous response
domainYesMailbox domain
subjectNoFilter by subject (case-insensitive, partial match)
directionNoFilter by direction: 'in' for received, 'out' for sent
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions it's a GET API (implied read-only) and supports pagination/filtering, but lacks details on auth requirements, rate limits, response structure, or potential side effects.

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 two sentences, front-loaded with purpose, and wastes no words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For 8 parameters, no output schema, and no annotations, the description covers core purpose and features but omits important context such as required parameters (domain, slug), how to use the cursor, response format, and any restrictions or limits.

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?

Input schema covers 100% of parameters with descriptions. The description adds context by explaining that cursor relates to pagination, direction to in/out filtering, and from/to/subject to search. This provides additional meaning beyond 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 description clearly states the tool lists received and sent messages for a mailbox, using a specific verb and resource. It distinguishes from sibling tools like get_message (single message) and send_email (sending).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions supported features (pagination, filtering, search) but does not explicitly state when to use this tool over alternatives or when not to use it. No exclusions or context provided.

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

list_invoicesList InvoicesAInspect

List the user's payment invoices. Returns invoice number, amount, date, and links to view/download the PDF. Each invoice is generated by Stripe when a domain is purchased, renewed, or transferred.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax invoices to return (default 20, max 100)
Behavior2/5

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

With no annotations provided, the description should disclose behavioral traits like read-only nature, authentication needs, or pagination behavior. It only describes the return format and source, but omits these key aspects.

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?

Two sentences, front-loaded with the key purpose. Every sentence provides essential information without redundancy.

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 simple tool with one parameter and no output schema, the description is largely complete. It explains what is returned and the source. However, missing behavioral transparency details prevent a perfect score.

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% (limit parameter has a description). The tool description adds no new meaning beyond the schema, so baseline 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's purpose: 'List the user's payment invoices.' It specifies what is returned (invoice number, amount, date, links) and provides context (generated by Stripe for domain purchases/renewals/transfers). This distinguishes it from sibling list tools like list_domains or list_mailboxes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implied that this tool is used to view invoices generated by Stripe, but it does not explicitly state when to use it versus alternatives. No exclusions or alternative tools are mentioned, so guidance is implicit.

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

list_mailboxesList MailboxesBInspect

List all your email addresses. Optionally filter by domain. API: GET /api/emails (or GET /api/email).

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoFilter by domain, e.g. mysite.com. Omit to list all
Behavior2/5

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

No annotations are present, so the description must fully disclose behavioral traits. It mentions listing all email addresses and the API endpoints but does not discuss side effects (e.g., it's a read operation), rate limits, pagination, or authorization requirements. The minimal description leaves the agent uninformed about potential constraints.

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 extremely concise, consisting of two short sentences that immediately convey the tool's purpose. It is front-loaded with the main action and includes API endpoint information without unnecessary verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description adequately states the purpose and filter. However, it lacks details about the return format (e.g., list of strings or objects), which would help an agent parse results. Given the tool's simplicity, it is minimally complete.

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 coverage is 100% for the single 'domain' parameter. The description adds 'Optionally filter by domain' which reinforces the schema but adds little new meaning. Since the schema already describes the parameter well, a baseline of 3 is appropriate.

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?

The description clearly states the tool lists email addresses with optional domain filtering. It uses a specific verb ('List') and resource ('email addresses/mailboxes'), distinguishing it from siblings like create_mailbox or delete_mailbox. However, calling them 'email addresses' instead of 'mailboxes' is slightly imprecise.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There are sibling tools such as list_email_messages, get_message, etc., but no explicit context for when to choose list_mailboxes over them. The description only states what it does, not the appropriate usage scenario.

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

list_negotiationsList NegotiationsAInspect

List your active and past price negotiations (as buyer or seller). Counterparties are anonymized. Requires deals:read scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoFilter by your role
statusNoFilter by status (open|agreed|completed|all)
Behavior4/5

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

With no annotations provided, the description discloses key behavioral traits: counterparties are anonymized and the scope requirement. It also clearly states that the tool lists both active and past negotiations. While it doesn't mention pagination, sorting, or limits, these are often expected for list operations and the description provides sufficient transparency for a safe read operation.

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 extremely concise with two sentences. The first sentence states the primary purpose and scope, and the second adds essential behavioral and access details. No redundant information is present.

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 list tool with two parameters and no output schema, the description covers key aspects: what is listed, for whom, anonymization, and required scope. It does not explain the return format, but given the simplicity of the tool and the schema descriptions, it is sufficiently complete.

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 input schema has 100% description coverage, so the schema already documents both parameters well ('Filter by your role', 'Filter by status...'). The tool description adds no additional meaning beyond the schema, meeting the baseline expectations.

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 verb 'list' and the resource 'your active and past price negotiations'. It specifies the user's potential roles (buyer or seller) and adds that counterparties are anonymized. This clearly distinguishes it from sibling tools like 'make_offer', 'respond_to_offer', and 'finalize_negotiation' which involve actions rather than listing.

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?

The description provides context by stating the required scope ('Requires deals:read scope'), which guides when the tool can be used. It implies that this tool is for viewing negotiations, not for modifying them. However, it does not explicitly state when not to use it or mention alternative tools for specific scenarios.

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

list_providersList ProvidersAInspect

List all supported hosting and email providers with their connection methods, target requirements, and setup notes

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It describes the output contents (connection methods, requirements, notes) but does not explicitly state behavioral traits like idempotency, rate limits, or data freshness. However, 'List' implies a read-only operation, which is acceptable for a simple listing tool.

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 a single sentence of 14 words that concisely states the verb, resource, and output content without any fluff. It is appropriately front-loaded and each word adds value.

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?

Given the tool's simplicity (1 optional parameter, no output schema, no annotations), the description is sufficiently complete. It covers the purpose and the main output details. However, since there is no output schema, a slight mention of the exact fields could enhance completeness, but it is not necessary.

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% (category parameter has a description and enum). The tool description adds no extra meaning beyond what the schema provides; it only repeats the context of 'hosting and email' which aligns with the enum values.

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 uses a specific verb ('List') and resource ('providers'), and clarifies the scope ('all supported hosting and email') and the details included ('connection methods, target requirements, and setup notes'). It clearly distinguishes from sibling tools that deal with domains, emails, or other entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you need provider information but does not explicitly state when to use versus alternatives. The sibling tools are clearly different in function, so the context is implicitly understood, but no direct guidance or exclusions are provided.

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

list_servicesList ServicesAInspect

List all supported services for domain verification (Stripe, Google Search Console, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It indicates a read-only operation ('List all supported services'), which is appropriate, but does not mention any other aspects like authentication or rate limits. For a simple list tool, this is adequate but not exceptional.

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 a single, well-structured sentence that immediately conveys the tool's purpose. Every word is necessary and there is no redundancy.

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 tool's simplicity (no parameters, no output schema), the description is fully complete. It explains what the tool does and provides examples, which is sufficient for an agent to understand when and how to use it.

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?

With zero parameters and 100% schema description coverage, the description need not add parameter details. The baseline for 0 parameters is 4, and the description meets it by not requiring further elaboration.

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 'List all supported services for domain verification' with examples like Stripe and Google Search Console, making the verb and resource specific. It distinguishes from sibling tools such as verify_service which likely acts on a selected service.

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?

The description implies usage in the context of domain verification (e.g., before using verify_service), but does not explicitly state when not to use or mention alternatives. Given the simplicity of the tool, the context is clear and sufficient.

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

list_tldsList TLDsAInspect

List all available TLDs with registration and renewal pricing

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort field. Defaults to tld
limitNoMax results to return
orderNoSort order (default: asc)
offsetNoPagination offset
searchNoFilter TLDs containing this string
max_priceNoMaximum registration price in USD
min_priceNoMinimum registration price in USD
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states the tool lists TLDs with pricing, which implies a read operation, but does not explicitly disclose that it is non-destructive, or mention pagination, rate limits, or authentication requirements. The basic behavior is conveyed, but not comprehensively.

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 a single, concise sentence without any extraneous information. It is front-loaded with the verb and resource, and every word serves a purpose.

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?

Given the tool's simplicity and the absence of an output schema, the description adequately covers the main functionality. It mentions the key output elements (registration and renewal pricing). An agent can reasonably infer the purpose and basic usage.

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%, so baseline is 3. The description adds minimal value beyond the schema: it hints at pricing filters via 'with registration and renewal pricing', but the schema already describes price parameters. No additional semantic guidance is provided.

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 verb 'List' and the resource 'all available TLDs' with the added detail of 'registration and renewal pricing'. This distinguishes it from sibling tools like browse_marketplace or list_domains, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While the purpose is clear, there is no mention of when not to use it or suggestions for related tools like search or suggest_domains for TLD selection.

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

list_tokensList API TokensAInspect

List all API tokens for your account. Shows token name, masked key, creation date, last used, and expiration status. Expired tokens are marked.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that expired tokens are marked, but does not mention rate limits, authentication requirements, or pagination. For a simple list operation, this is adequate.

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 two sentences, front-loading the main action and then providing supporting details. No redundant information; every sentence adds value.

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?

Given the tool's simplicity (no parameters, no output schema), the description covers the key aspects: what is listed and what fields are shown. It could mention pagination or limits, but it is largely complete for an agent to understand the tool's purpose.

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?

There are no parameters in the input schema, so the description does not need to explain them. The baseline for 0 parameters is 4, and the description adds no unnecessary detail.

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 action ('List') and the resource ('API tokens for your account'), and mentions the fields shown. It distinguishes from siblings like create_token or revoke_token by its listing purpose.

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?

The description implies when to use (to view all tokens) but does not explicitly state when not to use or mention alternatives. Since the sibling tools include related operations, a brief exclusion would be helpful, but the context is clear enough.

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

list_webhook_deliveriesList Webhook DeliveriesAInspect

Get recent delivery attempts for a webhook - shows event type, HTTP status, number of attempts, and any errors. Useful for debugging webhook issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of deliveries to return (default 20)
webhook_idYesID of the webhook to get deliveries for
Behavior3/5

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

With no annotations, the description carries the full burden. It lists key output fields but does not disclose whether the operation is read-only, any authentication requirements, or pagination behavior. The description is honest but incomplete.

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?

Two sentences with the primary action front-loaded. The first sentence states the tool's purpose and output, the second adds use case. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, so the description must convey the output format. It mentions key fields (event type, HTTP status, attempts, errors) but omits ordering, pagination, or default limit behavior, leaving some gaps for a list operation.

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?

Input schema has 100% description coverage for both parameters (webhook_id, limit). The description adds no additional parameter details beyond the schema, meeting the baseline.

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?

Description clearly states the tool retrieves recent delivery attempts for a webhook, listing specific fields like event type and HTTP status. The name and description distinguish it from sibling tools like list_webhooks, which list webhooks themselves.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description mentions it is 'useful for debugging webhook issues,' providing a clear context for use, but does not explicitly state when not to use it or suggest alternatives like list_webhooks for viewing webhooks.

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

list_webhooksList WebhooksAInspect

List all webhook endpoints configured for the user's account. Returns URL, subscribed events, and active status for each webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description must carry the burden. It indicates the tool returns a list with specific fields but omits details like pagination, rate limits, or any read-only guarantee. Adequate but not richly transparent.

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?

Two efficient sentences, front-loaded with the main action. No redundant words, every sentence earns its place.

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?

Given no parameters or output schema, the description is fairly complete. It explains what the tool returns. Could mention if all webhooks are returned or if there is any limit, but overall adequate for a simple list operation.

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?

The tool has zero parameters with 100% schema coverage, so baseline is 4. The description adds value by stating the output fields, helping the agent understand what to expect from the response.

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 lists webhook endpoints for the user's account and specifies the output fields (URL, subscribed events, active status), distinguishing it from siblings like create_webhook or list_webhook_deliveries.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when or when not to use this tool versus alternatives. While the purpose is clear, there is no mention of context or exclusion criteria, leaving the agent to infer based on name alone.

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

make_offerMake an OfferAInspect

Open an anonymous price negotiation on a listed domain with an initial offer (below or at the asking price). The seller can counter, accept, or decline. Neither side sees the other's identity. Requires deals:write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
offerYesYour initial offer in USD, e.g. 500
domainYesThe listed domain to negotiate on, e.g. premium.com
messageNoOptional message to the seller
Behavior4/5

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

With no annotations, the description carries full burden. It discloses key behaviors: anonymity, seller actions (counter/accept/decline), and scope requirement. It lacks details on rate limits, idempotency, or failure modes, but covers essential traits for a negotiation tool.

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?

Two sentences: first explains the core function, second adds a necessary prerequisite. Both are front-loaded and free of redundancy. Every sentence serves a purpose.

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?

Given 3 parameters and no output schema, the description covers the domain, offer process, and scope. It does not explain return values or error states, but for a straightforward negotiation tool, this is adequate.

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 coverage is 100% with descriptions for all parameters. The description adds context for 'offer' by specifying it must be 'below or at the asking price', but does not significantly enhance understanding beyond the schema. Baseline 3 applies.

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 specifies the action ('open an anonymous price negotiation'), the resource ('a listed domain'), and key details ('initial offer below or at the asking price'). This distinguishes it from siblings like 'buy_domain' (immediate purchase) and 'respond_to_offer' (response to existing offer).

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?

The description states the required scope ('deals:write') and implies when to use (when wanting to negotiate). However, it does not explicitly state when not to use or provide direct comparisons to alternatives like 'buy_domain'.

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

mark_messages_readMark Messages Read/UnreadAInspect

Mark one or more messages as read or unread. Useful for tracking which messages have been processed by your agent. API: PATCH /api/emails/{address}/messages/read.

ParametersJSON Schema
NameRequiredDescriptionDefault
readYestrue = mark as read, false = mark as unread
slugYesMailbox slug
domainYesMailbox domain
message_idsYesIDs of messages to mark
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the mutation (PATCH) and the ability to mark both read and unread, but omits details on permissions, partial failures, or rate limits, which is adequate but not thorough.

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 two sentences, front-loaded with the key action and purpose, with no superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should explain what the tool returns or what side effects occur. It also does not explain the domain/slug parameters needed to identify the mailbox, leaving gaps for an AI agent to infer.

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 coverage is 100%, with all parameters described in the schema. The description adds marginal value by reiterating the read/unread behavior, but does not provide additional context beyond 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 description clearly states the action ('mark one or more messages as read or unread') and the resource ('messages'), distinguishing it from sibling tools like forward_message or delete_message by focusing on read status changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a use case ('tracking which messages have been processed by your agent') but does not explicitly state when not to use this tool or mention alternatives, offering only implied guidance.

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

provision_agentProvision Agent IdentityAInspect

Give an AI agent a complete internet identity in one call: buy a domain, set up email, create a mailbox, and (optionally) register a webhook for inbound email. Use this when someone wants to 'give my agent a domain and email' or 'set up an agent from scratch'. Confirm the domain and price with the user first (it charges for the domain). The domain purchase is the only step that can fail the call; mailbox/webhook are best-effort and report warnings.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name for outbound email.
slugNoMailbox local part, e.g. 'hi' for hi@domain. Default 'hi'.
yearsNoRegistration years (1-10, default 1).
domainYesDomain to give the agent, e.g. myagent.run. Bought if not already owned.
webhook_urlNoOptional HTTPS URL to receive inbound email + domain events.
payment_methodNoHow to pay for the domain: card, usdc, or balance (marketplace credit).
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that domain purchase is the only failure point, and mailbox/webhook are best-effort with warnings. It also mentions charging for the domain. However, it does not detail side effects like resource creation or cost specifics beyond price confirmation.

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 three sentences, each with a distinct role: summary of action, usage guidance, and failure mode transparency. No redundancy, front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should clarify return values or status. It mentions warnings but does not specify what the agent will receive (e.g., confirmation, IDs). For a compound tool, more detail on outcomes would be helpful. However, it covers the main workflow and constraints adequately.

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 baseline is 3. The description adds meaning by explaining that the tool combines domain purchase, email setup, mailbox creation, and optional webhook – going beyond individual parameter descriptions. It contextualizes the parameters into a complete workflow.

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: 'Give an AI agent a complete internet identity in one call: buy a domain, set up email, create a mailbox, and (optionally) register a webhook for inbound email.' It uses specific verbs and resources, and distinguishes from sibling tools which handle individual steps.

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?

The description provides explicit usage context: 'Use this when someone wants to "give my agent a domain and email" or "set up an agent from scratch".' It also advises confirming with the user first. It implies when not to use (for individual tasks), but does not explicitly list alternative sibling tools.

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

renew_domainRenew DomainAInspect

Renew a domain you own for additional years. Always confirm with the user before calling this.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearsNoNumber of years to renew (1-10, default 1)
domainYesDomain to renew, e.g. mysite.com
payment_txNoTransaction hash of a USDC payment already sent on-chain.
payment_chainNoChain the USDC payment was sent on.
payment_methodNoPayment method: 'card' to charge card on file, 'usdc' to pay with USDC. Overrides the user's default preference for this request.
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions confirmation requirement but does not disclose that the tool initiates a payment or modifies domain expiration. The parameters hint at payment, but impact is not explicitly stated.

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?

Two sentences, each earning their place: first states purpose, second provides essential usage guideline. No redundant or missing words; highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of payment parameters and no output schema, the description is too brief. It does not explain what happens upon renewal (e.g., billing, expiry extension), leaving agent under-informed about consequences.

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 coverage is 100% with all parameters already described. The description adds no extra semantic detail beyond the schema, so baseline score of 3 applies.

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 uses a specific verb 'Renew' and resource 'a domain you own', clearly distinguishing from siblings like 'buy_domain' (purchasing new) and 'transfer_domain' (moving domain). The phrase 'for additional years' clarifies the scope.

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?

Includes explicit instruction 'Always confirm with the user before calling this', which guides appropriate use. However, lacks explicit comparison to sibling tools (e.g., when to renew vs. buy or transfer), though the purpose implies usage context.

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

reply_to_messageReply to EmailAInspect

Reply to an email message. Automatically sets To (from Reply-To or sender), Subject (Re: prefix), In-Reply-To and References headers for proper threading. Use all=true for reply-all (auto-populates CC from original recipients, excluding your own address). API: POST /api/emails/{address}/messages/{id}/reply.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoAdditional CC recipients (overrides auto-CC when all=true)
allNoReply-all: auto-CC original To and CC recipients (default: false)
htmlNoHTML reply body
slugYesMailbox slug
textNoPlain text reply body
domainYesMailbox domain
message_idYesID of the message to reply to
Behavior4/5

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

With no annotations provided, the description carries full burden and discloses key behaviors: automatic setting of To, Subject (Re:), In-Reply-To, and References headers, and auto-population of CC for reply-all. It does not mention error handling or idempotency but is fairly informative.

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 concise sentences, front-loaded with purpose, then behavioral details, then reply-all instruction. No wasted words, every sentence serves a distinct purpose.

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?

Given 7 parameters and no output schema, the description covers core functionality well. It explains automatic threading and reply-all but lacks details on return value or error cases. Still, it provides sufficient context for most usage scenarios.

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 has 100% coverage, so baseline is 3. Description adds value by explaining automatic header behavior and clarifying that reply-all excludes the sender's own address, which enhances understanding beyond 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?

Description clearly states 'Reply to an email message' and elaborates on automatic header setting and reply-all behavior. It distinguishes this tool from siblings like send_email or forward_message by specifying threading headers and reply-all functionality.

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?

Description implies usage context (replying to a specific message) and clarifies when to use all=true for reply-all. However, it does not explicitly mention when not to use or suggest alternatives like forward_message.

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

resend_email_verificationResend Email VerificationAInspect

Resend a verification email for your WHOIS contact email. If the contact email matches your login email, it's already verified. Rate limited to once per 15 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailNoEmail to verify (defaults to your contact email)
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses the rate limiting behavior (once per 15 minutes) and the condition that login email matching contact email means already verified. This is sufficient behavioral transparency for a simple resend operation.

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?

Two sentences covering purpose, condition, and rate limit. Every sentence adds value. No extraneous information. Front-loaded with the main action.

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?

For a simple tool with one optional parameter and no output schema, the description is complete. It covers what the tool does, when to use it, and a behavioral constraint (rate limit). No gaps for an agent to select and invoke correctly.

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?

Only one parameter 'email' with schema description 'Email to verify (defaults to your contact email)'. The description adds value by explaining the default behavior, which is not evident from the schema alone. Schema coverage is 100%, so this is a bonus.

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 explicitly states the action: resend a verification email for the WHOIS contact email. It also clarifies a special condition (if email matches login email, already verified), which distinguishes it from sibling tools like check_email. Highly clear.

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?

Provides explicit context on when to use (when verification email needs to be resent) and when not to use (if already verified). Rate limit of once per 15 minutes is given. No explicit alternatives mentioned, but the sibling list is large; the description implies this is for the specific verification scenario.

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

respond_to_offerRespond to OfferAInspect

Counter, accept, or decline the current offer in a negotiation when it's your turn. 'accept' locks the price at the amount on the table; the buyer then finalizes payment. Requires deals:write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesYour response
counterNoNew amount in USD (required when action=counter)
messageNo
negotiation_idYesThe negotiation ID
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It explains the effect of 'accept' (locks price, buyer finalizes payment) and mentions the required scope. However, it does not disclose details about the effects of 'counter' or 'decline', potential reversibility, or any side effects. This leaves gaps in understanding the tool's complete behavior.

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 extremely concise with two sentences that cover the tool's purpose, key actions, and an important side effect. Every sentence adds value, and the information is front-loaded for quick understanding.

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?

Given the tool's complexity (4 parameters, no output schema, no annotations), the description provides a solid overview. It explains the core functionality and a key side effect. However, it could be more complete by describing what happens on 'counter' and 'decline', and what the return value indicates. The absence of this information leaves some ambiguity.

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 75%, so the baseline is 3. The description does not add significant additional meaning beyond the schema; it only repeats the purpose of parameters without providing extra context like formatting, constraints, or examples. The 'counter' field is already well-described in the schema with a conditional requirement.

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 specific actions (counter, accept, decline) and the resource (current offer in a negotiation). It distinguishes itself from sibling tools like 'make_offer' by focusing on responding to an existing offer, and explicitly mentions the requirement of 'deals:write' scope, ensuring the agent knows the context.

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?

The description includes the condition 'when it's your turn', which provides context for when to use the tool. However, it does not explicitly compare with sibling tools or specify when not to use it (e.g., if the negotiation is already finalized). The scope requirement is mentioned, adding clarity.

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

restore_dnsRestore DNSAInspect

Restore DNS records from the server-side backup (created by snapshot_dns or during transfers). Uses diff to avoid duplicates. Call snapshot_dns first to create a backup.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to restore DNS for
Behavior3/5

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

With no annotations, the description must fully disclose behavior. It mentions using diff to avoid duplicates and restoring from backup, but does not clarify whether the operation is destructive (e.g., overwriting existing records) or what permissions are needed.

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?

Two sentences with no wasted words. The purpose, method, and prerequisite are front-loaded, making it easy to scan.

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 simple tool with one parameter and no output schema, the description covers source, method, and prerequisite. It could mention expected results or error cases, but overall it is reasonably complete.

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 covers the single 'domain' parameter at 100% with a clear description. The tool description adds no additional meaning beyond the schema, so baseline 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 restores DNS records from a server-side backup, using diff to avoid duplicates. It distinguishes from siblings like snapshot_dns (which creates the backup) and set_dns (manual configuration), providing a specific verb and resource.

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?

The description explicitly recommends calling snapshot_dns first, giving a clear prerequisite. It does not state when not to use the tool or mention alternatives like set_dns, but the context is generally clear.

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

revoke_tokenRevoke API TokenAInspect

Revoke an API token immediately. The token will stop working. Use list_tokens to find token IDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
token_idYesID of the token to revoke (from list_tokens)
Behavior3/5

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

Discloses the immediate effect ('The token will stop working') but does not mention any other implications, such as permission requirements or reversibility, especially given no annotations.

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?

Two sentences, no wasted words; information is front-loaded and to the point.

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?

Sufficient for a simple destructive tool with one parameter; lacks details about response format but is otherwise complete.

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?

The description adds value beyond the schema by instructing users to use list_tokens to find token IDs, although the parameter itself is straightforward.

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 action ('revoke') and the resource ('API token'), distinguishing it from sibling tools like create_token and list_tokens.

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?

Explicitly tells users to use list_tokens to find token IDs, providing a clear prerequisite. Does not specify when not to use or alternatives.

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

rotate_email_webhook_secretRotate Email Webhook SecretAInspect

Regenerate the HMAC signing secret for a mailbox webhook. The old secret is immediately invalidated. API: POST /api/emails/{address}/webhook/rotate.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
Behavior3/5

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

Discloses immediate invalidation of old secret, a key behavioral trait, but lacks details on side effects (e.g., webhook delivery failures) or authentication requirements. With no annotations, description does not fully compensate.

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?

Two sentences, each serving a distinct purpose: core action and effect in first, API endpoint in second. No fluff, well structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema, the description omits what the response contains (likely the new secret). Adequate but not fully complete.

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 coverage is 100%, and the description merely restates parameter names without adding new meaning or examples, so baseline score applies.

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 action (regenerate HMAC signing secret) and the resource (mailbox webhook), distinguishing it from sibling tools like set_email_webhook or test_email_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., update_webhook), no prerequisites, and no mention of scenarios where rotation is appropriate.

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

sell_domainSell DomainAInspect

List a domain you own for sale on the Domani marketplace. Buyers can purchase it directly via the API. The domain must be active and not already listed. Requires domains:write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesSale price in USD (e.g. 5000)
domainYesDomain to list for sale, e.g. premium.com
descriptionNoOptional listing description
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the scope requirement and basic prerequisites, but does not explain what happens if the domain is invalid, already listed, or whether the listing is immediate or subject to review. Also no mention of return behavior (e.g., listing ID).

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 two sentences, direct and front-loaded. Every sentence adds value: the first states the core purpose and marketplace, the second provides prerequisites and scope. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that creates a listing on a marketplace, the description is adequate but not comprehensive. It does not explain the return value (e.g., whether a listing ID is returned), or whether the listing undergoes moderation. With no output schema, more detail would help the agent understand the outcome.

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 coverage is 100%, so the schema already documents all three parameters. The description adds the prerequisite that the domain must be active and not listed, which adds context beyond the schema. However, it does not elaborate on format or constraints beyond what the schema provides.

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 action ('List a domain you own for sale') and the resource ('on the Domani marketplace'), with specific context about direct API purchase. It distinguishes from siblings like 'browse_marketplace' (browsing) and 'unsell_domain' (removing listing).

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?

The description provides explicit conditions: domain must be active, not already listed, and requires 'domains:write' scope. This tells the agent when it's appropriate to use the tool. It could also mention when not to use (e.g., if domain is already listed), but the conditions are clear enough.

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

send_emailSend EmailAInspect

Send an email from one of your mailboxes. Specify domain and slug to identify the sender mailbox. Supports text and/or HTML body, CC/BCC, attachments (base64), and threading via In-Reply-To/References. Rate limited to 100 sends per hour per mailbox. API: POST /api/emails/{address}/send.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccNoCC recipient(s)
toYesRecipient email address(es)
bccNoBCC recipient(s)
htmlNoHTML body
slugYesSender mailbox slug, e.g. hello or k7x9m2
textNoPlain text body
domainYesSender mailbox domain, e.g. mysite.com or domani.run
subjectNoEmail subject line
reply_toNoReply-to email address
referencesNoSpace-separated Message-ID chain (for threading)
attachmentsNoFile attachments (max 10, max 40MB total)
in_reply_toNoMessage-ID of the email being replied to (for threading)
idempotency_keyNoUnique key to prevent duplicate sends. If a message with this key was already sent from this mailbox, the original result is returned.
Behavior4/5

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

In the absence of annotations, the description discloses key behaviors: supports text/HTML, CC/BCC, base64 attachments (max 10, 40MB total), threading via In-Reply-To/References, idempotency key for duplicate prevention, and rate limit of 100 sends/hour/mailbox. It does not mention return value or queuing behavior.

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 three sentences long, front-loading the purpose and listing capabilities efficiently. Every sentence adds value with no redundancy or wasted words.

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?

Given 13 parameters and no annotations/output schema, the description covers core features and constraints (rate limit, attachment limits, idempotency). It lacks response structure details but is sufficient for an email sending tool.

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%, but the description adds context beyond the schema by explaining that domain and slug identify the sender mailbox and that text/HTML, CC/BCC, attachments, and threading are supported. This enriches parameter understanding.

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 'Send an email from one of your mailboxes,' identifying the specific verb and resource. It lists capabilities like text/HTML, CC/BCC, attachments, and threading, distinguishing it from sibling tools such as reply_to_message or forward_message.

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?

The description implies usage for new email sending by specifying the sender mailbox via domain/slug. It does not explicitly state when not to use or list alternatives, but the context is clear with no exclusions.

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

set_auto_renewSet Auto-RenewAInspect

Enable or disable auto-renew for a domain you own. When enabled, the domain will be renewed automatically before expiry.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to configure
enabledYestrue to enable auto-renew, false to disable
Behavior3/5

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

With no annotations, description carries full burden. States that auto-renew happens before expiry, but does not disclose billing implications, reversibility, or confirmation requirements. Adequate for a simple toggle.

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?

Single sentence, no wasted words, front-loaded with purpose. Efficient and clear.

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 simple boolean toggle with 2 params and no output schema, description covers essential behavior. Could be slightly more complete with billing context, but adequate.

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 coverage is 100% with clear parameter descriptions. Description adds ownership context but does not enhance parameter semantics beyond 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?

Description clearly states verb (enable/disable), resource (auto-renew for a domain), and scope (domain you own). It distinguishes from siblings like renew_domain which is a one-time renewal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives (e.g., renew_domain). Does not mention prerequisites or exclusions.

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

set_contactSet ContactAInspect

Set your WHOIS contact information (recommended for ICANN compliance, required before transfers). You can purchase domains without setting contact info first - a default contact is used until you set your own.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityYesCity
emailYesContact email address
phoneYesPhone in +CC.NUMBER format, e.g. +1.5551234567
stateYesState or province
countryYesISO 3166-1 alpha-2 country code, e.g. US, GB, FR
address1YesStreet address line 1
address2NoStreet address line 2 (optional)
org_nameNoOrganization name (optional)
last_nameYesLast name
first_nameYesFirst name
postal_codeYesPostal/ZIP code
Behavior2/5

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

With no annotations provided, the description carries the full burden. It discloses basic purpose and the existence of a default, but does not explain behavior like overwriting existing contact, reversibility, or side effects. This is insufficient for a mutation tool.

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?

Two concise sentences that front-load the action and purpose, with no redundant or unnecessary information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and full parameter coverage in schema, the description provides context about compliance and transfers but does not explain return values or confirmation of success. Adequate but with gaps.

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%, so the baseline is 3. The tool description adds no additional parameter-specific meaning beyond what the schema already provides, so the score remains at baseline.

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 verb 'Set' and the resource 'WHOIS contact information', and provides context about ICANN compliance and transfers. It distinguishes from siblings like 'set_whois_privacy' by focusing on contact info rather than privacy.

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?

The description explains when to use it (for compliance and before transfers) and mentions that purchase is possible without it, implying a default alternative. It doesn't explicitly state when not to use, but the context is sufficient.

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

set_dnsSet DNS RecordsAInspect

Set DNS records for a domain you own. Common patterns: Vercel (A @ 76.76.21.21), GitHub Pages (CNAME @ user.github.io), Cloudflare Pages (CNAME @ project.pages.dev)

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to set DNS records for
recordsYesArray of DNS records to set
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. However, it only says 'Set DNS records' without explaining whether this replaces all existing records or merges, what permissions are required, or if the operation is destructive. This is a significant gap for a mutation tool.

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 concise with only three sentences. The first sentence states the purpose and the subsequent sentences provide practical examples. It is front-loaded and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of setting DNS records (potential overwrite behavior, lack of output schema), the description is incomplete. It does not specify return values, confirmation of changes, or side effects. The schema coverage is high but behavioral context 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%, with both parameters fully documented in the schema. The description adds no additional meaning beyond the examples; it does not clarify the format of 'domain' or the structure of 'records' beyond what the schema already conveys.

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 verb 'Set DNS records' and the resource 'for a domain you own'. The common patterns with specific providers and IP addresses further clarify the tool's purpose, distinguishing it from sibling tools like 'get_dns' or 'dns_check'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by stating 'for a domain you own', but does not explicitly state when to use this tool versus alternatives like 'get_dns' for reading or 'snapshot_dns' for backup. No when-not-to-use or comparative guidance is provided.

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

set_email_forwardSet Email ForwardAInspect

Set or remove email forwarding for a mailbox. When set, incoming emails are forwarded to this address in addition to being stored. Set to null to remove. API: PATCH /api/emails/{address}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
forward_toYesEmail address to forward to, or null to remove
Behavior3/5

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

With no annotations, the description provides basic behavior: forwarding in addition to storing, and removal by setting to null. It mentions the API endpoint but does not disclose side effects (e.g., overwriting existing forward), required permissions, or limits.

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 three sentences, each adding value: action, behavior, and API endpoint. No fluff, well-structured, and front-loaded.

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 simple 3-parameter tool with no output schema, the description covers the main behavior (forwarding, removal). However, it lacks context about prerequisites (e.g., mailbox existence) or return values. Still, it is mostly complete.

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?

All parameters have schema descriptions (100% coverage), so the description adds no additional meaning beyond the schema. The mention of setting 'null to remove' is already in the schema's forward_to description.

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 explicitly states the verb (set or remove) and the resource (email forwarding for a mailbox). It distinguishes the tool from siblings like 'forward_message' by specifying this is about setting a forwarding rule for the entire mailbox.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives like 'forward_message' or 'send_email'. It implies usage for setting forwarding rules but lacks guidance on context or exclusions.

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

set_email_webhookSet Email WebhookAInspect

Set or remove the inbound webhook URL for a mailbox. When set, incoming emails are POSTed to this URL in real-time with HMAC-SHA256 signing. Must be HTTPS. Set to null to remove. API: PUT /api/emails/{address}/webhook or DELETE /api/emails/{address}/webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
webhook_urlYesHTTPS webhook URL, or null to remove
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the real-time POST behavior, HMAC-SHA256 signing, HTTPS requirement, and removal method. However, it does not mention idempotency, success conditions, or return values.

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 two sentences plus an API endpoint reference, with the core purpose in the first sentence. It contains no extraneous information and is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the action and constraints well, but lacks information on return values or error cases. Since no output schema exists, the description should at least hint at what the tool returns upon success or failure.

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 coverage is 100% and already describes all parameters (slug, domain, webhook_url). The description adds 'Must be HTTPS' and 'Set to null to remove', which overlaps with schema. No additional parameter-specific context is provided beyond what the schema already offers.

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 that the tool sets or removes an inbound webhook URL for a mailbox, and explains the behavior (POST with HMAC-SHA256 signing and HTTPS requirement). This distinguishes it from sibling tools like create_webhook or update_webhook, which are for other webhooks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions setting a webhook URL and removing it by setting to null, but does not specify when to use this tool versus alternatives like create_webhook, update_webhook, or test_email_webhook. It also lacks prerequisites or exclusions.

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

set_listing_priceSet Listing PriceBInspect

Set a 'For Sale' price on a parked domain, or remove the listing. When a price is set and parking is enabled, visitors see a 'For Sale' page with the price and a contact form to reach the domain owner. Set price to null to remove the listing.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceYesSale price in USD (e.g. 499.99), or null to remove the listing
domainYesDomain to configure, e.g. example.com
Behavior3/5

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

With no annotations, the description carries the burden. It explains the main effect (page with price and contact form when parking is enabled) and removal via null. However, it omits prerequisites (e.g., domain must be parked), edge cases, and side effects, leaving gaps in behavioral understanding.

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 concise sentences: first states the action, second explains the effect, third clarifies removal. No fluff, well-structured, and front-loaded with the core behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 parameters and no output schema, the description covers basic function but lacks usage guidance and explicit preconditions. Given many sibling tools, additional context on when to use this tool vs alternatives would improve completeness.

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 coverage is 100% with descriptions for both parameters. The description adds context ('parked domain') but largely reinforces what the schema already says (null removes listing). Minimal added value beyond the schema, so baseline 3 is appropriate.

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?

The description states the verb 'Set' and resource 'a For Sale price on a parked domain', and explains the effect (visitors see a page with price and contact form) and how to remove listing (set price to null). It is clear but does not explicitly differentiate from siblings like 'sell_domain' or 'update_listing'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for setting or removing a price on a parked domain, but provides no explicit guidance on when to use this tool vs alternatives like 'sell_domain' or 'unsell_domain'. No exclusions or when-not-to-use are mentioned.

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

set_nameserversSet NameserversAInspect

Replace the nameservers for a domain you own. Requires 2–13 valid hostnames. Common values: OpenSRS DNS (ns1.systemdns.com, ns2.systemdns.com, ns3.systemdns.com), Cloudflare (assigned per account), custom NS.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to set nameservers for
nameserversYesArray of nameserver hostnames, e.g. ['ns1.systemdns.com', 'ns2.systemdns.com']
Behavior3/5

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

No annotations are provided, so the description carries the burden. It says 'Replace', indicating a mutation, and notes the constraint of 2–13 hostnames. However, it does not disclose authentication requirements, rate limits, or what happens to existing nameservers.

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?

Two sentences: first clearly defines the action, second adds constraints and examples. No unnecessary words; front-loaded with core purpose.

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?

The description covers ownership requirement, hostname constraints, and common values. It does not explain the return value (e.g., success/failure), but the tool is straightforward and the missing info is minor.

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 schema already documents parameters. The description adds value by stating the requirement of 2–13 valid hostnames and listing common nameserver examples, which aids selection.

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 states 'Replace the nameservers for a domain you own' which is a specific verb+resource combination. It clearly distinguishes from siblings like get_nameservers (read) and set_dns (different DNS records).

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?

The description implies use when changing nameservers and provides common value examples (OpenSRS, Cloudflare). It does not explicitly exclude scenarios or mention alternatives, but the context is clear.

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

set_parkingSet ParkingAInspect

Enable or disable the parking page for a domain you own. When enabled, visitors to the domain see a default parking page (or a 'For Sale' page if a listing price is set). Parking is enabled by default for newly purchased domains. IMPORTANT: If the domain has existing DNS records, the response will include requires_confirmation=true and show the records that will be overwritten. You MUST inform the user and get their approval before calling again with confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to configure, e.g. example.com
confirmNoSet to true to confirm overwriting existing DNS records. Only needed when the first call returns requires_confirmation=true.
enabledYestrue to enable the parking page, false to disable it
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that DNS records may be overwritten and explains the requires_confirmation response. This is sufficient for safe usage, though it omits details like rate limits or auth.

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 serving a purpose: purpose, default behavior, and important workflow note. Front-loaded and free of fluff.

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?

No output schema, but the description hints at the response (requires_confirmation). It explains what parking does and the confirmation mechanism. Missing explicit return value details, but adequate for most use cases.

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%, and the description adds workflow context (first call without confirm) and clarifies the effect of the 'enabled' parameter. This adds value beyond the schema alone.

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 explicitly states the verb (enable/disable) and resource (parking page), and explains the effect on visitors. It also notes the default state for new domains, making the purpose unmistakable.

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?

Guidance is given for the critical confirmation workflow: first call without confirm, then with confirmation after user approval. However, it does not mention when to avoid using the tool or alternatives (e.g., setting DNS manually).

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

set_security_lockSet Security LockAInspect

Lock or unlock a domain's transfer lock (clientTransferProhibited). When locked, transfer requests are rejected. Unlock before transferring to another registrar.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to configure
lockedYestrue to lock (prevent transfers), false to unlock
Behavior3/5

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

With no annotations, the description explains the main effect (locking rejects transfers, unlocking allows transfers) but lacks details on immediacy, side effects, or authentication requirements. Adequate 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action and resource, with no unnecessary words.

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?

Given the lack of output schema and the tool's simplicity, the description is sufficiently complete for an agent to understand its purpose and when to invoke it among many domain-related siblings.

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 coverage is 100% for both parameters, and the description adds context about the 'locked' parameter's purpose in relation to transfers, but does not provide additional meaning beyond 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 description clearly states the verb (lock/unlock), the resource (domain's transfer lock), and distinguishes from sibling tools like transfer_domain and set_contact by specifying the exact action on the transfer lock.

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?

The description provides context on when to lock (to prevent transfers) and when to unlock (before transferring), but does not explicitly name alternative tools or when not to use it, though it is implied.

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

setup_billingSetup BillingAInspect

Get a checkout URL for the user to add a payment card. Returns a URL - tell the user to open it in their browser. After they complete the form, call get_account to verify has_payment_method is true. Only needed for card payments - agents with crypto wallets can skip this and pay with USDC on Base via x402 protocol.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNo'checkout' (default) returns a URL for the user to open in browser. 'setup_intent' returns a client_secret for Stripe.js integration.
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that it returns a URL and requires user interaction, but does not mention if it creates backend resources, idempotency, permissions, or rate limits. Adequate but not comprehensive.

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, no filler. Front-loaded with core action. Every sentence adds value: purpose, user instruction, and usage alternative.

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?

Given one optional parameter, no output schema, and no annotations, the description explains the output, user action, and follow-up step. It also mentions crypto alternative. Missing details on error handling or state assumptions, but largely complete.

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?

Only one parameter with schema coverage 100% (enum documented). Description adds context about output and follow-up but does not elaborate on parameter behavior beyond what schema provides. Baseline 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 it gets a checkout URL for adding a payment card, with a specific verb and resource. It distinguishes from siblings by noting that agents with crypto wallets can skip this tool.

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 (for card payments) and when not to (agents with crypto wallets). Provides clear post-usage instructions: after user completes form, call get_account to verify has_payment_method.

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

setup_domain_emailSetup Domain EmailAInspect

Pre-configure email DNS on a domain (optional). This is called automatically by create_mailbox when needed. Use this only to pre-configure DNS before creating mailboxes. Pass force=true to override existing email provider (Google Workspace, Fastmail, Proton).

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoOverride existing MX records (e.g. Google Workspace). Default: false
domainYesDomain to enable email on, e.g. mysite.com
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses optional nature, automatic invocation, and that force=true overrides existing providers. Does not mention side effects or authorization, but covers key behaviors adequately.

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 contributing distinct value: purpose, automatic invocation guidance, and parameter behavior. No redundancy or fluff; efficiently front-loaded.

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 tool with two parameters and no output schema, description covers purpose, usage context, and key parameter behavior. It doesn't explain return values but that's acceptable without output schema. Adequate for decision-making.

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% with descriptions for both parameters. Description adds context for force parameter (overriding specific providers like Google Workspace, Fastmail, Proton), which goes beyond schema description.

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?

Clearly states it pre-configures email DNS on a domain, and distinguishes from automatic call by create_mailbox. Among sibling tools, it's specific about its function and optional nature.

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?

Explicitly says to use only for pre-configuring DNS before creating mailboxes, and mentions force parameter for overriding existing providers. Could be more explicit about when not to use, but the guidance to rely on create_mailbox for combined setup is clear.

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

set_whois_privacySet WHOIS PrivacyAInspect

Enable or disable WHOIS privacy for a domain you own. When enabled, your personal contact information is hidden from public WHOIS lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to configure
enabledYestrue to enable WHOIS privacy, false to disable
Behavior3/5

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

Given no annotations, the description adds behavioral context by explaining the effect of hiding personal contact information. It could mention potential side effects like propagation delays, but for a simple toggle, this is adequate.

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?

Two concise sentences, front-loaded with the primary action, no unnecessary words.

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 simple tool with no output schema and few parameters, the description adequately covers the core functionality and effect. Minor omission: no mention of ownership verification, but not critical.

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 coverage is 100% with well-described parameters. The description does not add meaningful information beyond what the schema provides.

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 verb (Enable or disable) and the resource (WHOIS privacy for a domain), and distinguishes itself from sibling tools like whois_lookup.

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?

The description implies usage for domains you own, providing clear context. However, it does not explicitly state when not to use it or mention alternatives.

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

snapshot_dnsSnapshot DNSAInspect

Capture all DNS records for a domain via public DNS lookups. Discovers subdomains from CT logs, SPF, and common names. Stores a server-side backup. Use before migrations or transfers.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to snapshot
extra_subdomainsNoAdditional subdomains to include
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently describes the method (public DNS lookups, CT logs, SPF, common names) and the action (stores a server-side backup). It does not mention potential side effects like rate limits or costs, but the overall behavior is well communicated. No contradiction with annotations (none exist).

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 highly concise, consisting of three short sentences with no wasted words. It front-loads the core action in the first sentence and provides additional details and usage guidance in the subsequent sentences. Every sentence is informative and earned its place.

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?

Given that there is no output schema, the description partially addresses completeness by mentioning 'stores a server-side backup' and pairing with restore_dns sibling. However, it does not describe what the tool returns (e.g., snapshot ID or confirmation), which is a gap for a tool that creates a backup. Most information needed for invocation is present, but output details could improve completeness.

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 description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining that the tool automatically discovers subdomains from CT logs, SPF, and common names, which gives context to the 'extra_subdomains' parameter (additional beyond automatic discovery). This semantic enrichment justifies a score above baseline.

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 explicitly states the tool captures DNS records via public lookups, discovers subdomains from multiple sources (CT logs, SPF, common names), and stores a server-side backup. The verb 'capture' and specific resource 'DNS records for a domain' clearly define the action and target, distinguishing it from siblings like dns_check (simple check) or get_dns (current settings).

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?

The description includes the explicit recommendation 'Use before migrations or transfers,' which clearly indicates when to use the tool. It does not explicitly specify when not to use it or name alternatives, but the context implies that for simple DNS retrieval, other tools like get_dns would be more appropriate. The guidance is helpful but not exhaustive.

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

suggest_domainsSuggest DomainsAInspect

AI-powered domain suggestions. Given a project description, generates full domain names with creative TLDs (e.g. codebuddy.dev, wavify.fm), checks availability, and returns only available domains with pricing.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNoLanguage/cultural inspiration: names will draw from this language's words, aesthetics, and culture
tldsNoPreferred TLDs without dots (e.g. ['com', 'dev']). Results will prioritize these.
countNoNumber of suggestions to return (default 10)
styleNoName style: 'single' (one word), 'creative' (evocative/metaphorical single word), 'short' (3-6 chars), 'brandable' (invented names), 'keyword' (descriptive)
promptYesProject description or keywords, e.g. 'AI coding assistant'
excludeNoDomains to exclude from suggestions (e.g. from previous calls)
Behavior4/5

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

Discloses key behaviors: AI-powered generation, availability check, and return of only available domains with pricing. No annotations exist, so description carries full burden; it is adequate for a read-only suggestion tool, though no explicit statement about side effects.

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?

Two concise sentences that front-load the core purpose and key behaviors. No fluff or redundant phrases.

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?

Covers the full workflow (generation, checking, pricing) and key parameters (prompt, style, TLDs). Lacks details on return format, but output schema is absent. Adequate for a suggestion tool with no complex outputs.

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?

Parameter descriptions in the schema are detailed (100% coverage). The description adds high-level context but no additional semantic detail beyond what the schema provides.

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?

Clearly describes a specific action: generating domain suggestions based on a project description, with details on TLDs, availability check, and pricing. Distinguishes from sibling tools like list_domains or search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for brainstorming domain names but lacks explicit when-to-use/avoid guidance or comparisons with alternatives. No mention of prerequisites or limitations.

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

test_email_webhookTest Email WebhookBInspect

Send a signed test payload to the mailbox webhook URL. Returns HTTP status and success/failure. API: POST /api/emails/{address}/webhook/test.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It mentions it sends a signed test payload and returns HTTP status and success/failure, but does not disclose side effects, authentication needs, or rate limits. The test is likely non-destructive, but that is not stated.

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?

Two sentences, no wasted words. Includes the API endpoint for reference. Efficiently conveys the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema or annotations exist, so the description needs to be more complete. It does not explain what the signed test payload contains, the exact HTTP request details beyond the URL, or what the response structure is. Given the sibling tools, more context would help the agent decide when to use this tool.

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 coverage is 100% with descriptions for both parameters ('Mailbox slug' and 'Mailbox domain'). The description adds no additional meaning beyond what the schema provides, so it meets the baseline.

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 verb 'Send a signed test payload' and the resource 'mailbox webhook URL', and provides the API endpoint. This distinguishes it from sibling tools like create_webhook or update_webhook.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for testing a webhook, but does not explicitly state when to use it, when not to, or provide alternatives. For example, it could mention that it should be used after setting up a webhook via set_email_webhook.

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

transfer_domainTransfer DomainAInspect

Initiate a domain transfer from another provider. PAID - the transfer includes 1 year of renewal. Check eligibility and price first with check_transfer_eligibility, then show the price to the user and get explicit confirmation before calling this. Requires the authorization/EPP code from the current provider. If the domain is not yet eligible (ICANN waiting period), no payment is charged and we'll automatically email the user when it becomes eligible.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to transfer, e.g. mysite.com
auth_codeYesAuthorization/EPP code from the current provider
payment_txNoTransaction hash of a USDC payment already sent on-chain.
payment_chainNoChain the USDC payment was sent on.
payment_methodNoPayment method: 'card' to charge card on file, 'usdc' to pay with USDC. Overrides the user's default preference for this request.
extra_subdomainsNoAdditional subdomains to include in the pre-transfer DNS snapshot. We auto-discover subdomains via CT logs, SPF, MX/DKIM inference, and a common wordlist - use this for any custom subdomains we might miss.
Behavior4/5

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

No annotations provided, but the description discloses that it is a paid operation with renewal included, and explains payment handling for ineligible domains. It does not mention the typical transfer duration or any potential delays, but covers key behavioral aspects.

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 a single paragraph that is well-structured and front-loaded with the main action. It could be slightly more concise but is not overly verbose.

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?

Given no output schema and no annotations, the description covers prerequisites, payment methods, and handling of ineligible domains. It lacks mention of the transfer timeline or process duration, but is adequate overall.

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 has 100% coverage, but the description adds meaning by explaining the payment context (PAID, renewal, eligibility check) and the purpose of auth_code and extra_subdomains beyond basic schema definitions.

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 it initiates a domain transfer from another provider, includes cost details, and distinguishes from sibling tools like check_transfer_eligibility by mentioning its prerequisite role.

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?

Provides explicit instructions: check eligibility first via check_transfer_eligibility, show price and get confirmation, require auth code, and explains behavior for ineligible domains (no charge, auto-email).

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

unsell_domainUnsell DomainAInspect

Remove an active for-sale listing for a domain you own. The domain stays in your account but is no longer purchasable on the marketplace. Requires domains:write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to unlist, e.g. premium.com
Behavior4/5

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

With no annotations provided, the description carries full behavioral burden. It explains that the domain stays in the account and is no longer purchasable, and mentions required scope. However, it does not disclose edge cases like idempotency or errors for already unlisted domains, which would push to 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?

Two sentences, no fluff. First sentence states the action and immediate effect, second adds scope requirement. Every word earns its place.

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 simple one-parameter tool with no output schema, the description covers the core behavior sufficiently. It lacks mention of whether the tool is idempotent or requires the domain to be currently listed, but overall complete given low complexity.

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 coverage is 100% with a clear description of the 'domain' parameter including an example. The description adds no additional semantic meaning beyond what the schema already provides, so baseline 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 verb 'remove' and the resource 'active for-sale listing', exactly distinguishing this from sibling tools like sell_domain (which adds a listing) and set_listing_price (which adjusts price).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'for a domain you own', implying prerequisites but does not explicitly state when to use this tool versus alternatives, nor provides when-not or alternative guidance. The context is clear but lacks explicit exclusions.

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

update_listingUpdate ListingBInspect

Update the price and/or description of an active marketplace listing. Requires domains:write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
priceNoNew price in USD
domainYesDomain with active listing, e.g. premium.com
descriptionNoNew description (null to clear)
Behavior3/5

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

With no annotations, the description partially discloses behavior by noting the requirement for write scope and that description can be set to null. However, it does not mention idempotency, error scenarios, or side effects.

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 two sentences, front-loading the purpose and then adding the scope requirement. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does not mention return values or behavior for edge cases (e.g., updating a non-existent or inactive listing). Given no output schema, this omission reduces completeness.

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 coverage is 100%, and the description does not add extra meaning beyond the schema. The baseline of 3 is appropriate as the schema already documents the parameters adequately.

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 states 'Update the price and/or description of an active marketplace listing,' which is a specific verb and resource, clearly distinguishing it from siblings like 'set_listing_price' and 'sell_domain'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only mentions the required scope ('domains:write'), but provides no guidance on when to use this tool versus alternatives (e.g., 'set_listing_price') or when it should not be used.

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

update_webhookUpdate WebhookAInspect

Update an existing webhook's URL, subscribed events, or active status. Use list_webhooks to get the webhook ID first.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoNew HTTPS URL for the webhook
activeNoSet to false to pause the webhook, true to resume
eventsNoNew list of event types to subscribe to
webhook_idYesID of the webhook to update
Behavior3/5

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

No annotations are provided, so the description must fully convey behavioral traits. It specifies which fields can be updated but does not mention side effects (e.g., immediate effect, confirmation of update) or error conditions. Adequate but could be more informative.

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 two sentences long, front-loaded with the purpose, followed by a helpful usage hint. Every sentence provides value with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should hint at return values or success confirmation, but it does not. The tool is simple with 4 parameters fully described in the schema, so the lack of return info is a minor gap. Adequate for its complexity.

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 coverage is 100%, and the schema already describes each parameter. The description mentions the updatable fields (URL, events, active status) but does not add new meaning beyond what is in the schema. Baseline 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 verb 'Update' and the resource 'webhook', and specifies the modifiable fields (URL, subscribed events, active status). It implicitly distinguishes from 'create_webhook' and 'delete_webhook' by focusing on updating an existing webhook.

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?

The description includes a clear usage hint: 'Use list_webhooks to get the webhook ID first.' This addresses a common prerequisite. However, it does not provide explicit when-not-to-use guidance or alternatives for other operations.

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

upgrade_planUpgrade to ProAInspect

Get a Stripe checkout URL to upgrade the user to the Pro plan ($9/month). Returns a URL — tell the user to open it in their browser to complete the upgrade. Pro includes 10,000 emails/month, unlimited mailboxes on custom domains, API/MCP/CLI access, webhooks, and forwarding. Use this when the user hits the free plan monthly send limit (MONTHLY_LIMIT_EXCEEDED error).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

With no annotations, the description carries full burden. It explains the tool returns a URL and that the user must open it in a browser to complete the upgrade. It does not detail potential errors or prerequisites, but the core behavior 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with no fluff. The key action is front-loaded, and additional details (features, usage trigger) follow efficiently.

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?

The description covers the return value and actionable steps, given no output schema. It lacks information on error handling or scenarios where the user is already on Pro, but the specific trigger (MONTHLY_LIMIT_EXCEEDED) provides sufficient context.

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?

No parameters in schema, so baseline is 4. The description adds no parameter info but provides context about the tool's output and usage, which 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 retrieves a Stripe checkout URL to upgrade to Pro plan, specifying the price and features. It distinguishes from siblings like cancel_plan or setup_billing.

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?

Explicitly instructs when to use: when the user hits the free plan monthly send limit (MONTHLY_LIMIT_EXCEEDED). Does not mention when not to use or alternatives, but context is clear for this specific upgrade.

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

verify_connectionVerify ConnectionAInspect

Verify that a provider connection is working by checking DNS propagation. Use after connect_domain to confirm records are live.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to verify
methodNoMethod name if applicable
targetNoTarget for auto-detection, e.g. my-app.vercel.app
providerNoProvider name, e.g. vercel
Behavior2/5

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

No annotations provided, so description carries full burden. It implies a read-only verification by checking DNS propagation, but does not explicitly state no side effects, authentication requirements, or potential rate limits. The word 'verify' suggests non-destructive action, but lacks explicit behavioral disclosure.

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?

Two sentences: first states purpose and method, second gives usage context. No wasted words, highly efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but the description does not explain what the tool returns (e.g., boolean success, detailed status). For a verification tool, the agent needs to know the outcome format. Also lacks information on failure cases or error handling, making it incomplete for effective invocation.

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 has 100% description coverage for all 4 parameters, each with clear descriptions (e.g., 'Domain to verify', 'Provider name, e.g. vercel'). The tool description does not add additional information beyond the schema, so baseline score 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?

Description clearly states the tool verifies provider connection by checking DNS propagation, with specific verb 'Verify' and resource 'provider connection'. It also hints at when to use it ('after connect_domain'), distinguishing it from sibling DNS tools.

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?

Explicitly instructs to use after connect_domain to confirm records are live, providing clear context. However, it does not mention when not to use it or alternative tools like dns_check.

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

verify_importVerify ImportAInspect

Verify DNS TXT record and complete domain import. Call after adding the TXT record from import_domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to verify, e.g. mysite.com
Behavior4/5

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

No annotations exist, but the description indicates this is a verification step (non-destructive) and implies it is a continuation of import_domain. It does not describe failure behavior, but the core behavior is clear.

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?

Two concise sentences, no redundant information, and the key instruction is front-loaded.

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?

Given the simple schema and sibling context, the description sufficiently explains the tool's role. It lacks explicit detail on verification outcomes, but the core completeness is adequate for the single-param tool.

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?

The schema covers 100% for the single parameter 'domain' with a clear description. The description adds context by linking it to the domain from import_domain, though not explicitly repeating the schema info.

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 verifies a DNS TXT record and completes a domain import, using specific verbs and resources. It distinguishes itself from the sibling 'import_domain' by indicating it is the subsequent step.

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 says to call after adding the TXT record from import_domain, providing clear when-to-use guidance and referencing the predecessor tool.

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

verify_serviceVerify ServiceAInspect

Add DNS records to verify domain ownership for a third-party service (Stripe, Google Search Console, AWS SES, Postmark, Resend, Facebook, HubSpot, Microsoft 365). Unknown services fall back to a generic TXT record.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesVerification token provided by the service
domainYesDomain name
serviceYesService name (e.g. stripe, google-search-console, aws-ses, postmark, resend, facebook, hubspot, microsoft-365)
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that unknown services receive a generic TXT record, which adds transparency. However, it does not specify what DNS record type is added for known services (likely TXT), whether existing records are overwritten, or if any permissions are required.

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?

Two sentences with no wasted words. The first sentence front-loads the purpose and lists supported services. The second sentence adds a key behavioral detail. Could be slightly more concise, but overall efficient.

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?

Given no output schema and three required parameters, the description explains what the tool does and covers edge cases (unknown services). It doesn't detail the exact DNS records created, but the purpose is well-understood for an AI agent.

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 coverage is 100%, and the parameter descriptions are already clear (e.g., 'Verification token provided by the service'). The description adds context about the fallback behavior but does not significantly enhance understanding of individual parameters beyond what the schema provides.

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 action: 'Add DNS records to verify domain ownership'. It lists specific supported services (Stripe, Google Search Console, etc.) and distinguishes from sibling tools like dns_check or set_dns by focusing on domain ownership verification.

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?

The description implies when to use the tool: when verifying domain ownership for listed third-party services. It does not explicitly state when not to use or mention alternatives, but the list of services provides clear context.

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

watch_transferWatch TransferAInspect

Watch a domain and get notified (email + webhook) when it becomes eligible for transfer. Uses RDAP to check ICANN lock periods and EPP status codes. If the domain is already eligible, returns immediately without creating a watch. If not eligible but has a known date, creates a watch and notifies you when it's ready.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to watch, e.g. example.com
Behavior5/5

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

No annotations provided, so description carries full burden. It discloses use of RDAP, checking ICANN lock periods and EPP status codes, and the conditional behavior (immediate return vs. creating a watch). Fully transparent about the process and outcomes.

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, front-loaded with main purpose, each sentence adds new information (purpose, method, conditional outcomes). No fluff or redundancy.

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 a simple tool with one parameter and no output schema, the description fully explains input, process, and two possible results. No missing essential context.

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?

Only one parameter 'domain' with schema description 'Domain to watch, e.g. example.com'. Schema coverage is 100%, so baseline is 3. The description adds an example but no additional semantic value beyond what the schema provides.

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 verb ('Watch'), resource ('domain'), and outcome ('get notified when it becomes eligible for transfer'). It distinguishes from sibling tools like check_transfer_eligibility by focusing on watching and notification rather than one-time eligibility check.

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?

Describes when to use: to get notified on transfer eligibility. Explains behavior for already-eligible domains (immediate return) and for those with a known date (creates watch). Does not explicitly mention when not to use or contrast with sibling tools, but the context is clear.

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

whois_lookupWHOIS LookupAInspect

Look up domain registration data via RDAP (modern WHOIS). Returns registrar, dates, status, nameservers, DNSSEC, and contact information (registrant, admin, tech, billing - often redacted for privacy). Works for any domain - no ownership required.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to look up, e.g. example.com
Behavior4/5

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

Since no annotations are provided, the description bears the full burden. It discloses that this is a read-only operation returning specific fields (registrar, dates, nameservers, etc.) and notes that contact information is often redacted for privacy. This is sufficient for a simple lookup tool, though it does not address rate limits or response format.

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 extremely concise with two sentences. The first sentence states the core action, and the second adds valuable detail about return data and privacy. No extraneous information is present.

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?

Given the tool's simplicity (single param, no output schema), the description covers all critical aspects: purpose, data returned, and privacy caveats. It could mention that it uses RDAP or differentiate from legacy WHOIS, but the provided information is sufficient for an AI agent to invoke the tool correctly.

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 single parameter 'domain' is fully described in the schema with an example. The tool description does not add additional semantic meaning beyond what the schema already provides. Given 100% schema coverage, the baseline score of 3 is appropriate.

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?

The description clearly states the tool's purpose: looking up domain registration data via RDAP. It specifies the data returned (registrar, dates, etc.) and implies it's a public lookup (no ownership required). However, it does not explicitly differentiate from sibling tools like get_domain_info or domain_status, though the context suggests a generic WHOIS query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no explicit guidance on when to use this tool versus alternatives. It notes that it works for any domain without ownership, which implies a public lookup use case, but it does not state when not to use it or mention other tools like get_domain_info for owned domains.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources