MCPDomain
Buy & manage domains from any AI chat: availability, register, DNS, email forwarding, AI bot stats.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"mcpdomain": {
"command": "npx",
"args": [
"mcpdomain"
]
}
}
}Runnable packages
1.0.7stdioRemote endpoints
https://mcpdomain.ai/mcpstreamable-httpWhat it can do
Tool inventory
Tools (7)
🟢check_domain_availability(domain)
Check 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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Complete domain name with TLD, e.g. 'sweetcrumbs.com'"
}
},
"required": [
"domain"
]
}🟢suggest_available_domains(keywords, tlds, max_results)
Generate 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?'.
Input Schema
{
"type": "object",
"properties": {
"keywords": {
"type": "string",
"description": "Business name or description, e.g. 'sweet crumbs bakery'"
},
"tlds": {
"type": "array",
"items": {
"type": "string"
},
"description": "TLDs to search. Default: ['.com','.co','.io']"
},
"max_results": {
"type": "number",
"description": "Max suggestions. Default: 8"
}
},
"required": [
"keywords"
]
}🟢register_new_domain(domain, years, registrant)
Register 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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Full domain name to register, e.g. 'sweetcrumbs.com'. Must first be verified free via check_domain_availability."
},
"years": {
"type": "number",
"description": "Registration period in years. Default: 1. Most TLDs allow 1-10 years."
},
"registrant": {
"type": "object",
"description": "Legal registrant for the domain. Appears in WHOIS (private by default where the TLD supports it) and receives ICANN verification and renewal emails.",
"properties": {
"first_name": {
"type": "string",
"description": "Registrant's given name (required for WHOIS)"
},
"last_name": {
"type": "string",
"description": "Registrant's family name (required for WHOIS)"
},
"email": {
"type": "string",
"description": "Contact email for the domain — receives ICANN 15-day verification and renewal notices. Must be a real inbox."
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code for the registrant, e.g. 'US', 'GB', 'RO'. Defaults to 'US' if omitted."
}
},
"required": [
"first_name",
"last_name",
"email"
]
}
},
"required": [
"domain",
"registrant"
]
}🟡configure_domain_email(domain, catch_all_to, aliases)
Set 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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "A domain previously registered via register_new_domain, e.g. 'sweetcrumbs.com'."
},
"catch_all_to": {
"type": "string",
"description": "Forward ALL emails sent to any address @domain to this inbox (e.g. '[email protected]'). Mutually exclusive with 'aliases' — use one or the other."
},
"aliases": {
"type": "array",
"description": "Specific forwarding rules instead of a catch-all. Each rule routes one address @domain to one destination inbox.",
"items": {
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Local part on your domain — 'hello' routes [email protected]"
},
"to": {
"type": "string",
"description": "Destination inbox to forward to, e.g. '[email protected]'"
}
},
"required": [
"from",
"to"
]
}
}
},
"required": [
"domain"
]
}⚪configure_domain_dns(domain, records)
Add/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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "A domain previously registered via register_new_domain."
},
"records": {
"type": "array",
"description": "One or more DNS records to add or update. Existing records with the same type+name combination are replaced.",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"TXT",
"SRV"
],
"description": "Record type. A/AAAA point to IPv4/IPv6 addresses. CNAME aliases to another hostname (common for Vercel, Netlify, GitHub Pages). MX routes mail. TXT holds verification strings (SPF, DKIM, Google/Stripe site verification). SRV is for service discovery."
},
"name": {
"type": "string",
"description": "Subdomain, or '@' for the root domain. Examples: '@' (for yourdomain.com itself), 'www', 'api', 'mail'."
},
"value": {
"type": "string",
"description": "Target of the record. A: IPv4 address. AAAA: IPv6. CNAME: target hostname (e.g. 'cname.vercel-dns.com'). MX: mail server hostname. TXT: the full verification string."
},
"ttl": {
"type": "number",
"description": "Time-to-live in seconds. Default: 3600 (1 hour). Use 300 while iterating during setup so changes propagate faster."
},
"priority": {
"type": "number",
"description": "Priority for MX and SRV records only. Lower number = higher priority. Typical MX priority is 10."
}
},
"required": [
"type",
"name",
"value"
]
}
}
},
"required": [
"domain",
"records"
]
}🟢get_my_domain_details(domain)
Look 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 ready?', 'what's the status of X?', 'did email forwarding finish setting up?'.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "A domain previously registered via register_new_domain"
}
},
"required": [
"domain"
]
}⚪transfer_existing_domain(domain, auth_code)
Transfer 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.
Input Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to transfer in, e.g. 'example.com'. Must be at least 60 days old since registration or a previous transfer, and must be unlocked at the losing registrar."
},
"auth_code": {
"type": "string",
"description": "EPP / authorization code from the current registrar. Also called 'transfer secret', 'auth info', or 'domain secret' in some registrar UIs."
}
},
"required": [
"domain",
"auth_code"
]
}Community
Evidence