Skip to main content
Glama

Prepare domain purchase

prepare_domain_purchase

Prepares the purchase of an AVAILABLE domain for this customer and returns a checkout link: the domain is priced and placed in a cart on their Squish account, and the link opens the normal checkout where the customer (or whoever they send the link to) pays with their card. No money moves when this tool runs. Two-step: (1) call with confirm:false — the preview is the quote: whether the name is available, the first-year price, the renewal price, the term. Relay it and ask for an explicit yes. (2) ONLY after an explicit yes in their most recent message, call with confirm:true to create the cart and get the link; the link is valid for 30 days and the cart also appears in their dashboard. Use when the customer asks to buy or register a domain through an outside assistant, or wants a payment link for a domain. For a name that is taken, use search_domains to find alternatives instead.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "domain": "<domain>"
    },
    "name": "prepare_domain_purchase"
  }
}

Input Schema

NameRequiredDescriptionDefault
yearsNoRegistration term in years, 1–10. Default 1.
domainYesThe exact domain to register, e.g. "example.com".
confirmNofalse (default) returns the quote; true creates the cart and the checkout link. Pass true ONLY after explicit user confirmation.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and non-idempotent, so the mutation profile is partly covered. The description adds genuinely useful context annotations cannot express: no money moves, a cart is created, the link is valid 30 days, and the cart appears in the dashboard. It does not, however, address the non-idempotent hint — e.g. whether a second confirm:true call creates a duplicate cart or reuses the existing one — which is exactly the behavioral risk an agent needs to know.

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?

Well front-loaded: the outcome, then the no-money-moves reassurance, then the two-step protocol, then routing guidance. It is dense and slightly run-on with stacked parentheticals, but essentially every sentence carries information an agent needs to call it correctly.

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?

There is no output schema, and the description compensates by describing exactly what each call returns: the quote contents (availability, first-year price, renewal price, term) and the cart plus 30-day checkout link. Combined with the two-step confirmation protocol, an agent has everything needed to invoke it safely.

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 including the confirm default and the 1–10 year range. The description reinforces the confirm semantics (preview = quote, confirm:true = cart + link) but adds no format or constraint detail beyond the schema, so the 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 first sentence names a specific verb (prepares), resource (domain purchase), and the concrete outcome (priced, placed in a cart, checkout link returned). It also explicitly distinguishes itself from the sibling search_domains for the taken-name case and implicitly from prepare_domain_transfers by scoping to an AVAILABLE domain purchase.

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

Usage Guidelines5/5

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

It states when to use it ('customer asks to buy or register a domain through an outside assistant, or wants a payment link'), when not to (taken name → search_domains), and gives a precise two-step protocol with the exact gating condition ('ONLY after an explicit yes in their most recent message'). Nothing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources