Skip to main content
Glama

InstaDomain

instadomain-mcp MCP server

Domain registration for AI agents. Check availability, buy domains, and configure DNS without leaving your terminal.

InstaDomain is an MCP server that lets AI coding assistants (Claude Code, Cursor, Windsurf) register domains on your behalf. Pay with Stripe Checkout, Stripe MPP (Machine Payments Protocol via Shared Payment Tokens), or x402 (USDC on Base). Domains are registered in your name with Cloudflare DNS auto-configured.

Why?

You're building a project in Claude Code. You need a domain. Today you alt-tab to Namecheap, search, add to cart, fill out forms, configure DNS. That's 10 minutes of context-switching.

With InstaDomain, your AI agent checks availability, shows you the price, and buys it in one conversation. DNS is ready before you finish your next prompt.

Related MCP server: ClawDaddy MCP Server

Features

  • Check domains - single domain with pricing, bulk check up to 50, or AI-generated suggestions

  • Buy domains - Stripe checkout (card), Stripe MPP (autonomous fiat via Shared Payment Tokens), or x402 (USDC on Base, no signup required)

  • Automatic DNS - Cloudflare zone created with scoped API token returned to you

  • Your domain, your name - registered as your property, not ours

  • Transfer out anytime - EPP auth codes and domain unlock built in

  • Auto-renew - enabled by default, renew via Stripe

  • WHOIS privacy - enabled by default

MCP Tools

Tool

What it does

check_domain

Check availability + price for a single domain

check_domains_bulk

Check up to 50 domains at once

suggest_domains

Generate and check domain name ideas for a keyword

buy_domain

Purchase via Stripe checkout

buy_domain_mpp

Purchase via Stripe MPP (Shared Payment Tokens, fiat-native, no browser)

buy_domain_crypto

Purchase via x402 USDC payment

get_domain_status

Poll order status until complete

get_transfer_code

Get EPP auth code to transfer your domain away

unlock_domain

Remove registrar lock for transfers

renew_domain

Renew via Stripe

Quick Start

npx -y @smithery/cli@latest install @nach-dakwale/instadomain --client claude

Claude Code

Add to your MCP config:

{
  "mcpServers": {
    "instadomain": {
      "url": "https://instadomain.fly.dev/mcp/"
    }
  }
}

Cursor / Windsurf

Use the Streamable HTTP endpoint:

https://instadomain.fly.dev/mcp/

Example

You: Find me a domain for a coffee subscription service

Claude: Let me check some options...
        coffeecrate.com - $18.12 (available)
        brewbox.io - $52.49 (available)
        dailygrind.co - $35.99 (available)

You: Buy coffeecrate.com

Claude: I'll need your registration details...
        [collects name, email, address]

        Stripe checkout created. Complete payment here:
        https://checkout.stripe.com/...

        Domain registered! DNS zone created on Cloudflare.
        Your scoped API token: cf_...

Pricing

Wholesale cost + small flat markup per TLD. Examples:

TLD

Price

.com

~$18

.io

~$52

.dev

~$21

.co

~$36

.ai

~$99

Prices include 1-year registration and WHOIS privacy.

x402 Crypto Payments

InstaDomain accepts x402 payments in USDC on Base. No signup, no API keys. Your AI agent pays directly from a wallet.

This enables fully autonomous agents to register domains without human payment intervention.

MPP (Machine Payments Protocol)

InstaDomain implements Stripe's Machine Payments Protocol so agents can pay with fiat (cards, Link) or stablecoins via Shared Payment Tokens — no browser checkout, no human in the loop.

The flow:

  1. POST /buy/mpp to create an order — returns a pay_url.

  2. GET /pay/mpp/{order_id} with an MPP-enabled HTTP client. The first response is HTTP 402 with a WWW-Authenticate challenge. The client mints a Shared Payment Token via the advertised Stripe Business Network profile and retries with an Authorization header. The server charges the SPT through Stripe and returns the receipt in Authentication-Info.

REST API

InstaDomain also exposes a REST API for non-MCP integrations:

  • GET /check/{domain} - check availability + price

  • POST /check - bulk check (up to 50 domains)

  • GET /suggest?keyword=coffee - AI-generated domain suggestions

  • POST /buy - initiate Stripe purchase

  • POST /buy/mpp - initiate MPP (Shared Payment Token) purchase

  • GET /pay/mpp/{order_id} - 402-paywalled endpoint (MPP)

  • GET /status/{order_id} - check order status

  • POST /renew/{order_id} - renew a domain

Full API at https://instadomain.fly.dev/docs

FAQ

