Skip to main content
Glama

Server Details

Internet identity for AI agents: register or broker domains, email, DNS - pay by card or USDC.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
gwendall/domani
GitHub Stars
1

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

121 tools
acquire_domainAcquire Domain (Broker)AInspect

Ask domani to acquire a specific taken, unlisted domain on your behalf. Agents source the owner via RDAP, reach out anonymously, and negotiate - commission-only, no upfront fee. Owner interest opens an anonymous negotiation you can accept/counter. Note: many owners are unreachable (GDPR-redacted WHOIS). Requires deals:write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe taken domain you want, e.g. dream.com
max_budgetNoYour ceiling in USD (optional)
Behavior4/5

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

Describes the full process (RDAP sourcing, anonymous outreach, negotiation) and risk of unreachable owners. Discloses commission-only, no upfront fee. With no annotations, this provides adequate behavioral expectations.

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 clear sentences with key details, plus a note and scope requirement. No unnecessary words. Well structured, front-loaded with the action.

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 acquisition process, risk, and required scope. Missing details on return value or success indicators, but no output schema exists. Adequate for a domain acquisition tool in a larger ecosystem.

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 descriptions for both 'domain' and 'max_budget'. Description adds context about the acquisition process but does not deepen parameter understanding beyond 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?

Clearly states the tool acquires taken, unlisted domains via anonymous negotiation. Distinguishes from siblings like buy_domain (listed domains) and make_offer (listed domains). Includes specific process details.

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 indicates when to use (taken, unlisted domains) and includes a critical caveat about unreachable owners. Mentions required scope ('deals:write'). Could more directly contrast with alternatives but context from siblings clarifies.

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

add_dnssecAdd DNSSEC DS RecordBInspect

Publish a DNSSEC delegation-signer (DS) record at the registry to enable DNSSEC. Get the DS values from your zone provider after signing the zone.

ParametersJSON Schema
NameRequiredDescriptionDefault
flagsNoOptional DNSKEY flags, e.g. 257 (KSK)
digestYesHex digest of the DNSKEY
domainYesDomain name to enable DNSSEC for
keyTagYesKey tag, e.g. 12345
algorithmYesDNSSEC algorithm number, e.g. 13 (ECDSAP256SHA256)
digestTypeYesDigest type number, e.g. 2 (SHA-256)
maxSigLifeNoOptional max signature life in seconds
Behavior2/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 states the tool publishes a record at the registry to enable DNSSEC, but does not disclose potential destructive behavior (e.g., overwriting existing DS records), required permissions, or side effects. For a mutation tool with no annotations, 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 concise sentences. The first sentence states the core action and purpose, the second provides practical guidance. No superfluous content.

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 7 parameters (5 required), no output schema, and no annotations, the description is too brief. It does not explain return values, error conditions, or post-actions (e.g., verifying with get_dnssec). The agent lacks information needed for correct 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 description coverage is 100%, with each parameter already well-described. The description adds context about sourcing DS values from the zone provider, but this does not significantly enhance parameter understanding 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 specifies the verb 'publish', the resource 'DNSSEC delegation-signer (DS) record', and the outcome 'enable DNSSEC'. It also mentions obtaining DS values from the zone provider, distinguishing it from related tools like delete_dnssec and get_dnssec.

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 prerequisite ('Get the DS values from your zone provider after signing the zone') but lacks explicit guidance on when not to use the tool or comparisons with alternatives. The context signals a need for deeper usage context given the many sibling tools.

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

add_mailbox_aliasAdd Mailbox AliasAInspect

Add an alias address that delivers into an existing mailbox, without using a mailbox slot. Useful for multiple public addresses (sales@, hello@, contact@) landing in one inbox. The alias must be on the same domain as the mailbox. API: POST /api/emails/{address}/aliases.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug the alias delivers to, e.g. inbox
aliasYesAlias address - a bare slug ('sales') or a full address on the same domain ('sales@mysite.com')
domainYesMailbox domain, e.g. mysite.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 full burden. It mentions the domain constraint and the API endpoint, which adds some behavioral context. However, it does not disclose what happens on duplicate alias attempts, whether the operation is idempotent, or what the response looks like upon success.

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 succinct, consisting of two sentences and an API endpoint reference. Every sentence adds value: the first states the action and benefit, the second provides usage guidance and a constraint. No superfluous wording.

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 create tool with all required parameters documented, the description provides necessary context for invocation. However, it lacks information about post-conditions (e.g., success response or error handling) and does not mention any prerequisites like mailbox existence, which would be helpful given no output 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?

The schema covers 100% of parameters with descriptions. The description adds limited semantic value beyond the schema, primarily reinforcing the same-domain constraint for the alias parameter. The baseline of 3 is appropriate as the schema already provides adequate meaning.

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 adds an alias that delivers into an existing mailbox without using a mailbox slot, and provides a concrete use case (multiple public addresses landing in one inbox). This distinguishes it from creating a new mailbox and from other sibling tools like remove_mailbox_alias.

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 gives a specific use case and notes that the alias must be on the same domain as the mailbox, providing contextual guidance. However, it does not explicitly state when not to use this tool or compare it to alternatives such as creating another mailbox.

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

add_mail_ruleAdd Mail RuleAInspect

Add an inbound filtering rule to a mailbox. If a message matches (by from/to/subject/body), the action runs: drop, mark_read, forward (to action_arg), webhook_only (skip forward-to), or label (with action_arg). Rules run in priority order (lower first); first match wins. API: POST /api/emails/{address}/rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
actionYesWhat to do on match
domainYesMailbox domain
enabledNoDefault true
match_opYesHow to match
priorityNoLower runs first (default 0)
action_argNoFor 'forward': the destination email. For 'label': the label value.
match_fieldYesWhich field to match on
match_valueYesThe value/pattern to match
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 explains rule matching, actions, priority, and first-match-wins behavior, but lacks details on limits, side effects, or confirmation of non-destructive nature.

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 very concise—three sentences—with key information front-loaded and no redundant content.

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 9 parameters and no output schema, the description covers rule behavior, actions, matching, and priority well. Minor gaps: no mention of maximum rules or error conditions.

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 meaning beyond the schema, especially for action and action_arg (explaining 'forward' destination and 'label' value) and priority order, earning 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 specifies a clear verb ('Add') and resource ('inbound filtering rule to a mailbox'), and details match fields and actions, distinguishing it from sibling tools like list_mail_rules and remove_mail_rule.

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 does not provide guidance on when to use this tool versus alternatives, nor does it mention exclusions or prerequisites.

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

add_suppressionAdd SuppressionAInspect

Manually add an address to your suppression list so future sends skip it. Hard bounces and complaints are added automatically - use this for addresses you want to stop emailing. API: POST /api/suppressions.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoReason (default: manual)
addressYesEmail address to suppress
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 does not disclose behavioral traits such as idempotency, what happens if the address already exists, or authorization requirements. The API endpoint is mentioned but adds limited transparency.

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, front-loading the main action. Every sentence provides essential information without waste.

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 two parameters and no output schema, the description covers the purpose, use case, and API endpoint. It could benefit from a brief note about the response or potential errors, but it is 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?

The input schema has 100% coverage, so the baseline is 3. The description adds minimal value beyond the schema, merely restating that 'address' is the email to suppress and that 'reason' defaults to manual. It does not explain the enum values beyond what is in the schema.

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 'add' and resource 'address to your suppression list', and distinguishes between manual additions and automatic ones. However, it does not explicitly differentiate from sibling tools like list_suppressions or remove_suppression.

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 this tool (for addresses you want to stop emailing) and notes that hard bounces and complaints are added automatically, providing context. It does not mention when not to use it or alternatives like remove_suppression.

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

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_aftermarketBuy Aftermarket DomainAInspect

Buy a taken domain that's listed for sale on an aftermarket (Afternic/Sedo) at its buy-now price, natively - no external site. Use when search shows a domain with for_sale.buyable = true. Always confirm the price with the user first. Pass max_price to cap it. If the listing is make-offer only (not buyable), use acquire_domain (broker) to negotiate instead. Crypto/USDC works like buy_domain (402 -> pay -> retry with payment_tx).

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe taken, for-sale domain to buy, e.g. kami.world
max_priceNoHard ceiling in USD. Defaults to the listing's buy-now price. The purchase is rejected if the live price is above this.
payment_txNoTx hash of a USDC payment already sent on-chain (step 2 of the USDC flow).
payment_chainNoChain the USDC payment was sent on. Required with payment_tx.
payment_methodNo'card' to charge the card on file, 'usdc' to pay with crypto.
Behavior3/5

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

No annotations provided, so description carries full burden. It describes the purchase action and the USDC flow steps (402 -> pay -> retry with payment_tx), but does not detail what happens after purchase (e.g., domain transfer to account, confirmation of ownership). Also no mention of 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?

Four sentences, front-loaded with main purpose, then conditions, then alternative. Every sentence adds value. No fluff. Well-structured for quick parsing.

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, so description must explain return values. It does not mention what the tool returns (e.g., success status, transaction details, domain object). Also missing error handling or post-purchase state. For a transactional tool with 5 parameters, this is a significant gap.

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% coverage with good descriptions. The description adds context for the USDC flow ('USDC works like buy_domain (402 -> pay -> retry with payment_tx)') which clarifies payment_tx usage, but mostly reiterates schema info. Baseline 3 is appropriate as schema does the heavy lifting.

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: 'Buy a taken domain that's listed for sale on an aftermarket... at its buy-now price'. It uses specific verb 'buy' and resource 'aftermarket domain', and distinguishes from siblings like buy_domain and acquire_domain by referencing buyable vs make-offer and the native process.

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 when-to-use: 'Use when search shows a domain with for_sale.buyable = true'. Also gives user confirmation requirement, max_price cap usage, and alternative tool for make-offer listings: 'use acquire_domain (broker) to negotiate instead'. This is thorough and clear.

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.
max_priceNoCeiling in USD for the total charge. If the real price is above it, the purchase fails with PRICE_ABOVE_MAX and nothing is charged. Set it from the price the user approved.
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?

