buy_domains
Buy domains with up to 3 mailboxes each. Returns a Stripe checkout link for the person to pay; setup starts once paid. Needs accept_sending_rules true.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | ||
| accept_sending_rules | Yes |
Buy domains with up to 3 mailboxes each. Returns a Stripe checkout link for the person to pay; setup starts once paid. Needs accept_sending_rules true.
| Name | Required | Description | Default |
|---|---|---|---|
| domains | Yes | ||
| accept_sending_rules | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent, closed-world, so safety is covered. The description adds genuinely new behavioral context: the call returns a checkout link, the domain is not provisioned until payment, and no operation is idempotent (buying twice means two purchases). It does not mention pricing, failure/partial-purchase behavior, or whether domains must be available first.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then the return value and asynchronous completion, then the required consent flag. Nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains that the return value is a Stripe checkout link and that setup is deferred until payment, which is the key thing an agent needs to report back. Missing are cost/eligibility details and what happens on failure, but the critical call-time context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% at the top level, so the description must compensate; it does so partially by stating the "up to 3 mailboxes each" limit on the nested mailboxes array and by flagging that accept_sending_rules must be true. It never explains what accepting sending rules entails or elaborates on the domains structure beyond the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Buy domains") plus the scope (up to 3 mailboxes each), which cleanly separates it from search_domains and list_bought_domains. It stops short of naming those siblings explicitly, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The asynchronous payment flow ("Returns a Stripe checkout link for the person to pay; setup starts once paid") implies when this tool applies, but there is no explicit when-to-use vs when-to-use-search_domains guidance and no stated prerequisites beyond the accept_sending_rules flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.