Skip to main content
Glama
oborseth

Official Porkbun MCP Server

Buy Closeout

buy_closeout
Idempotent

Buys a closeout at current price, claims the name, and spends account credit. Confirm exact total first; use dry_run for a quote without charging.

Instructions

Spends account credit. Buys a closeout at its current price and claims the name. Confirm the total with the user first. cost_cents must equal totalPrice from get_closeout exactly — any other value is refused, so you cannot accidentally charge a price the user did not agree to. Use dry_run with cost 0 to quote without charging. The domain is reserved, not delivered. The provider releases it over the following days, so do not tell the user it is in their account: poll list_domains or watch the domain.registered webhook. Every post-charge failure refunds automatically and reports refunded:true. Losing the race to another buyer (CLOSEOUT_UNAVAILABLE) is not worth retrying on the same name — closeouts are first-come at a fixed price. CLOSEOUT_NOT_ELIGIBLE means support has blocked this account from auctions and closeouts over past-due invoices or an auction terms violation — do not retry, tell the user to contact support. There is no account-age or order-history requirement: eligibility is the same as registering a domain, plus verified email and phone.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
costNoDeprecated alias of `cost_cents`, same unit (integer US cents). Send `cost_cents` instead.
domainYesDomain to buy, e.g. `example.com`
dry_runNoValidate and price without charging or claiming.
cost_centsNoExact totalPrice from get_closeout. Use 0 only with dry_run. Required. Integer US cents: 803 means $8.03, not $803.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.39.4

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only flag readOnlyHint=false and idempotentHint=true; the description goes well beyond them by disclosing that the domain is reserved rather than delivered, that the provider releases it over following days, that post-charge failures auto-refund with refunded:true, and how to observe completion (poll list_domains or the domain.registered webhook). It never contradicts the 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?

Front-loads the money-spending consequence, then layers workflow, delivery caveat, refund behavior, and error routing as distinct short blocks. Every sentence carries operational information; nothing is padding.

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 non-idempotent-feeling purchase with four parameters, no output schema, and real financial consequences, the description covers charging semantics, quoting, delivery timing, verification path, failure/refund handling, and error-code triage. Nothing an agent needs to call it safely is missing.

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 already 100%, so the baseline is 3; the description adds real value by explaining the enforcement rule ('cost_cents must equal totalPrice from get_closeout exactly — any other value is refused') and the dry_run/cost-0 pairing. It adds little on the deprecated `cost` alias or the `domain` parameter, which the schema already covers.

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?

Opens with a specific verb and resource plus the exact effect: 'Spends account credit. Buys a closeout at its current price and claims the name.' This clearly separates it from get_closeout and search_closeouts, which read rather than 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?

Gives explicit preconditions (confirm total with the user, use dry_run with cost 0 to quote) and explicit do-not-retry rules keyed to error codes (CLOSEOUT_UNAVAILABLE, CLOSEOUT_NOT_ELIGIBLE). It also states the eligibility requirements, so the agent knows when this call is valid at all.

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

Deploy Server

Other Tools