With no annotations, description fully discloses behavior: accepts single or array, bulk card-only, USDC flow with 402 response, price ceiling mechanism, and user confirmation requirement. Covers error handling and retry logic.

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 slightly long but every sentence adds necessary operational detail. Front-loaded with purpose and confirmation instruction. Could be slightly more concise, but 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 7 parameters, no output schema, and no annotations, the description provides complete workflow guidance including error handling, user interaction, and step-by-step payment instructions. Covers all essential aspects.

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?

Adds significant value beyond 100% schema coverage by explaining the USDC flow (payment_tx, payment_chain), max_price ceiling, and payment_method override context. Clarifies bulk constraint and user confirmation 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?

Description clearly states 'Purchase one or more domains' with specific verb and resource. Distinguishes from sibling tools like acquire_domain or buy_aftermarket by focusing on new domain purchases and bulk constraints.

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 'Always confirm with the user before calling' and details the USDC two-step flow. Provides context on when to use card vs. USDC, but doesn't explicitly name alternative tools for similar actions.

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_broker_requestCancel Broker RequestBInspect

Cancel an active domain acquisition request. Requires deals:write scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
request_idYesThe broker request ID
Behavior2/5

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

No annotations are provided, and the description only specifies the required scope. It does not disclose side effects, reversibility, or what happens if the request is not active.

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 convey the action and a key prerequisite. No wasted 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?

Given the lack of output schema, the description omits what the tool returns (e.g., success/failure). It adequately covers the single parameter but lacks completeness for the return value.

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 already fully describes the parameter (100% coverage). The tool description adds no additional meaning beyond stating the scope requirement.

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 action (cancel) and the resource (active domain acquisition request). It does not explicitly distinguish from siblings like 'cancel_backorder', but the name and context make the purpose clear.

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 a prerequisite (deals:write scope) but provides no guidance on when to use this tool versus alternatives such as 'cancel_backorder' or when not to use it.

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_email_deliverabilityCheck Email DeliverabilityAInspect

Run the same deliverability and abuse-safety checks used by send_email, without sending or consuming quota. Use this before authentication, payment, onboarding, or high-volume messages. API: POST /api/emails/{address}/deliverability-check.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNoHTML body
slugYesSender mailbox slug, e.g. hello
textNoPlain-text body
domainYesSender mailbox domain, e.g. mysite.com or domani.run
subjectNoEmail subject line
attachmentsNoAttachment metadata only; content is not required for preflight
idempotency_keyNoStable idempotency key for this logical message
allow_risky_contentNoDeprecated compatibility field. Public HTTPS third-party auth links are allowed with a warning; objective safety blocks cannot be overridden
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 the 'no sending' and 'no quota' behavior, but does not elaborate on specific checks performed or other behavioral traits like idempotency.

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: purpose, usage guidance, API endpoint. No extraneous information, 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?

Tool has 8 parameters, no output schema. Description covers purpose and usage but does not describe the return type or structure. Agent would benefit from knowing what the tool returns.

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. Description does not add any parameter-level details beyond what 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?

Clearly states it runs deliverability and abuse-safety checks identical to send_email without sending or consuming quota. Distinguishes from send_email sibling by specifying no sending/quota usage.

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 advises use before authentication, payment, onboarding, or high-volume messages. This provides clear context for when 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.

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.

claim_identityClaim a free identityAInspect

Give your agent a free identity at .domani.run - a live profile page, no domain purchase, instantly. The frictionless way to start; upgrade to your own real domain later. Optional name/bio/emoji/email/links.

ParametersJSON Schema
NameRequiredDescriptionDefault
bioNoShort description (<= 280 chars)
nameNoDisplay name
slugYesThe handle - becomes <slug>.domani.run (lowercase letters, numbers, hyphens)
emailNoPublic contact email (e.g. your free @domani.run inbox)
emojiNoAvatar emoji
linksNoUp to 6 links
Behavior3/5

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

No annotations, so description carries burden. Discloses creation of a free identity with profile page, but omits details on permissions, rate limits, or whether it's reversible.

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 waste. First sentence delivers core purpose immediately; second adds optional fields and upgrade path 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?

Simple creation tool with well-documented parameters. Absence of output schema is acceptable; return values are implied. Sufficient for agent to use 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?

Schema coverage is 100%, baseline 3. Description merely lists optional fields (name/bio/emoji/email/links), adding no new semantic value 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?

Clear verb 'claim' and resource 'free identity' with specific URL pattern. Distinguishes from sibling tools like 'acquire_domain' and 'buy_domain' by emphasizing free, instant 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?

States when to use ('frictionless way to start') and upgrade path, but lacks explicit exclusions. Sibling differentiation implies alternative tools for domain purchases.

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

clear_catch_allClear Catch-AllAInspect

Remove the catch-all on a domain. Email to unmatched addresses will be dropped again. API: DELETE /api/domains/{domain}/email/catch-all.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to clear the catch-all on
Behavior3/5

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

The description notes that emails to unmatched addresses will be dropped again, providing some behavioral context. However, with no annotations, it lacks details on whether the action is reversible, what permissions are needed, or if it's destructive. The API hint is helpful but insufficient for full transparency.

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 two sentences and an API hint, front-loading the core action. Every sentence contributes 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?

Given the single parameter and lack of output schema, the description covers the main effect (emails dropped) and provides the API endpoint. It could be more complete by mentioning error cases or prerequisites, but it is adequate for a 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 coverage is 100% with the parameter 'domain' described as 'Domain to clear the catch-all on'. The description does not add extra meaning beyond the schema, meeting the baseline for high coverage without additional 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 action ('Remove the catch-all on a domain') and the resource (catch-all on a domain), distinguishing it from sibling tools like set_catch_all. The verb 'remove' is specific and the context of email routing is clear.

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 the user wants to stop emails for unmatched addresses, but it does not explicitly state when to use this tool versus alternatives like set_catch_all. No exclusion criteria or prerequisites are mentioned, leaving the agent to infer the appropriate context.

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

clone_dnsClone DNSAInspect

Copy the DNS setup of one domain you own onto another (e.g. brand.com → brand.dev with the same A/CNAME/MX). Merges by default (source wins on collisions, keeps the target's other records); set replace=true for an exact mirror.

ParametersJSON Schema
NameRequiredDescriptionDefault
replaceNoExact mirror - drop target records the source doesn't have. Default: merge
to_domainYesTarget domain to write the DNS onto (must be yours)
from_domainYesSource domain to copy DNS from (must be yours)
Behavior4/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It explains merge behavior (source wins collisions, keeps target's other records) and replace mode (exact mirror). It does not mention idempotency or rate limits, but for this tool the disclosed behavior is sufficient.

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 redundant information. First sentence states core purpose and provides an example. Second sentence explains both modes concisely. 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?

The description covers the tool's purpose, usage context, and parameter semantics. It does not describe the response format or error handling, but given the simplicity (3 parameters, no output schema), the provided information is largely sufficient for an agent to use the tool 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 each parameter already described. The description adds value by clarifying that domains 'must be yours' and explaining the replace parameter in context ('exact mirror - drop target records the source doesn't have').

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 'Copy the DNS setup of one domain you own onto another' with a helpful example (brand.com → brand.dev). It differentiates from sibling tools like set_dns and snapshot_dns by specifying the cloning action and two modes (merge vs exact mirror).

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 indicates when to use (clone DNS between domains) and describes the two available modes (merge and replace). It provides clear context but could be improved by explicitly stating when not to use (e.g., for single record changes).

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). If the connect would REPLACE existing MX records pointing at another provider, it fails with MX_REPLACEMENT_REQUIRES_CONFIRMATION - preview with dry_run, confirm with the user, then retry with confirm_replace_mx. 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
dry_runNoPreview only - returns the diff (create/replace/keep) without writing
providerNoExplicit provider name, e.g. vercel, google-workspace
confirm_replace_mxNoConfirm replacing existing MX records that point at another provider (moves the domain's email)
Behavior4/5

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

No annotations provided, so the description carries the full burden. It discloses auto-detection, automatic DNS setup for platform domains, manual setup for imported domains, and MX replacement error handling. It also mentions response includes next_steps. A 5 would require additional details on permissions or idempotency.

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 but is well-structured: starts with purpose, then details on auto-detection, scenarios, error handling, and response. It is front-loaded and efficient, though slightly dense.

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 6 parameters, 1 required, and no output schema, the description explains two key use cases, error scenario, and parameter roles. It mentions response content (next_steps) but could elaborate on return format. Overall, it provides sufficient context for an agent to select and invoke the tool 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%, so all 6 parameters are described in the schema. The description adds context: it explains the role of dry_run and confirm_replace_mx in the MX replacement scenario and lists supported providers, going beyond the schema descriptions.

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

Purpose5/5

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

The description clearly states the verb+resource: 'Connect a domain to a hosting or email provider.' It distinguishes between auto-detection and explicit provider, and differentiates from siblings like set_dns or import_domain by focusing on the connection process and provider-specific behavior.

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 when-to-use guidance: for connecting domains to hosting/email providers. It explains two distinct scenarios (bought through platform vs imported) and how to handle MX replacement with dry_run and confirm_replace_mx, giving clear context and exclusions.

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 when it becomes available (drops) - availability is polled every few minutes. 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).
Behavior4/5

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

