Buy & manage domains from any AI chat: availability, register, DNS, email forwarding, AI bot stats.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Complete domain name with TLD, e.g. 'sweetcrumbs.com'
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Complete domain name with TLD, e.g. 'sweetcrumbs.com' |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "Complete domain name with TLD, e.g. 'sweetcrumbs.com'"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | A domain previously registered via register_new_domain. |
| records* | array | One or more DNS records to add or update. Existing records with the same type+name combination are replaced. |
{
"type": "object",
"required": [
"domain",
"records"
],
"properties": {
"domain": {
"type": "string",
"description": "A domain previously registered via register_new_domain."
},
"records": {
"type": "array",
"items": {
"type": "object",
"required": [
"type",
"name",
"value"
],
"properties": {
"ttl": {
"type": "number",
"description": "Time-to-live in seconds. Default: 3600 (1 hour). Use 300 while iterating during setup so changes propagate faster."
},
"name": {
"type": "string",
"description": "Subdomain, or '@' for the root domain. Examples: '@' (for yourdomain.com itself), 'www', 'api', 'mail'."
},
"type": {
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"TXT",
"SRV"
],
"type": "string",
"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."
},
"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."
},
"priority": {
"type": "number",
"description": "Priority for MX and SRV records only. Lower number = higher priority. Typical MX priority is 10."
}
}
},
"description": "One or more DNS records to add or update. Existing records with the same type+name combination are replaced."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | A domain previously registered via register_new_domain, e.g. 'sweetcrumbs.com'. |
| aliases | array | Specific forwarding rules instead of a catch-all. Each rule routes one address @domain to one destination inbox. |
| catch_all_to | string | Forward ALL emails sent to any address @domain to this inbox (e.g. '[email protected]'). Mutually exclusive with 'aliases' — use one or the other. |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "A domain previously registered via register_new_domain, e.g. 'sweetcrumbs.com'."
},
"aliases": {
"type": "array",
"items": {
"type": "object",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "Destination inbox to forward to, e.g. '[email protected]'"
},
"from": {
"type": "string",
"description": "Local part on your domain — 'hello' routes [email protected]"
}
}
},
"description": "Specific forwarding rules instead of a catch-all. Each rule routes one address @domain to one destination inbox."
},
"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."
}
}
}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?'.
| Argument | Type | Description |
|---|---|---|
| domain* | string | A domain previously registered via register_new_domain |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "A domain previously registered via register_new_domain"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| years | number | Registration period in years. Default: 1. Most TLDs allow 1-10 years. |
| domain* | string | Full domain name to register, e.g. 'sweetcrumbs.com'. Must first be verified free via check_domain_availability. |
| registrant* | object | Legal registrant for the domain. Appears in WHOIS (private by default where the TLD supports it) and receives ICANN verification and renewal emails. |
{
"type": "object",
"required": [
"domain",
"registrant"
],
"properties": {
"years": {
"type": "number",
"description": "Registration period in years. Default: 1. Most TLDs allow 1-10 years."
},
"domain": {
"type": "string",
"description": "Full domain name to register, e.g. 'sweetcrumbs.com'. Must first be verified free via check_domain_availability."
},
"registrant": {
"type": "object",
"required": [
"first_name",
"last_name",
"email"
],
"properties": {
"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."
},
"last_name": {
"type": "string",
"description": "Registrant's family name (required for WHOIS)"
},
"first_name": {
"type": "string",
"description": "Registrant's given name (required for WHOIS)"
}
},
"description": "Legal registrant for the domain. Appears in WHOIS (private by default where the TLD supports it) and receives ICANN verification and renewal emails."
}
}
}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?'.
| Argument | Type | Description |
|---|---|---|
| tlds | array | TLDs to search. Default: ['.com','.co','.io'] |
| keywords* | string | Business name or description, e.g. 'sweet crumbs bakery' |
| max_results | number | Max suggestions. Default: 8 |
{
"type": "object",
"required": [
"keywords"
],
"properties": {
"tlds": {
"type": "array",
"items": {
"type": "string"
},
"description": "TLDs to search. Default: ['.com','.co','.io']"
},
"keywords": {
"type": "string",
"description": "Business name or description, e.g. 'sweet crumbs bakery'"
},
"max_results": {
"type": "number",
"description": "Max suggestions. Default: 8"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| domain* | string | 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* | string | EPP / authorization code from the current registrar. Also called 'transfer secret', 'auth info', or 'domain secret' in some registrar UIs. |
{
"type": "object",
"required": [
"domain",
"auth_code"
],
"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."
}
}
}