A domain registrar wrapped as an MCP server, backed by OpenSRS/Tucows. Your AI can check availability, register domains, configure DNS records with presets for Vercel and Netlify, set up email forwarding without touching MX records, and pull 30-day reports of which AI crawlers hit your site. Available as a hosted endpoint at mcpdomain.ai/mcp or installable via npm for stdio. The whole checkout flow happens in chat: you ask for a domain, Claude returns a Stripe link, and post-payment the agent configures DNS and email automatically. Useful when you want to grab a domain without context-switching to a registrar dashboard.
claude mcp add --transport http mcpdomain https://mcpdomain.ai/mcpRun in your terminal. Add --scope user to make it available in every project.
Review the command, arguments, and environment values before installing — MCP servers run with your local permissions.
Verified live against the running server on Jun 10, 2026.
check_domain_availabilityCheck whether a specific internet domain name is available for registration. Returns availability status, price, and alternatives if taken. WHEN TO USE: user asks 'is X.com available?' or 'can I register Y.io?'. ALWAYS call this before register_new_domain.1 paramsCheck whether a specific internet domain name is available for registration. Returns availability status, price, and alternatives if taken. WHEN TO USE: user asks 'is X.com available?' or 'can I register Y.io?'. ALWAYS call this before register_new_domain.
domain*stringsuggest_available_domainsGenerate creative domain name suggestions from keywords or business description, with real-time availability checks. WHEN TO USE: user says 'help me find a domain for my bakery' or 'what domain should I use for X?'.3 paramsGenerate creative domain name suggestions from keywords or business description, with real-time availability checks. WHEN TO USE: user says 'help me find a domain for my bakery' or 'what domain should I use for X?'.
tldsarraykeywords*stringmax_resultsnumberregister_new_domainRegister a new domain. Returns a Stripe checkout URL for payment. After payment, domain is registered with FREE email forwarding, DNS, and AI bot monitoring. ALWAYS call check_domain_availability first. Collect first_name, last_name, email from user before calling.3 paramsRegister a new domain. Returns a Stripe checkout URL for payment. After payment, domain is registered with FREE email forwarding, DNS, and AI bot monitoring. ALWAYS call check_domain_availability first. Collect first_name, last_name, email from user before calling.
yearsnumberdomain*stringregistrant*objectconfigure_domain_emailSet up email forwarding for a registered domain. Forward any@domain to Gmail/Outlook. No MX records needed. WHEN TO USE: user just registered a domain, or asks about professional email.3 paramsSet up email forwarding for a registered domain. Forward any@domain to Gmail/Outlook. No MX records needed. WHEN TO USE: user just registered a domain, or asks about professional email.
domain*stringaliasesarraycatch_all_tostringconfigure_domain_dnsAdd/update DNS records (A, CNAME, MX, TXT). Use to point domain to Vercel, Netlify, GitHub Pages etc. WHEN TO USE: user wants to connect domain to hosting.2 paramsAdd/update DNS records (A, CNAME, MX, TXT). Use to point domain to Vercel, Netlify, GitHub Pages etc. WHEN TO USE: user wants to connect domain to hosting.
domain*stringrecords*arrayget_my_domain_detailsLook up the registration status of a domain you previously registered through MCPDomain. Returns: registered_at, expires_at, current nameservers, and email-forwarding status (active / pending verification / pending NS propagation / etc). WHEN TO USE: user asks 'is my domain re...1 paramsLook up the registration status of a domain you previously registered through MCPDomain. Returns: registered_at, expires_at, current nameservers, and email-forwarding status (active / pending verification / pending NS propagation / etc). WHEN TO USE: user asks 'is my domain re...
domain*stringtransfer_existing_domainTransfer a domain from another registrar (GoDaddy, Namecheap etc) to MCPDomain. Requires EPP/auth code. Transfer takes 5-7 days and adds 1 year to expiry.2 paramsTransfer a domain from another registrar (GoDaddy, Namecheap etc) to MCPDomain. Requires EPP/auth code. Transfer takes 5-7 days and adds 1 year to expiry.
domain*stringauth_code*stringBuy and manage internet domains from inside any AI chat.
MCPDomain is the first domain registrar exposed as a Model Context Protocol server. Ask Claude, ChatGPT, or Cursor to find a domain — they can check availability, register it, set up free email forwarding, configure DNS, and show you which AI bots are crawling it, all without leaving the chat.
Hosted endpoint:
https://mcpdomain.ai/mcp— plug into any remote-MCP-capable client, no install needed. Local stdio:npm install -g mcpdomain— see below.
You: Find me a .com for a sourdough bakery in Brooklyn.
Claude: sweetcrumbs.com is taken, but these are available:
- brooklynsourdough.com — $14.99
- crumbsbrooklyn.com — $14.99
- doughbk.com — $14.99
Want me to register one?
You: Yes, brooklynsourdough.com, and forward hello@ to my gmail.
Claude: Here's your checkout link: https://mcpdomain.ai/c/ord_abc123
Once you pay, I'll set up email forwarding automatically.
That's the entire flow. No registrar UI, no DNS dashboard, no MX-record copy-paste.
hello@yourdomain.com → your existing
inbox. No mail server. No MX setup.| Tool | What it does |
|---|---|
check_domain_availability | Is this exact name free? What's it cost? |
suggest_available_domains | Brandable name ideas, real-time verified. |
register_new_domain | Start a registration, returns a Stripe checkout URL. |
configure_domain_email | Catch-all or per-alias email forwarding. |
configure_domain_dns | A / CNAME / MX / TXT, with presets for common hosts. |
get_my_domain_details | Status, expiry, DNS, email forwards, AI-bot stats. |
transfer_existing_domain | Move a domain in from another registrar. |
Tool prompts (the text the LLM actually reads) live in
mcp-server/src/tool-descriptions.ts.
Point any remote-MCP-capable client at:
https://mcpdomain.ai/mcp
No install. No keys.
npm install -g mcpdomain
Claude Desktop — edit your claude_desktop_config.json:
{
"mcpServers": {
"mcpdomain": {
"command": "npx",
"args": ["-y", "mcpdomain"]
}
}
}
Cursor — Settings → MCP → Add:
{
"mcpdomain": {
"command": "npx",
"args": ["-y", "mcpdomain"]
}
}
OpenClaw — one line, via McPorter:
npm install -g mcporter
mcporter install mcpdomain --target openclaw
That writes the server to ~/.openclaw/workspace/config/mcporter.json
automatically. If you prefer editing it manually, drop the same
mcpServers block from the Claude Desktop snippet above into that file.
More client recipes are in the npm README.
Claude / ChatGPT / Cursor
│ MCP
▼
mcpdomain (stdio package)
│ HTTPS
▼
mcpdomain.ai (Cloudflare Worker + D1)
│ XML API
▼
OpenSRS / Tucows registrar
Most of the logic — orders, Stripe checkout, DNS, email forwarding, bot-intel logging — lives in the Cloudflare Worker, not in the local package. That keeps the npm install tiny and the client free of API keys.
Source layout:
mcp-server/ ← the npm package (this is `mcpdomain` on npm)
src/ ← TypeScript source
Dockerfile ← container build for HTTP transport
worker/ ← Cloudflare Worker (server-side)
src/ ← endpoints, admin dashboard, OpenSRS adapter
migrations/ ← D1 schema
git clone https://github.com/danboabes/mcpdomain.git
cd mcpdomain/mcp-server
npm install
npm run dev # runs the MCP server over stdio via tsx
To run the HTTP transport locally:
npm run dev:http
The MCP Inspector from Anthropic is the fastest way to poke at tools while iterating.
Prices the agent quotes are what you pay at checkout — wholesale + a small flat margin, no "first year free" bait, no auto-renew price hikes. Current TLD prices are on mcpdomain.ai.
Whois privacy is on by default wherever the TLD supports it. The bot-intel feature logs AI crawler traffic only, never visitor PII. Payments go through Stripe — we never see card details.
MIT — see LICENSE.
https://mcpdomain.ai/mcpOPENSRS_MODEdefault: mockOperation mode: 'mock' for testing (default) or 'live' for real OpenSRS API calls.
OPENSRS_USERNAMEsecretOpenSRS reseller username (only required in live mode).
OPENSRS_KEYsecretOpenSRS API key (only required in live mode).
io.github.mindstone/mcp-server-microsoft-teams
com.mintmcp/outlook-email
helbertparanhos/resend-email-mcp
marlinjai/email-mcp
io.github.mindstone/mcp-server-email-imap
io.github.osamahassouna/email-playbook-mcp