With no annotations, the description discloses important behaviors: polling frequency (every few minutes), payment only on success (no upfront fee), best-effort nature, and requirement for payment method. It does not address limits or timeout behavior, but overall this is sufficient.

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, monitoring detail, payment terms, and a caution. No wasted words, and the most critical information (placing a backorder) 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 complexity (3 parameters, no output schema), the description covers the overall process, risks, and requirements. It explains how the tool works and what to expect. Could add a note about monitoring via list_backorders, but not essential.

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 descriptions for all three parameters (domain, max_price, payment_method). The description adds contextual meaning but does not significantly surpass the schema's explanation. According to the rubric, 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: placing a backorder on a domain registered to someone else. It uses specific verbs ('Place a backorder', 'watch', 'automatically register') and distinguishes itself from sibling tools like buy_domain (for available domains) and 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 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 use (domain taken), prerequisites (card on file or payment method 'balance'), and a caveat about best-effort and specialized drop-catchers. It lacks explicit 'when not to use' guidance but adequately covers key usage conditions.

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

create_hosted_mailboxCreate Hosted MailboxAInspect

Create a real IMAP/SMTP mailbox on a domain you own (connect Apple Mail, Thunderbird, or any mail client), instead of an API mailbox. Pass workspace_id to create it in a workspace you own and atomically adopt the domain boundary. Provisions the mailbox on our mail server, publishes DNS when we manage it, and returns the DNS records, mail client settings, and a one-time app password. API: POST /api/emails with kind=hosted.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name for the mailbox
slugYesLocal part, e.g. 'me' for me@mysite.com
domainYesA domain you own, e.g. mysite.com
workspace_idNoWorkspace ID from list_workspaces; owner-only
Behavior3/5

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

Discloses the provisioning process, DNS publishing, and return data (DNS records, client settings, app password). With no annotations, the description carries the full burden. Lacks details on error handling, idempotency, or side effects like overwriting existing mailboxes.

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 well-structured sentences: first explains what it does and when to use it, second details outcomes, third gives prerequisites and API. No wasted words, front-loaded 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 no output schema and moderate complexity, the description provides sufficient context: what is created, what is returned, and a prerequisite. Could be enhanced with behavior on duplicate slugs or domain not found, but overall 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%, so baseline is 3. The description adds context by explaining that slug is the local part and that the tool returns settings, but doesn't add new parameter semantics 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 states the tool creates a real IMAP/SMTP mailbox on a domain you own, differentiating it from an 'API mailbox' (likely sibling create_mailbox). Specifies the resource and verb, and gives usage context (connect any mail client).

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 contrasts with 'API mailbox', guiding when to use this tool. Mentions prerequisite ('Requires a domain in your account'). Could be more explicit about alternatives, but the 'instead of' comparison effectively distinguishes it from create_mailbox.

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. Pass workspace_id to create it inside a workspace you own; custom-domain creation atomically adopts the domain and all unscoped sibling mailboxes so a domain is never split. 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
workspace_idNoWorkspace ID from list_workspaces; owner-only
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_mailbox_credentialCreate App PasswordAInspect

Create an app password for a hosted mailbox, used as the password in a mail client. The secret is returned once - store it. API: POST /api/emails/{address}/credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesHosted mailbox slug
labelNoLabel to identify this app password, e.g. 'Laptop Mail'
domainYesHosted mailbox domain
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 the secret is returned only once, which is essential behavioral info. It also mentions the API endpoint but does not cover permissions or exact response structure. However, the key behavioral trait is communicated effectively.

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 and an API line. It front-loads the purpose, includes a critical warning, and references the API. No unnecessary 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 no output schema, the description explains that the secret is returned once, which is the most important output. It does not describe the full response structure, but for a credential creation tool, this is sufficient. It is fairly complete for the tool's 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?

