MCP Server

Check domain availability and live registry pricing from Claude, Cursor, or any MCP client. It's free to use, with no account and no API key.

Endpoint

https://www.orbitfour.com/mcp

Streamable HTTP, JSON-RPC 2.0, no authentication

Connect your client

Claude Code

claude mcp add --transport http orbitfour https://www.orbitfour.com/mcp

Claude (web and desktop)

Open Settings → Connectors, choose Add custom connector, and paste the endpoint URL.

Cursor

Add it to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "orbitfour": {
      "url": "https://www.orbitfour.com/mcp"
    }
  }
}

VS Code

Add it to .vscode/mcp.json in your workspace:

{
  "servers": {
    "orbitfour": {
      "type": "http",
      "url": "https://www.orbitfour.com/mcp"
    }
  }
}

Any other client: add a remote server at the endpoint URL using the Streamable HTTP transport. There's no key to configure.

Tools

check_domain

Check domain availability and price

Look up exact domain names: whether each can be registered now, and its per-year registration, renewal and transfer price in USD, premium names included, from a live registry check. Use it for names you already have and to confirm a search_domains suggestion. Up to 10 names per call; read-only. available is true, false, or null (the registry could not be asked; not the same as taken). An unavailable name says why in reason: taken, reserved, unavailable or unknown. purchasable is false for an available name OrbitFour can't sell now, and for a null one, and purchase_blocker says why. first_term is the shortest term (min_years: .ai is 2) and its total with the ICANN fee. A malformed name or an extension OrbitFour doesn't sell comes back with an error field. pricing_source says where the registration price came from: "registry" is a live quote for that name, "baseline" is the extension's standard rate and final for the name (the extension has no premium names, or the registry quoted none for it), and "unconfirmed" means the registry lookup did not finish, so the price is not final for a name that may be premium. pricing_sources breaks this out per action.

Parameter Type Description
names required string[] Domain names to check, e.g. ["example.com", "example.net"]. Max 10.
years integer (1–10) Registration term in years (default 1).
search_domains

Search for available domain names

