Skip to main content
Glama
Official Porkbun MCP Server

Official Porkbun MCP Server

Check Domain

check_domain
Read-onlyIdempotent

Check whether a single domain is available for registration and what it costs. Returns availability (avail: yes|no), registration price, renewal price, transfer price, and (for premium domains) extended pricing details.

Instructions

Check whether a single domain is available for registration and what it costs. Returns availability (avail: yes|no), registration price, renewal price, transfer price, and (for premium domains) extended pricing details. Pricing is in USD. An internationalized name (IDN) also returns idnLanguages, the languages its registry accepts; register_domain needs one of them as idn_language. For a domain already in the user's account the result has inYourAccount: true: the top-level price is still the registration price, and the renewal price is additional.renewal.price (use that, or a renew_domain dry run, before renewing). For a domain registered to someone else it adds aftermarketSearch: the name may be for sale, so call search_aftermarket before telling the user it is unavailable. Use this BEFORE register_domain to confirm cost — Porkbun rejects registrations whose cost_cents doesn't match the current quote. Checking more than one name? Use check_domains instead — it takes up to 25 in a single call and draws on a separate, more generous budget (200 domains/minute against 10 checks/10s here), because Porkbun chunks checks per registry and a batch costs less than the same names one at a time.

Input Schema

NameRequiredDescriptionDefault
domainYesFully qualified domain name to check, e.g. `example.com`

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.4.1

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly/idempotent/openWorld), and the description goes well beyond it: rate limits (10 checks/10s vs. 200 domains/minute for `check_domains`), the registry-chunking reason batches are cheaper, and the failure mode where Porkbun rejects a registration whose `cost_cents` no longer matches the quote. It also decodes non-obvious result behaviors (`inYourAccount: true` meaning top-level `price` is still the registration price, `aftermarketSearch` implying the name may be for sale).

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

Conciseness4/5

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

Front-loaded with the core purpose and the key routing statement is bolded for scanning. It is long and fairly dense, but nearly every sentence carries actionable information (pricing semantics, IDN, in-account, aftermarket, cost-match constraint). Slightly more text than an agent strictly needs on one pass.

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, so the description carries the return-value burden and does so thoroughly: availability flag, price tiers, IDN languages, in-account renewal price path, and aftermarket signal. Combined with the rate-limit and pre-registration requirements, an agent has everything needed to call and interpret this 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% for the single `domain` parameter, so the baseline is 3. The description does add real meaning about how input characteristics change output and downstream calls — IDN names needing an `idn_language` for `register_domain`, premium names returning extended pricing, owned vs. third-party names returning different blocks — which is more than restating 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?

States a specific verb and resource ('Check whether a single domain is available for registration and what it costs') and enumerates the concrete return fields (availability, registration/renewal/transfer price, premium details, IDN languages). It explicitly distinguishes itself from the sibling `check_domains` ('Checking more than one name? Use `check_domains` instead'), so an agent can route without opening either schema.

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 when-to-use ('Use this BEFORE register_domain to confirm cost') and when-not (multi-name checks), names the alternative tool, and adds two further routing rules — call `search_aftermarket` when `aftermarketSearch` appears, use `additional.renewal.price` or a `renew_domain` dry run before renewing. 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.

Deploy Server

Other Tools