The input schema has 100% description coverage, so the baseline is 3. The description adds a helpful example for the label parameter ('e.g. 'Laptop Mail''), but overall does not provide significant 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 creates an app password for a hosted mailbox, differentiating it from sibling tools like list_mailbox_credentials and revoke_mailbox_credential. It provides a specific verb and resource, and mentions the API endpoint.

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 gives context on when to use this tool (to get a password for a mail client) and provides a critical usage tip that the secret is returned once and must be stored. It does not explicitly exclude alternatives, but the purpose is clear enough to guide selection among siblings.

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 and spend caps. The full key is returned only once - save it immediately. A token can only grant scopes it already has (scope attenuation) and spend caps at or below its own. Scopes: domains:read (GET /api/domains, GET /api/domains/{domain}, GET /api/domains/{domain}/dns, /dnssec, /status, /email/check, /auth-code, /transfer-away, /transfer-status, /analytics), domains:write (PUT /api/domains/{domain}/dns, POST/DELETE /api/domains/{domain}/dnssec, 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/emails/{address}/aliases, /api/email/changes, /api/domains/{domain}/email/status, /api/domains/{domain}/email/deliverability, /api/suppressions), email:write (POST /api/emails, POST /api/emails/{address}/send, POST /api/domains/{domain}/email/setup, aliases + catch-all, POST/DELETE /api/suppressions), email:delete (Permanently delete messages already in Trash. Moving messages to Trash only requires email:write. Grant this scope only to agents allowed to irreversibly erase email content), email:auth_secrets (Read messages classified as authentication mail (OTP / verification codes, password resets, magic links). Without it, email:read still lists them but subject and body come back redacted - so a stolen agent token can't harvest 2FA codes. Grant it only to agents that genuinely need to complete logins), account:read (GET /api/me, GET /api/agents/identity), account:write (DELETE /api/me, POST /api/billing/setup, POST /api/billing/subscribe, POST /api/billing/cancel, POST /api/me/resend-verification, POST/PATCH/DELETE /api/agents/identity), 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). When minting a token for a sub-agent that can buy, ALWAYS set max_per_tx/max_per_month.

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
max_per_txNoPer-transaction spend cap in USD - any single charge above it is rejected server-side (SPEND_CAP_EXCEEDED)
max_per_monthNoRolling calendar-month spend cap in USD for all paid operations with this token
agent_identity_idNoOptional owned AgentIdentity id. Mail actions made with this token are attributed to that agent
Behavior5/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 key behavioral traits: one-time key return, scope attenuation (token cannot grant scopes it doesn't have), spend cap enforcement with error code, and detailed scope definitions. This is highly transparent and exceeds expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

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

The description is quite long (over 30 lines) due to the exhaustive scope list. While the detail is justified for clarity, it could be more concise by separating scope definitions into a table or reference. The key points are front-loaded, but overall verbosity reduces conciseness.

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 exists, so the description must cover return behavior. It mentions 'full key is returned only once', which is critical. Combined with thorough scope and parameter descriptions, the tool is well-covered for its complexity. Minor gap: does not explicitly state the response format or error structure, but acceptable given the focus on token creation.

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 significant meaning: explains each scope line-by-line, clarifies that scopes default to parent's, defines spend cap behavior with error code (SPEND_CAP_EXCEEDED), and gives examples for sub-agent tokens. This adds value 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 starts with 'Create a new API token' which is a specific verb+resource. It adds 'with optional scoped permissions and spend caps' to clarify purpose. This clearly distinguishes from sibling tools like revoke_token (delete) and list_tokens (read).

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 critical usage guidance: 'The full key is returned only once - save it immediately', explains scope attenuation, and warns about setting spend caps for sub-agents that can buy. It does not explicitly list when not to use or alternatives, but the context is strong enough for an agent to decide when to invoke.

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_dnssecDelete DNSSEC DS RecordBInspect

Remove a DNSSEC delegation-signer (DS) record at the registry by its key tag. Removing all DS records disables DNSSEC.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name
keyTagYesKey tag of the DS record to remove
Behavior2/5

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

No annotations are provided, and the description only mentions that removing all DS records disables DNSSEC. It does not disclose other traits like destructive nature, reversibility, or authorization requirements.

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 key action, 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?

For a simple destructive tool, the description provides the basic function and a consequence. However, it lacks details on reversibility or required permissions, leaving it moderately 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%, with each parameter described. The description reinforces the keyTag purpose but adds no new 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 removes a DNSSEC DS record by key tag, which is a specific verb-resource pair. It distinguishes itself from the sibling 'add_dnssec' tool.

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 (e.g., add_dnssec), nor does it 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.

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

Move an email message to Trash. This is reversible with update_email_messages action=restore. 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?

No annotations provided, so description carries full burden. It discloses key trait (reversible) and API endpoint, but lacks details on permissions, error states, or behavior for already-trashed messages. 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?

Two concise sentences plus API endpoint. 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.

Completeness5/5

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

For a simple deletion tool, the description covers the core purpose, reversibility, and endpoint. No output schema needed; completeness is adequate 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 all three parameters described in the schema. The description adds no extra meaning beyond what the schema provides, 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 action ('Move an email message to Trash') and resource ('email message'). It distinguishes from sibling 'update_email_messages' by noting reversibility.

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 that the action is reversible using 'update_email_messages action=restore', guiding the agent on when to use this tool vs. alternatives.

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

Retry-safely move messages to Trash and return a durable per-item receipt. Reuse the exact idempotency key after timeouts. Reversible with update_email_messages action=restore. API: POST /api/emails/{address}/messages/delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
message_idsYesIDs of messages to delete
idempotency_keyYesCaller-stable key for this exact logical batch
Behavior4/5

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

Discloses that messages are moved to Trash (not permanently deleted) and are reversible. With no annotations, this is valuable context. It does not mention potential side effects like impact on threads or permissions, but is sufficient for a delete-to-trash 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 with no wasted words. First sentence states purpose, second adds key behavioral trait (reversibility) and API endpoint. Information 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?

For a tool with 3 parameters and no output schema, the description covers what it does, reversibility, and endpoint. Minor gap: no mention of return value or effect on attachments, but adequate for typical use.

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 three parameters have descriptions in the schema (slug, domain, message_ids). The description does not add extra meaning beyond 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 uses specific verb 'Move multiple messages to Trash' and identifies the resource (multiple messages). It clearly distinguishes from sibling 'delete_message' (singular) and hints at reversibility, differentiating from permanent deletion 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 states the action is reversible via 'update_email_messages action=restore', providing an alternative for restoration. However, it does not explicitly contrast with the singular 'delete_message' or specify when not to use this tool (e.g., for permanent deletion).

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. For a broker-sourced acquisition, if the agreed price is above the max_budget you set, this returns BUDGET_EXCEEDED - retry with confirm_over_budget: true to proceed anyway.

ParametersJSON Schema
NameRequiredDescriptionDefault
negotiation_idYesThe agreed negotiation to finalize
payment_methodNo
confirm_over_budgetNoSet true to finalize a broker deal above the max_budget you set on the acquisition request
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 creates an escrow deal, starts transfer, supports multiple payment methods, requires a specific scope, and has a custom error for budget exceeds. It does not mention destructiveness or rate limits, but the behavior is well-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?

Extremely concise: two sentences. Front-loaded with the main action. Every sentence adds critical information without redundancy. Ideal structure for quick agent parsing.

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 3 parameters and no output schema, the description covers the main action, prerequisites, error handling, and payment methods. It lacks mention of return values or post-conditions, but is sufficient given the tool's straightforward nature.

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 67% description coverage; the description adds meaning by clarifying payment methods (card, USDC, x402) though schema uses 'balance' instead of 'x402' — a minor inconsistency. It explains confirm_over_budget's purpose in context of budget exceeded, adding value 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?

The description clearly states the tool's purpose: 'As the buyer, pay the agreed price to create the escrow deal and start the transfer.' It specifies the verb (pay/finalize), resource (negotiation), and outcome (escrow deal), distinguishing it from siblings like make_offer 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?

The description provides explicit context: payment methods align with purchases, requires 'domains:transfer' scope, and explains the BUDGET_EXCEEDED error and how to handle it with confirm_over_budget. It does not explicitly list alternative tools but implies use only after a negotiation is agreed.

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_broker_inquiry_stateRead Broker Inquiry State (Owner)AInspect

Owner-agent read path: poll the current, anonymized state of a broker inquiry with your token before acting. Returns the domain, the buyer's offer on the table, whose move it is, and the actions available now. Never exposes the buyer's identity or budget.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesThe outreach token from your inquiry email
Behavior4/5

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

With no annotations, the description discloses key behaviors: it returns anonymized state, never exposes buyer identity or budget, and lists return fields. It implies a read operation and non-destructive behavior. Lacks specifics on idempotency or rate limits, but is transparent enough for safe invocation.

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 establishes purpose and behavior, second lists returns and constraints. No redundant phrases, every part earns its place.

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

Completeness5/5

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

For a simple tool with one parameter and no output schema, the description adequately covers purpose, input, output fields, and privacy constraints. It tells the agent exactly what to expect and what not to expect.

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 adds context that the token is used 'before acting' and implies it's from the inquiry email. However, the schema already describes 'token' as 'The outreach token from your inquiry email', so the description mostly reinforces rather than adds new meaning.

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 polls the anonymized state of a broker inquiry, listing specific outputs (domain, offer, whose move, actions) and what is not exposed (identity, budget). This distinguishes it from siblings like 'respond_to_broker_inquiry' and 'list_broker_requests'.

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 phrase 'before acting' implies it should be used prior to other actions like responding. It also specifies it's for the owner-agent read path with their token, providing clear context for usage. No explicit exclusions are given, but the guidance is sufficient.

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. Returns each record with a stable id, plus a zone_version token - pass it to set_dns to detect concurrent zone changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to get DNS records for
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 return format (stable id, zone_version token) and a behavioral insight (using token with set_dns for conflict detection). This adds significant value beyond 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?

Two sentences: first states core purpose, second adds critical behavioral context. No filler, efficient 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 read tool with one param and no output schema, description covers purpose, return artifact details, and a cross-tool hint. Minor gap: does not explain what records contain beyond ids, but acceptable.

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%. Description restates that domain must be owned, which is already implied by schema. Adds no new semantic detail 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?

Description uses specific verb 'Get' and resource 'DNS records' with condition 'for a domain you own'. Clearly distinguishes from siblings like set_dns (modify), clone_dns (copy), 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 explicit when-to-use or when-not-to-use guidance. With many sibling tools (e.g., get_dnssec, dns_check), lacks context on when to choose this tool over alternatives.

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

get_dnssecGet DNSSECAInspect

List the DNSSEC delegation-signer (DS) records for a domain you own, and whether DNSSEC is enabled. Pair with TLSA records (via set_dns) for DANE.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to inspect
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 records and enable status, implying a read-only operation. However, it lacks explicit statements about side effects, authentication requirements (beyond ownership), or return format details. This is adequate but not rich.

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, zero wasted words. Action verb front-loaded. Every sentence adds value: first states purpose and scope, second gives a usage pairing tip.

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 (one simple parameter, no output schema), the description is reasonably complete. It covers what the tool returns (DS records and enable status) and ownership requirement. Minor omissions: no mention of potential multiple records or any limits, but adequate for a straightforward 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?

The schema has 100% coverage for the single parameter 'domain' (described as 'Domain name to inspect'). The description adds no additional meaning beyond the schema, 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 the specific verb 'List' and specifies the resource 'DNSSEC delegation-signer (DS) records' and 'whether DNSSEC is enabled'. It clearly distinguishes from sibling tools like add_dnssec (adds DNSSEC) and delete_dnssec (removes DNSSEC), and from get_dns (general DNS records). The ownership condition is also stated.

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 context: use this tool for a domain you own to list DS records and DNSSEC status. It suggests pairing with TLSA records via set_dns for DANE, offering a usage hint. However, it does not explicitly contrast with alternatives or state when not to use it.

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_email_deliverabilityGet Email DeliverabilityAInspect

Get an owner-scoped email health report for a domain. Separates deterministic DNS readiness, 30-day bounce and complaint outcomes, account safety state, and measured inbox placement. A readiness score is not an Inbox probability. API: GET /api/domains/{domain}/email/deliverability.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to inspect
Behavior4/5

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

Describes the scope (owner-scoped) and warns that readiness score is not inbox probability. No annotations provided, so description carries full burden and does well.

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, no redundancy. Front-loaded with verb and resource.

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 adequately lists return components. Additional details like response format would improve, but sufficient for a 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 coverage 100% with domain description. Description adds context about owner-scoped and API path, but not much parameter-specific meaning 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 it gets an owner-scoped email health report for a domain, listing specific components. Distinguishes from siblings by focusing on comprehensive health, not just DNS or status.

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 when-to-use or alternatives mentioned. Purpose is clear, but agent must infer usage from sibling tool names like check_email_deliverability.

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

get_mailbox_client_settingsGet Mail Client SettingsAInspect

Get IMAP/SMTP settings for a hosted mailbox to configure a mail client (Apple Mail, Thunderbird). Username is the full address; password is an app password. API: GET /api/emails/{address}/client-settings.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesHosted mailbox slug
domainYesHosted mailbox domain
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It states it's a GET API call, implying read-only, but does not explicitly confirm non-destructiveness or specify what the response contains beyond 'IMAP/SMTP settings'. 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 two sentences long, front-loads the main purpose, and includes essential usage details without redundancy. Every sentence serves a clear purpose.

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 tool is simple (no output schema, no nested objects), and the description covers the core purpose and credential info. However, it lacks detail on the response format or what specific IMAP/SMTP settings are returned, which would aid 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%, with both parameters having basic descriptions (slug, domain). The description adds the API path context (GET /api/emails/{address}/client-settings) but does not provide additional semantic depth beyond schema. 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 clearly states it gets IMAP/SMTP settings for a hosted mailbox, with specific use cases (Apple Mail, Thunderbird) and the API endpoint. It distinguishes from sibling tools like create_hosted_mailbox or list_mailboxes by focusing on client configuration.

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 tells when to use the tool (to configure a mail client) and provides practical guidance on credentials (username is full address, password is app password). However, it does not explicitly mention when not to use it or list alternative tools.

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_audit_eventsList Audit EventsAInspect

The account's security audit trail, newest first: token lifecycle (created/revoked/escalation attempts), spend-cap and max_price denials, charges, payout requests. Use it to review what the account's tokens have been doing.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by event type, e.g. purchase.denied_cap, token.created
limitNoEvents to return (default 50)
Behavior3/5

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

With no annotations provided, the description discloses ordering (newest first) and event types, but does not mention limitations, rate limits, or authentication requirements. It adequately conveys read-only behavior but lacks depth.

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 redundancy: first states purpose and ordering, second lists event types, third provides usage intent. Front-loaded and 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 two optional parameters, no output schema, and no annotations, the description covers the tool's purpose, output order, and event scope. It omits details like pagination behavior but remains largely complete for a simple list 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 description coverage is 100%, so baseline is 3. The description implies the 'type' filter by listing event categories but does not add new parameter syntax or format details 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 it lists audit events (security trail) for the account, ordered newest first, and enumerates specific event types. It distinguishes from sibling list tools like list_tokens or list_services by specifying a unique resource 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?

Explicitly says 'Use it to review what the account's tokens have been doing,' providing clear context for when to invoke. However, it does not mention when not to use or suggest alternatives, though no overlapping siblings exist.

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_broker_requestsList Broker RequestsAInspect

List your domain acquisition requests and their status (sourcing/contacted/negotiating/agreed/no_contact/declined). Requires deals:read scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status, or 'all'
Behavior2/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 states the tool lists requests and their statuses but does not disclose behavioral traits such as whether it is read-only, rate limits, pagination, or response structure. For a list operation, more transparency is expected.

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 plus a scope requirement, with no wasted words. It is front-loaded and efficiently communicates the core purpose and a key constraint.

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 (1 param, no output schema, no annotations), the description is largely adequate. It covers what the tool does and the status filter. However, it could mention whether results are paginated or sorted, but this 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?

Only one parameter ('status') exists with schema coverage 100%. The description adds value by listing the possible status values (sourcing/contacted/negotiating/agreed/no_contact/declined) beyond the schema's generic description, aiding correct usage.

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 domain acquisition requests and their statuses, with specific verb 'List' and resource 'domain acquisition requests'. It also enumerates possible statuses, providing clarity. While it doesn't explicitly differentiate from siblings, the specificity is sufficient.

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 mentions the required scope ('deals:read'), which is useful, but it does not provide guidance on when to use this tool versus alternatives like list_negotiations or make_offer. No exclusions or context for when not to use it.

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_foldersList Email FoldersBInspect

List canonical mailbox folders, virtual views, server-derived total/unread counts, and backend capabilities. API: GET /api/emails/{address}/folders.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
Behavior2/5

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

With no annotations, the description carries the full burden. It mentions what is returned (folders, counts, capabilities) but does not disclose side effects (none expected), authentication requirements, rate limits, or error behavior for invalid addresses or missing mailboxes.

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, using a single sentence plus an API endpoint reference. It is well-structured and front-loaded with the purpose, though some additional context could be added without sacrificing brevity.

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 2 simple parameters and no output schema, the description is moderately complete. It specifies the items returned (folders, counts, capabilities) but lacks details on pagination, ordering, or error conditions. It is adequate but not comprehensive.

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 basic descriptions for 'slug' and 'domain'. The description adds no additional parameter semantics beyond what the schema provides, 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 clearly states the verb 'List' and the resource 'mailbox folders', specifying inclusion of virtual views, counts, and backend capabilities. It distinguishes from siblings like 'list_mailboxes' (which lists mailboxes) and 'list_email_messages' (which lists messages), making the purpose unambiguous.

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 like 'list_mailboxes' or 'get_message'. It does not mention prerequisites such as requiring an existing mailbox or address, nor does it provide context on the expected use case.

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 messages in a system folder or virtual view. Defaults to Inbox. Supports pagination, direction and search filters. 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
spamNoFilter by spam flag. Pass false to hide spam-flagged inbound; omit to include all.
viewNoVirtual view. Mutually exclusive with folder
limitNoMax messages to return (default 20, max 100)
cursorNoPagination cursor from previous response
domainYesMailbox domain
folderNoSystem folder. Mutually exclusive with view. Defaults to inbox
subjectNoFilter by subject (case-insensitive, partial match)
directionNoFilter by direction: 'in' for received, 'out' for sent
Behavior3/5

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

No annotations exist, so the description bears full burden. It discloses that it lists messages, supports pagination, direction, and search filters, and provides the API endpoint. However, it does not disclose potential rate limits, read-only nature, or behavior with empty results. 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?

Two efficient sentences. The first sentence immediately states the core function and scope. No redundant or filler content.

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 11 parameters and no output schema or annotations, the description covers the main purpose and key features. It could be expanded to mention pagination mechanics or filtering behavior, but it remains sufficiently complete for a list 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 description coverage is 100% with detailed parameter descriptions. The description adds context about defaults (Inbox) and supported features (pagination, filters) but does not add significant 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.

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 messages in a system folder or virtual view, with default to Inbox. It specifies support for pagination, direction, and search filters. This clearly distinguishes it from sibling tools like get_message (single message) or list_email_folders.

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 by mentioning defaults and filters, but it does not explicitly state when to use this tool versus alternatives like get_message or list_email_folders. No 'when not to use' guidance is provided.

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

list_identitiesList identitiesAInspect

List the free agent identities (.domani.run) you've claimed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

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

The description accurately portrays a read-only listing operation with no side effects. Given no annotations, it provides sufficient behavioral disclosure for a simple list tool. No contradictions or omissions.

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?

A single, well-formed sentence that efficiently communicates the tool's function without extraneous words. Information is front-loaded and clear.

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 required parameters and no output schema, the description fully covers what the tool does. It specifies the output format (<handle>.domani.run) and scope (claimed by user). No gaps.

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, the schema coverage is complete. The description adds no parameter details, which is acceptable per the baseline rule (0 params = baseline 4).

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', the resource 'free agent identities', and the scope 'you've claimed', making the purpose specific and unambiguous. It distinguishes itself from siblings like claim_identity and release_identity.

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 when-to-use or when-not-to-use guidance is given. However, the context of sibling tools (e.g., claim_identity) implies usage when needing to view already claimed identities. No exclusions or alternatives are mentioned.

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_mailbox_aliasesList Mailbox AliasesAInspect

List all alias addresses that deliver into a mailbox. API: GET /api/emails/{address}/aliases.

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 fully disclose behavior. It only states the function and API path, failing to mention whether the operation is read-only, if pagination is applied, or potential errors. This is insufficient for full transparency.

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 wasted words. It efficiently communicates the tool's purpose and the API endpoint, earning its place 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?

Given the low complexity (2 parameters, no output schema), the description is largely adequate. However, it lacks any hint about the return format or behavior (e.g., array of strings), which would be helpful for an agent. Nevertheless, it covers the essential purpose.

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 descriptions for both parameters (slug and domain). The description adds no additional meaning beyond what is already in the schema, so a baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'List all alias addresses that deliver into a mailbox,' which is a specific verb and resource. It distinguishes from sibling tools like add_mailbox_alias and remove_mailbox_alias by focusing on listing. The API endpoint is also provided, adding clarity.

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 listing aliases of a mailbox but offers no explicit guidance on when to use this tool versus alternatives like list_mailboxes. It does not state prerequisites or exclusions, leaving the agent to infer context.

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

list_mailbox_changesList Mailbox ChangesAInspect

Incrementally synchronize a mailbox with an opaque cursor. Call without a cursor before a bounded full snapshot, then replay changes from next_cursor. API: GET /api/email/changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
cursorNoOpaque next_cursor from the previous response
mailbox_idYesAccessible mailbox ID
Behavior3/5

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

Without annotations, description partially covers behavior (opaque cursor, snapshot pattern) and implies read-only via API path, but lacks explicit mention of read-only nature, auth requirements, rate limits, or cursor error handling.

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 endpoint reference are concise and front-loaded. Every sentence adds value: purpose, usage pattern, and technical interface.

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?

Reasonably complete for a sync tool with no output schema: explains initial snapshot, cursor replay, and response contains next_cursor. Lacks details on error states or pagination behavior, but sufficient for typical 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 covers 67% of parameters with descriptions. Description adds context for cursor usage pattern but doesn't clarify the limit parameter beyond schema constraints. 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 incrementally syncs a mailbox using an opaque cursor, with explicit verb 'synchronize' and resource 'mailbox'. Distinguishes from sibling list tools like list_email_messages by focusing on incremental changes.

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 usage guidance: call without cursor first for a full snapshot, then use next_cursor for incremental changes. This clearly instructs when and how to use the tool versus alternatives.

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

list_mailbox_credentialsList App PasswordsAInspect

List the app passwords for a hosted mailbox (labels + metadata; secrets are shown only once at creation). API: GET /api/emails/{address}/credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesHosted mailbox slug
domainYesHosted mailbox domain
Behavior4/5

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

With no annotations, the description carries the burden of transparency. It clearly discloses that the response includes labels and metadata but not the actual secrets, and that secrets are only visible at creation time. This is key behavioral information for an agent deciding whether to use this 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 two sentences long with no filler. It conveys purpose, scope, and an important behavioral note (secret visibility) in a compact form. Every 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 and the absence of an output schema, the description provides enough context: it names the resource (hosted mailbox), explains what is listed, and adds the secret disclosure. It could mention pagination or sorting, but for a straightforward list 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%, so both parameters (slug and domain) are fully described in the input schema. The description adds no additional meaning or context for parameters, earning the baseline score.

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 lists app passwords for a hosted mailbox, specifies what is returned (labels + metadata), and notes that secrets are not included. It also provides the API endpoint, making the tool's purpose unambiguous and distinguishable from related siblings like create_mailbox_credential and revoke_mailbox_credential.

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 guides usage by stating that secrets are shown only at creation, so the agent knows this tool is for viewing metadata rather than retrieving secrets. It does not explicitly list when to use or avoid this tool, but the context of siblings provides enough differentiation.

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_mail_rulesList Mail RulesAInspect

List a mailbox's inbound filtering rules, in the priority order they are applied. API: GET /api/emails/{address}/rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
Behavior3/5

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

No annotations provided, so description carries full burden. Mentions priority order but no permissions, rate limits, or side effects. 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?

Two sentences, includes API endpoint, no wasted words. Efficient 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?

Sufficient for a simple list tool with full schema; no output schema needed. Could mention pagination 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 covers 100% of parameters with descriptions; description adds no additional parameter info, so 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?

States exactly what it does: list a mailbox's inbound filtering rules in priority order. Clear verb and resource, distinguishes from siblings like add_mail_rule or remove_mail_rule.

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 when to use vs alternatives, but the context of listing rules versus adding/removing is implied. Could benefit from more guidance.

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_suppressionsList SuppressionsAInspect

List addresses on your suppression list - hard bounces and complaints (added automatically) plus manual entries. Sends to these addresses are skipped. API: GET /api/suppressions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax entries to return (default 50, max 100)
cursorNoPagination cursor from a previous response
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It mentions that entries include automatic and manual additions and that sends are skipped, but does not disclose pagination behavior beyond the schema, rate limits, authentication needs, or consequences of the operation. The description adds limited value beyond the input 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 extremely concise, consisting of two short sentences that front-load the primary purpose and provide an endpoint reference. Every sentence adds value, with 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 tool has 2 parameters, no output schema, and no annotations, the description adequately explains the tool's purpose and the nature of the suppression list. However, it could be more complete by explicitly stating that listing is a read-only operation or mentioning the ordering of results, but overall it is sufficient for understanding the tool's functionality.

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% parameter description coverage, stating limit (default 50, max 100) and cursor (from previous response). The tool description does not add any additional meaning or context beyond the schema, 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 clearly identifies the verb ('list'), the resource ('addresses on your suppression list'), and distinguishes types (hard bounces, complaints, manual entries). It also adds context about automatic additions and the effect on sends. This differentiates it from sibling tools like add_suppression and remove_suppression.

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 viewing suppression entries and notes that sends to listed addresses are skipped, but does not explicitly state when to use this tool versus alternatives or provide guidance on when not to use it. No comparisons to sibling tools are made.

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

Retry-safely mark messages read or unread and return a durable per-item receipt. Reuse the exact idempotency key after timeouts. 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
idempotency_keyYesCaller-stable key for this exact logical batch
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.

plan_domain_adoptionPlan Domain AdoptionAInspect

Read-only planner for an existing domain. Inspects registrar, nameservers, DNS provider, DNSSEC, account state, transfer eligibility, and price. Returns safe next actions. Call this before asking for an EPP code. Connecting is free and leaves registrar and DNS unchanged. Transferring preserves nameservers and never migrates DNS implicitly.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesExisting domain to inspect, e.g. mysite.com
Behavior4/5

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

With no annotations, the description fully discloses that the tool is read-only, leaves registrar and DNS unchanged, and preserves nameservers during transfer. Does not discuss potential error states or eligibility conditions, but overall 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 front-loaded with the primary purpose. Each sentence adds value without redundancy or excess length.

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 a simple one-parameter tool with no output schema, the description covers what the tool inspects and that it returns next actions. Missing details about the format of next actions, but still 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% and the parameter description 'Existing domain to inspect, e.g. mysite.com' is clear. The description adds no additional parameter-level meaning 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?

Description clearly identifies the tool as a read-only planner for domain adoption, listing specific inspections (registrar, nameservers, etc.) and stating it returns next actions. Distinguishes from sibling tools like get_auth_code and transfer_domain by explicitly mentioning it's a prerequisite for EPP code and that connecting leaves everything unchanged.

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 guidance: 'Call this before asking for an EPP code' and explains that connecting is free and non-destructive. Implicitly contrasts with mutation tools but does not explicitly list alternatives.

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.

release_identityRelease identityBInspect

Release a free identity handle so it's available again.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe handle to release
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 indicates a state change (releasing) but does not describe consequences, permissions, reversibility, or side effects. The impact on the identity handle's availability is implied but not detailed.

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 sentence of 8 words, achieving maximum conciseness. However, for a tool with one parameter, it could be slightly more informative without becoming verbose. Front-loading of the action is good.

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 lack of annotations and output schema, the description is incomplete. It does not explain what releasing means operationally (e.g., is it reversible? does it require authentication?), nor does it cover return values or potential errors. The agent may need to guess at behavior.

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 'slug' is fully described in the input schema as 'The handle to release'. The description does not add any additional meaning, context, or examples beyond the schema. With 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.

Purpose5/5

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

The description clearly states the action 'Release' and the resource 'free identity handle', and the purpose of making it available again. It distinguishes itself from sibling tools like 'claim_identity' and 'update_identity' by focusing on the reverse operation.

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 guidance on when to use this tool versus alternatives, such as 'claim_identity' or 'update_identity'. No when-not or prerequisite information is given, leaving the agent to infer usage solely from the verb.

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

remove_mailbox_aliasRemove Mailbox AliasAInspect

Remove an alias address from a mailbox. Email to that address stops being delivered. API: DELETE /api/emails/{address}/aliases/{alias}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
aliasYesAlias address to remove - a bare slug or full address
domainYesMailbox domain
Behavior2/5

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

No annotations provided, so description must carry full burden. Only states that email stops being delivered. Does not disclose error handling, idempotency, or authorization needs.

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 focused sentences: first states purpose, second adds behavioral consequence and API endpoint. No wasteful content.

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 no output schema and three required parameters, description is adequate for a simple removal but lacks error behavior, success criteria, or reversibility.

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 three parameters. Description does not add extra meaning beyond the schema; baseline 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 verb 'remove' and resource 'alias address from a mailbox', and distinguishes from sibling add_mailbox_alias. The API endpoint is also provided.

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 like add_mailbox_alias or list_mailbox_aliases. Usage is implied but lacks exclusions or context.

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

remove_mail_ruleRemove Mail RuleAInspect

Remove an inbound filtering rule from a mailbox. API: DELETE /api/emails/{address}/rules/{ruleId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
rule_idYesThe rule ID to remove
Behavior3/5

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

No annotations provided; description states the action but does not detail effects of removing a non-existent rule, required mailbox state, or reversibility.

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 with no wasted words; the API endpoint is included for reference but does not detract.

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 delete-by-ID operation, the description and schema together are sufficient. No output schema is needed for a void 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 provides descriptions for all 3 parameters with 100% coverage; the description adds no new parameter information beyond the endpoint path, 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?

The description clearly states it removes an inbound filtering rule from a mailbox, using a specific verb and resource. This distinguishes it from siblings like add_mail_rule and list_mail_rules.

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 deleting a rule, but lacks explicit guidance on when to use vs alternatives, prerequisites, or when not to use.

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

remove_suppressionRemove SuppressionAInspect

Remove an address from your suppression list so you can email it again (e.g. after the recipient fixed their mailbox). API: DELETE /api/suppressions/{address}.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEmail address to remove from the suppression list
Behavior3/5

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

No annotations provided; description includes the API endpoint and basic behavior. Lacks details on authorization, rate limits, or side effects, but destructive nature is evident. Adequate for a 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?

Two concise sentences: one for purpose, one for API reference. No wasted words; front-loaded with key 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?

Simple tool with one parameter and no output schema; description covers purpose, usage context, and API call. Could include more on HTTP method (already present) or response, but sufficient.

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 100%, and description adds context about suppression list and emailing again. But beyond the schema, little extra meaning is added. 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 verb 'remove' and resource 'address from suppression list', with purpose 'so you can email it again'. Distinguishes from sibling 'add_suppression'.

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 use case ('after recipient fixed their mailbox') implying when to use. Does not explicitly state when not to use or compare to alternatives, but context with siblings is clear.

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

renew_domainRenew DomainBInspect

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
max_priceNoCeiling in USD for the renewal charge. Fails with PRICE_ABOVE_MAX (nothing charged) if the real price is above it.
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.
Behavior2/5

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

No annotations provided. The description says 'renew for additional years' but fails to disclose that this initiates a payment or charge, despite the input schema containing payment parameters. It does not mention financial implications or side effects, which is a significant gap for a money-related action.

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, front-loaded with the action. Efficient but could benefit from more detail without being verbose.

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 lacks information about return values or outcomes. With no output schema and 6 complex parameters including payment, the description should explain what the tool returns or confirms. The payment workflow is not clarified.

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. The description adds no extra meaning beyond the schema, but meets the baseline of 3 for complete schema 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?

The description clearly states the verb 'renew' and resource 'domain you own', distinguishing it from sibling tools like acquire_domain or transfer_domain. It's specific and unambiguous.

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?

Includes 'Always confirm with the user before calling this.' but does not specify when to use vs. alternatives like set_auto_renew or buy_domain. No explicit exclusions or context for choosing this tool.

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

replay_webhook_deliveryReplay Webhook DeliveryAInspect

Redeliver one immutable webhook event. Requires a caller-stable idempotency key; retries with the same key return the same receipt and never send twice.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYesWebhook ID
delivery_idYesOriginal delivery ID from list_webhook_deliveries
idempotency_keyYesStable unique key for this replay operation
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 key behavior: idempotency, retry semantics, and that duplicate sends are prevented. This adds significant value beyond the schema. Yet it omits details on required permissions or error handling, so a 4 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?

The description is two sentences: first states the purpose, second explains the key usage requirement. It is front-loaded, terse, and contains no wasted words. Excellent conciseness.

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 tool's simplicity (3 parameters, no output schema), the description covers the core behavior and idempotency. However, it lacks details on return value ('receipt'), error scenarios, and relationship to sibling tools. For a minimal tool, it is adequate but not rich.

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 schema already documents each parameter. The description reinforces the importance of the idempotency key but does not add new detail beyond that. Thus, 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 'Redeliver one immutable webhook event', using a specific verb ('redeliver') and resource ('webhook event'). This clearly distinguishes the tool from siblings that manage webhooks (e.g., create_webhook, delete_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 mentions idempotency and retry behavior, which provides important usage context. However, it does not explicitly contrast with alternative tools or specify when not to use this tool. The guidance is sufficient but lacks comparative direction.

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. For shared human-agent mailboxes, first heartbeat composing presence and pass coordination plus a stable idempotency_key; the server atomically rejects stale/double replies. Threading headers are automatic. 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
coordinationNoCompose lease and reply generation returned by heartbeat_conversation_presence
idempotency_keyNoRequired with coordination; reuse this exact key after timeouts
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_broker_inquiryRespond to Broker Inquiry (Owner)AInspect

Owner-agent path: respond to a broker's acquisition inquiry using the token from the outreach email in your inbox - fully autonomous, no email round-trip, no magic-link. offer/counter names a price and opens/advances an anonymous negotiation; accept agrees to the buyer's current offer on the table; decline/opt_out ends it. Token-authorized (no scope needed).

ParametersJSON Schema
NameRequiredDescriptionDefault
priceNoYour asking price in USD (required for offer/counter)
tokenYesThe outreach token from your inquiry email (reply-to is broker+<token>@)
actionYesoffer/counter to name a price; accept to take the buyer's current offer; decline to refuse; opt_out to stop contact
Behavior4/5

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

With no annotations, the description provides key behavioral details: token authorization, no email round-trip, anonymous negotiation, and action outcomes. It doesn't detail failure modes or reversibility, but covers essential safety and process traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

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

The description is four sentences, front-loaded with the core purpose, then action details, then authorization. Every sentence adds essential context 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?

Given three parameters, five actions, and no output schema, the description covers the negotiation flow well. It lacks explicit post-accept behavior (e.g., whether negotiation ends) and token reusability, but is otherwise complete for invoking the tool 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%, so baseline is 3. The description adds value by specifying the token source ('outreach email in your inbox') and clarifying the semantics of actions beyond enum labels. It reinforces price requirement for offer/counter.

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 owners to respond to broker acquisition inquiries, listing specific actions (offer/counter, accept, decline/opt_out) and their effects. It distinguishes itself from siblings like respond_to_offer and make_offer by emphasizing the broker inquiry context and token-based authorization.

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 each action (e.g., 'offer/counter names a price', 'accept agrees to the buyer's current offer') and mentions the token from email. It lacks explicit exclusions or alternatives to sibling tools, but the context and token mechanism sufficiently guide usage.

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. Pass dry_run to preview what would be applied without writing.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to restore DNS for
dry_runNoPreview only - returns would_apply without writing anything
Behavior3/5

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

Discloses use of diff to avoid duplicates and dry_run option. No annotations provided, so description must cover behavior; but it lacks details on overwrite behavior, permissions, or reversibility.

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, all essential. Front-loaded with purpose, no redundant 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?

Covers source, process, and parameter usage, but missing output/return value description, error handling, and permission requirements. No output schema so more context would help.

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 minimal extra meaning for domain (domain name) and dry_run (preview) beyond schema. Prerequisite mention adds context but not parameter-specific.

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 restores DNS records from server-side backup. Distinguishes from siblings like snapshot_dns (prerequisite) and set_dns (alternative for manual updates).

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 usage context: call snapshot_dns first, use dry_run for preview. Does not explicitly state when not to use or compare to alternatives like set_dns, but the prerequisite is clear.

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

revoke_mailbox_credentialRevoke App PasswordAInspect

Revoke an app password on a hosted mailbox. Any mail client using it stops connecting. API: DELETE /api/emails/{address}/credentials/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesHosted mailbox slug
domainYesHosted mailbox domain
credential_idYesApp password id from list_mailbox_credentials
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the destructive effect (mail clients stop connecting) and provides the API endpoint, but does not cover required permissions, reversibility, or confirmation steps. It gives some transparency but is 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 plus an API endpoint, zero wasted words. It front-loads the purpose and quickly states the consequence, making it easy for an agent to parse and act upon.

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 revocation tool with no output schema, the description covers the core behavior and consequence. It does not explain the return value or error handling, but the outcome is straightforward. Slightly more detail on prerequisites or effects could improve completeness, but it 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 description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema, as it does not elaborate on parameters like credential_id or domain. The schema already provides adequate context for each parameter.

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) on a specific resource (app password on a hosted mailbox) and distinguishes it from sibling tools like create_mailbox_credential or list_mailbox_credentials by focusing on revocation. It also provides a concrete consequence ('Any mail client using it stops connecting'), reinforcing the purpose.

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 the tool should be used when needing to revoke an app password, but it does not explicitly state when to avoid it or mention alternatives. It also does not warn about prerequisite steps (like obtaining the credential_id from list_mailbox_credentials), though that is covered in the schema. The guidance is implicit rather than explicit.

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.
allow_risky_contentNoDeprecated compatibility field. Public HTTPS third-party auth links are allowed with a warning; objective safety blocks cannot be overridden
Behavior3/5

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

With no annotations, the description carries full burden. It notes the API endpoint and rate limits, but doesn't disclose authentication needs, immediate vs queued sending, or potential side effects beyond rate limiting. Additional behavioral details like error handling or spam checks are missing.

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 short (three sentences) and front-loaded with the core purpose. Every sentence adds useful information: what it does, how to identify sender, supported features, and rate limit. No fluff.

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 tool's functionality well but lacks information about return values, error scenarios, or what happens after sending (confirmation, message ID). Given no output schema, describing the response would improve completeness. Also, prerequisite steps like mailbox creation are not mentioned.

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%, baseline 3. The description adds value by explaining the sender identification (domain/slug), supported body types, threading via In-Reply-To/References, and rate limits, which are not fully captured in individual parameter descriptions.

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

Purpose5/5

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

The description clearly states the verb 'send' and the resource 'email from one of your mailboxes', specifying domain and slug. It lists capabilities (text/HTML, CC/BCC, attachments, threading) and distinguishes from sibling tools like create_mailbox or list_mailboxes by focusing on the sending action.

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 the required parameters (domain, slug, to) and provides rate limit info (100 sends/hr per mailbox), which guides usage. However, it doesn't explicitly state when to use this tool vs alternatives or prerequisites like mailbox existence.

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_catch_allSet Catch-AllAInspect

Route any email sent to an unmatched address on a domain into a designated mailbox. Anything that does not match a mailbox, subaddress, or alias lands in the catch-all. The mailbox must already exist on the domain. API: PUT /api/domains/{domain}/email/catch-all.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain to set the catch-all on, e.g. mysite.com
mailboxYesCatch-all mailbox - a bare slug ('inbox') or full address ('inbox@mysite.com') on this domain
Behavior3/5

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

Without annotations, the description bears the full burden. It discloses the prerequisite and the API endpoint, but does not detail whether it is destructive (overwrites existing catch-all), idempotent, or requires specific permissions. 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 plus an API line, front-loaded with purpose and no wasted words. 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 two required parameters, no output schema, and no nesting, the description explains the core functionality and prerequisite. It could mention error conditions (e.g., if mailbox doesn't exist) or effect on existing catch-all, but is 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?

Schema description coverage is 100%, so baseline is 3. The tool description adds no extra meaning beyond the schema: it mentions the prerequisite but does not elaborate on parameter constraints or formats.

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 routes unmatched emails to a designated mailbox, specifying the verb 'Route', the resource 'unmatched address on a domain', and the result 'designated mailbox'. It distinguishes from siblings like 'clear_catch_all' by explicitly describing the catch-all behavior.

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 a prerequisite: 'The mailbox must already exist on the domain.' It provides context for when to use the tool but does not explicitly state when not to use it or list alternatives.

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

Upsert DNS records for a domain you own, at the rrset level: records at a (type, name) you send replace that rrset; rrsets you don't mention are preserved (NS never touched). An automatic zone backup is taken before every write. Best practice: call get_dns first and pass its zone_version so a concurrent change fails with DNS_VERSION_CONFLICT instead of being clobbered. 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
zone_versionNoThe zone_version from get_dns - rejects the write with DNS_VERSION_CONFLICT if the zone changed since
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: rrset-level replacement, preservation of unmentioned rrsets, NS records never touched, automatic zone backup before writes, and concurrency protection via zone_version. This goes well beyond what annotations would typically cover.

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 just 4 sentences, each earning its place: the first defines core behavior, the second adds key safety detail (backup), the third provides best practice, and the fourth lists common examples. It is 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.

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 covers the write operation well—upsert semantics, backup, concurrency, common patterns. However, it does not describe what the tool returns on success or failure, which would benefit the agent. Still, the complexity is moderate and the schema is rich, so the gap is minor.

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%, so baseline is 3. The description adds substantial meaning: explains that records replace entire rrsets, clarifies the role of zone_version for conflict detection, and provides concrete value examples (e.g., '76.21.21.21', 'user.github.io'). This significantly aids the agent in understanding parameter usage.

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 'Upsert' and the resource 'DNS records for a domain you own', with precise behavior: 'records at a (type, name) you send replace that rrset; rrsets you don't mention are preserved (NS never touched)'. It distinguishes from siblings like get_dns and clone_dns by specifying the upsert 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?

The description provides explicit best practice: 'call get_dns first and pass its zone_version so a concurrent change fails with DNS_VERSION_CONFLICT instead of being clobbered'. It also gives common patterns for Vercel, GitHub Pages, etc. However, it lacks explicit when-not-to-use or alternatives beyond get_dns.

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

set_domain_redirectSet Domain RedirectAInspect

Forward a domain you own to another URL (e.g. brand.com -> brand.dev). The domain must point at domani's nameservers/parking IP. Permanent (308) by default, or temporary (307). Send an empty url to stop forwarding.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesTarget URL to forward to, e.g. https://brand.dev. Empty string clears the redirect.
domainYesThe domain to forward (must be one you own)
permanentNotrue = permanent redirect (default), false = temporary
Behavior4/5

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

No annotations are provided, so the description bears the full burden. It discloses key behavioral traits: default permanent redirect (308), optional temporary (307), and the ability to stop forwarding by sending an empty URL. It does not contradict any 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?

The description is exceptionally concise—only two sentences—yet covers all essential information. It is front-loaded with the core action and immediately useful examples, with no superfluous text.

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 (3 parameters, no output schema, no nested objects), the description adequately covers the necessary context. It explains behavior, prerequisites, and parameter details, though it could briefly mention potential error cases (e.g., if domain not properly pointed). Still, it is complete enough for effective use.

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: it explains that an empty string for 'url' clears the redirect, and clarifies the boolean 'permanent' parameter with default behavior. This goes beyond the schema's 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 uses a specific verb 'Forward' and clearly identifies the resource 'domain' and the target URL. It distinguishes from other domain-related tools like acquire_domain or set_dns by focusing on redirect 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?

It explicitly states the prerequisite that the domain must point at domani's nameservers/parking IP, and explains the two redirect types (permanent vs temporary). It provides clear context for when to use this tool, though it does not explicitly mention alternatives or when not to use it.

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

Configure inbound handling for a mailbox: forward incoming emails to another address (in addition to storing) and/or drop spam-flagged messages. Set forward_to to null to remove forwarding. API: PATCH /api/emails/{address}.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesMailbox slug
domainYesMailbox domain
drop_spamNoIf true, spam-flagged inbound is dropped (not stored or webhooked)
forward_toNoEmail address to forward to, or null to remove
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 the effect of setting forward_to to null and that drop_spam causes spam to be dropped (not stored or webhooked). However, it does not mention permissions, rate limits, or side effects beyond basic actions. With no annotations, a score of 3 is appropriate as it covers core behavior but lacks depth.

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 states the overall function, the second provides a specific detail (null removal) and the API method. Every sentence adds value with no redundancy. It is front-loaded and concise.

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 4 parameters (all described in schema), no output schema, and no annotations, the description covers the core behavior but does not explain return values or edge cases (e.g., behavior when both forward and drop_spam are set). It is complete enough for basic use but lacks depth for a mutation 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% (all parameters have descriptions). The description adds one extra nuance: 'Set forward_to to null to remove forwarding.' This adds value beyond the schema but is minimal. Baseline for high coverage is 3, and the addition does not significantly enhance understanding of other parameters like slug or domain.

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 configures inbound handling for a mailbox: forward incoming emails and/or drop spam. It specifies 'forward to' and 'drop spam' actions, and explicitly mentions setting forward_to to null to remove forwarding. The API endpoint is also provided, making the purpose highly specific and distinguishable from siblings like '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 when to use: when needing to configure inbound email handling (forwarding or spam dropping). It provides clear context but does not explicitly state when not to use it or mention alternatives. Given the large sibling list, explicit exclusions or comparisons would be helpful, but the description is still adequate.

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, preserves current nameservers, and does not migrate DNS. Call plan_domain_adoption first, show the exact price and continuity plan, then get explicit confirmation before calling this. Requires the authorization/EPP code from the current provider.

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.
Behavior5/5

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

With no annotations, the description fully bears the burden. It discloses that the transfer is paid, includes 1 year of renewal, preserves nameservers, and does not migrate DNS—clear behavioral traits beyond the basic 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?

Three tightly written sentences: purpose, then key behavioral details, then critical usage steps. No filler; every sentence adds essential context. Front-loaded with the core action.

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 complexity (6 parameters, paid mutation) and no output schema, the description covers operation purpose, behavioral traits, and prerequisite workflow. Lacks mention of return value (e.g., transfer ID or status), but overall sufficient for an agent to execute 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 covers 100% of parameters, so baseline is 3. Description adds value for extra_subdomains by explaining auto-discovery and when to use it, exceeding baseline. Other params mostly repeat schema info, but some context (e.g., EPP code requirement) is reinforced.

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 'Initiate a domain transfer from another provider', which is a specific verb and resource. Distinguishes from related tools like acquire_domain, buy_domain, import_domain, 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?

Provides explicit workflow: 'Call plan_domain_adoption first, show the exact price and continuity plan, then get explicit confirmation before calling this.' Also notes it is paid, giving clear when-to-use guidance.

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_email_messagesUpdate Email MessagesBInspect

Apply a retry-safe lifecycle action to up to 100 messages. Returns a durable per-item operation receipt. Reuse the exact idempotency key after timeouts; never invent a new key for the same logical action. Permanent deletion requires email:delete. API: POST /api/emails/{address}/messages/actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
readNoRequired for mark_read
slugYesMailbox slug
actionYes
domainYesMailbox domain
starredNoRequired for star
destinationNoRequired for move
message_idsYesExplicit message IDs
idempotency_keyYesCaller-stable key for this exact logical batch
Behavior3/5

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

With no annotations, the description reveals some behavioral traits: actions are reversible except delete_permanently, and the API endpoint is POST. However, it lacks details on idempotency, permissions, or side effects, which are needed for full transparency.

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 with two sentences, no redundancy, and front-loads the core action. It could better structure information (e.g., listing actions), but remains 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 7 parameters and no output schema, the description covers the high-level action but omits conditional parameter requirements. It is adequate but incomplete for a multi-action 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 86%, so parameters are mostly documented. The description adds value by clarifying the delete_permanently action and the 100-message limit, but does not explain conditional requirements like 'read' for mark_read or 'destination' for move.

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 applies reversible mailbox lifecycle actions or permanently deletes trashed messages, specifying the verb (apply, delete), resource (messages), and scope (up to 100). It distinguishes from siblings like delete_message and delete_messages by highlighting batch and action types.

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 when-to-use or when-not-to-use guidance is provided. The description mentions 'permanently delete messages already in Trash' but does not differentiate from sibling tools like delete_message, delete_messages, or mark_messages_read, leaving the agent without clear alternatives.

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

update_identityUpdate identityBInspect

Update a free identity's name/bio/emoji/email/links.

ParametersJSON Schema
NameRequiredDescriptionDefault
bioNo
nameNo
slugYesThe handle to update
emailNo
emojiNo
linksNo
Behavior2/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 only states 'update', which implies mutation but does not disclose whether the operation is idempotent, what happens on error, or any destructive behavior. Lacks detail on authorization 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 a single sentence of 10 words, extremely concise and front-loaded with the core purpose. Every word earns its place; no unnecessary information.

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 no annotations, no output schema, and 6 parameters with low coverage, the description lacks essential context. It does not explain return values, error conditions, or how the tool behaves in different scenarios. For a mutation tool, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is low (17%, only slug described). The description lists the parameter names but adds no additional meaning beyond their labels. For example, 'links' is an array of objects, but the description does not clarify its structure or constraints. Compensation for low coverage is insufficient.

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 updates a free identity, listing the specific fields (name/bio/emoji/email/links) that can be updated. The verb 'update' and resource 'identity' are precise, and it distinguishes from siblings like 'release_identity' by specifying 'free identity'.

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. It does not mention prerequisites (e.g., identity must exist, must be free tier) or provide context on use cases. No explicit when-not or alternative tools are mentioned.

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 the full burden. It discloses that the tool returns a URL and that the upgrade requires user action in a browser. It does not mention immediate plan change or permissions, but the behavior is straightforward: generates a checkout URL.

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: three sentences that front-load the main action and include usage instructions. Every sentence adds value, 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 simplicity (no parameters, no output schema), the description is complete. It explains the purpose, what to do with the result, and when to trigger it, leaving no 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?

There are zero parameters, so schema description coverage is 100% and the baseline is 4. The description adds value by explaining the output (URL) and the plan details, which is sufficient for an empty 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's purpose: 'Get a Stripe checkout URL to upgrade the user to the Pro plan.' It identifies the specific verb (get) and resource (checkout URL) and distinguishes it from sibling tools like 'cancel_plan' or 'setup_billing' by specifying the action and plan.

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 the user hits the free plan monthly send limit (MONTHLY_LIMIT_EXCEEDED error).' It also instructs the agent to tell the user to open the URL in a browser. It does not mention alternatives or when not to use, but the trigger is specific enough.

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.