Find domain names from a free-text idea, brand or phrase; a phrase yields short combinations of its words. top_picks answers "how does my name look": the name as typed (when its extension isn't .com/.net/.org) and the name on .com, .net and .org, or on each extension in tlds, with its real status, taken and unknown included, as check_domain reports it. suggestions are up to `limit` ranked names a live check found available, never repeating a top pick, with per-year prices in USD, premium names included unless include_premium is false; match is exact_sld or variation, and hack is true for a domain hack such as danger.zone. unchecked_names lists names whose check came back unknown, left_out counts why other names checked aren't suggested, and with tlds, each extension says why it found nothing. Search is advisory: confirm the chosen name with check_domain before quoting it, and a purchase checks again. Read-only, no side effects.

Parameter Type Description
query required string Free-text seed, e.g. "learning studio app", a bare SLD, or a full domain.
include_premium boolean false leaves premium names out of the suggestions (default true).
limit integer (1–25) Target number of suggestions (default 10).
max_price string Leave out suggestions whose first_term.total, the first term's price with the ICANN fee (what buying it costs), is above this USD amount, e.g. "25.00".
tlds string[] Optional TLDs to restrict the search to, e.g. ["com", "app", "io"]. The name on each becomes a top pick.
years integer (1–10) Registration term in years (default 1).
get_tld_requirements

Get an extension's prices and registration rules

Look up what OrbitFour charges and requires for domain extensions (TLDs): standard per-year registration, renewal, transfer and restore prices in USD plus the ICANN fee, the shortest and longest term, the fixed transfer term, whether WHOIS privacy is allowed, any eligibility restriction, whether browsers require HTTPS for its websites (https_required: .app, .dev), and JSON Schemas for what a registration must include (.us, for example, needs Nexus data on the registrant contact). Up to 10 extensions per call; read-only. These are standard prices: when premium_possible is true a particular name can cost more, so quote it with check_domain. An extension OrbitFour does not sell comes back as tld_not_found.

Parameter Type Description
tlds required string[] Extensions without the dot, e.g. ["us", "ai", "com"].
check_transfer

Check whether domains can be transferred in

Ask each name's registry whether it can be transferred to OrbitFour now (not locked, no transfer or delete pending) and quote the full first-term transfer price in USD: the per-year price plus the ICANN fee for the registry's transfer term. Up to 5 names per call; read-only. transferable is true, false, or null (the registry could not be asked just now; not the same as locked), and reasons says why: invalid_name, unsupported_tld, already_here, not_registered (nobody holds it, so register it instead), locked, pending_transfer, pending_delete, premium_over_cap, price_unconfirmed, unknown. The price is what the transfer would cost if it goes ahead. Never send a transfer authorization code here: the transfer itself asks for it.

Parameter Type Description
names required string[] Domain names, e.g. ["example.com"].

Your account

A second server works with your own account: list your domains, read and change DNS records, check your balance and billing history. It needs an API key, which an account owner creates under Account → API keys. The key's scopes decide which tools appear, and every tool returns what the matching REST endpoint returns.

Endpoint

https://www.orbitfour.com/mcp/account

Streamable HTTP, Authorization: Bearer o4_live_...

Claude Code

claude mcp add --transport http orbitfour-account https://www.orbitfour.com/mcp/account --header "Authorization: Bearer o4_live_..."

Cursor

{
  "mcpServers": {
    "orbitfour-account": {
      "headers": {
        "Authorization": "Bearer o4_live_..."
      },
      "url": "https://www.orbitfour.com/mcp/account"
    }
  }
}
Tool What it does Key scope
whoami Show the credential and its account any
list_domains List the account's domains domains:read
get_domain Get one domain domains:read
get_operation Get a paid operation's status domains:read
get_purchase_approval Get a purchase approval's status billing:write
list_dns_records List a domain's DNS records dns:read
create_dns_record Add a DNS record dns:write
update_dns_record Change a DNS record dns:write
delete_dns_record Delete a DNS record dns:write
list_contacts List the account's contacts contacts:read
get_contact Get one contact contacts:read
get_balance Get the prepaid balance account:read
list_transactions List billing transactions account:read
list_ledger_entries List prepaid balance movements account:read
list_invoices List invoices account:read
update_domain_settings Change auto-renew, its terms, or privacy domains:write
set_nameservers Replace a domain's nameservers domains:write
lock_domain Lock a domain against transfer domains:write
list_events List the account's recent events account:read
list_watchlist List the watchlist domains:read
add_to_watchlist Watch a domain name domains:write
remove_from_watchlist Stop watching a domain name domains:write
quote_registration Quote a domain registration domains:write billing:write
register_domain Register a domain (spends the balance) domains:write billing:write
quote_renewal Quote a domain renewal domains:write billing:write
renew_domain Renew a domain (spends the balance) domains:write billing:write
list_webhook_endpoints List webhook endpoints account:read
list_webhook_deliveries List a webhook endpoint's deliveries account:read

The tool list shows without a key; calling any tool, the public ones included, needs one. Write tools take an optional idempotency_key for safe retries.

Connect with OAuth

Hosted clients that can't hold a key sign in instead: add the endpoint as a custom connector, sign in to OrbitFour when asked, choose the account and what the client may do (read-only unless you tick more). A connected client can never spend money, move a domain away, read transfer codes or add webhooks, and you can sign it out under Settings → Signed-in apps & devices.

Buying through an agent

With a key that has domains:write and billing:write, an agent can register and renew: it asks for a quote, shows you the total, and buys exactly that with the quote's token. Purchases come from your prepaid balance only, never premium names, up to $100 a day per key unless you set a different limit when you create it, and every owner gets an email for each one. Transfers stay on the website and the REST API.

Good to know

  • Prices are per year, in USD. Before you treat a price as a quote, read min_years and pricing_source; the tool descriptions above explain both.
  • All three tools are read-only. They never register, reserve or hold a domain.
  • check_domain takes up to 10 names per call.
  • Requests are limited to 30 a minute per IP address, shared with the public REST endpoints. Claude and ChatGPT connectors reach us from their providers' shared addresses, which get a higher limit. Over the limit, the server answers HTTP 429 with a Retry-After header.
  • The tools return the same payloads as the REST endpoints /api/v1/domains/check and /api/v1/domains/search. Agents writing an integration should start with llms.txt.
  • The server speaks MCP 2026-07-28 and the 2025-03-26 through 2025-11-25 revisions. Every tool declares an outputSchema and its read-only annotations.
  • Our privacy policy covers this endpoint. Questions or problems: contact us.