Do I actually own the domain? Yes. You are the legal registrant on record with OpenSRS (Tucows). InstaDomain is listed as admin/tech contact for service management, but you hold all ICANN rights. WHOIS privacy is on by default so your details stay private.

How does DNS get set up? After payment clears, InstaDomain automatically creates a Cloudflare DNS zone for your domain and returns a scoped API token. Your domain points at Cloudflare's nameservers and is ready to use. No manual configuration required on your end.

Can I transfer my domain to another registrar? Yes, anytime. Use get_transfer_code to get your EPP auth code and unlock_domain to remove the registrar lock, then initiate the transfer at your destination registrar. Note: ICANN requires a 60-day lock after initial registration before transfers are allowed.

What if I want to manage DNS somewhere other than Cloudflare? Update the nameservers at InstaDomain's registrar panel or contact support. The Cloudflare zone is set up for convenience, not as a lock-in.

Domains are registered through OpenSRS (Tucows). You are the legal registrant. InstaDomain is listed as admin/tech contact for service management only. Full ICANN rights apply, including the right to transfer your domain at any time.

License

MIT

Available Tools

9 tools
buy_domainA

Start the purchase flow for an available domain via Stripe checkout.

IMPORTANT: Before calling this tool, you MUST first call check_domain to get the price, then clearly show the user the price and get their explicit confirmation before proceeding. Never call buy_domain without the user seeing and approving the price first.

The registrant contact details are required because the domain will be registered in the buyer's name (they become the legal owner). WHOIS privacy is enabled by default, so these details are not publicly visible.

Creates a Stripe checkout session. Returns a checkout URL that the user should open in their browser to complete payment securely via Stripe, plus the order ID for tracking.

Inputs: domain (required), first_name (required), last_name (required), email (required), +7 more. Returns: object

buy_domain_cryptoA

Start the purchase flow for a domain using USDC crypto payment (x402 protocol).

This is a 2-step process for autonomous agent payments:

Step 1: Call this tool to get an order_id and pay_url. Step 2: Make an HTTP GET request to the pay_url. Your x402-enabled HTTP client will receive an HTTP 402 response with payment requirements, then automatically pay with USDC on Base. The payment and settlement happen via the x402 protocol (no browser or human needed).

After payment, call get_domain_status(order_id) to poll until complete.

Requires: An x402-compatible HTTP client with a funded USDC wallet on Base.

The registrant contact details are required because the domain will be registered in the buyer's name (they become the legal owner). WHOIS privacy is enabled by default, so these details are not publicly visible.

IMPORTANT: Before calling this tool, you MUST first call check_domain to get the price and confirm it with the user.

Inputs: domain (required), first_name (required), last_name (required), email (required), +7 more. Returns: object

check_domainA

Check if a domain is available for purchase and get its price.

Always call this before buy_domain. Show the user the price_display value (e.g. "$18.12") and confirm they want to proceed before buying.

Inputs: domain (required). Returns: object

check_domains_bulkA

Check availability of up to 50 domain names in one call.

Uses fast RDAP lookups (no pricing). Returns a summary with total/available/taken counts plus per-domain details.

Inputs: domains (required). Returns: object

get_domain_statusA

Get the status of a domain purchase order.

Polls the backend every 3 seconds (up to 120 seconds) until the order reaches a terminal state (complete or failed).

Inputs: order_id (required). Returns: object

get_transfer_codeA

Get the EPP/transfer authorization code for a completed domain purchase.

Inputs: order_id (required). Returns: object

renew_domainA

Renew a domain for 1 additional year.

Creates a Stripe checkout session for the renewal payment.

Inputs: order_id (required). Returns: object

suggest_domainsA

Generate domain name ideas from a keyword and check their availability.

Inputs: keyword (required). Returns: object

unlock_domainB

Remove the registrar transfer lock from a completed domain purchase.

Inputs: order_id (required). Returns: object

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct function: checking availability, purchasing via two payment methods, polling order status, retrieving transfer codes, renewing, suggesting names, and unlocking. No functional overlap.

    Naming Consistency5/5

    All tools follow a consistent snake_case verb_noun pattern (e.g., check_domain, buy_domain, get_domain_status). Minor pluralization in check_domains_bulk is acceptable.

    Tool Count5/5

    9 tools cover the domain lifecycle—check, buy, renew, unlock, transfer code, suggestions—without unnecessary redundancy. The scope is well-balanced.

    Completeness4/5

    Core operations (check, purchase, renew, unlock, transfer code) are present. Missing DNS management or contact update tools, but these are atypical for a basic domain registrar MCP server.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers