Koskamo

MCPDomain MCP

An MCP server that allows AI agents to check domain availability, register new domains, configure email forwarding, manage DNS records, and view AI bot crawling statistics. It integrates with Stripe for payments and provides a hosted endpoint or self-hosted option.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

MCPDomain MCP logo, by MCPDomainCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by MCPDomain
You need:Registration and configuration require a free MCPDomain account.
MCP endpoint (Streamable HTTP)
https://mcpdomain.ai/mcp
Vendor documentation

What its tools do

7 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

7 of 7 have a description · 0 of 7 declare behavior hints · 7 of 7 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Warning Advertises resources/templates/list but does not implement it
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Check domain availability and get pricing
  • Register new domains via Stripe checkout
  • Configure email forwarding and DNS records
  • View AI bot crawling intelligence for domains

Source and maintenance

Community listingRegistry 1.0.7
Maintenance checked

Protocol and capabilities

Server
mcpdomain 1.0.7
MCP protocol negotiated in check
2025-03-26
Tools
7 advertised
Resources
2 advertised
Resource templates
Not advertised
Prompts
3 advertised
Server-advertised capabilities
{
  "tools": {},
  "prompts": {},
  "resources": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

MCPDomain is the first domain registrar built for AI agents. Use the 7 tools to check availability, register domains, configure email forwarding, and manage DNS — all inside the conversation. Three prompts (brainstorm_domain_names, domain_audit, connect_to_vercel) provide guided workflows. Two resources expose static reference data (TLD pricing list, email-forwarding guide).

Tools

7 advertised

check_domain_availability
Advertised by the server during the last successful anonymous check.

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.

check_domain_availability input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "Complete domain name with TLD, e.g. 'sweetcrumbs.com'"
    }
  }
}
suggest_available_domains
Advertised by the server during the last successful anonymous check.

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?'.

suggest_available_domains input schema
{
  "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"
    }
  }
}
register_new_domain
Advertised by the server during the last successful anonymous check.

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.

register_new_domain input schema
{
  "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."
    }
  }
}
configure_domain_email
Advertised by the server during the last successful anonymous check.

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.

configure_domain_email input schema
{
  "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. 'you@gmail.com'"
          },
          "from": {
            "type": "string",
            "description": "Local part on your domain — 'hello' routes hello@yourdomain.com"
          }
        }
      },
      "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. 'you@gmail.com'). Mutually exclusive with 'aliases' — use one or the other."
    }
  }
}
configure_domain_dns
Advertised by the server during the last successful anonymous check.

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.

configure_domain_dns input schema
{
  "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."
    }
  }
}
get_my_domain_details
Advertised by the server during the last successful anonymous check.

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?'.

get_my_domain_details input schema
{
  "type": "object",
  "required": [
    "domain"
  ],
  "properties": {
    "domain": {
      "type": "string",
      "description": "A domain previously registered via register_new_domain"
    }
  }
}
transfer_existing_domain
Advertised by the server during the last successful anonymous check.

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.

transfer_existing_domain input schema
{
  "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."
    }
  }
}

Prompts

3 advertised

brainstorm_domain_names

Advertised by the server during the last successful anonymous check.

Brainstorm brandable domain names for a business idea and verify each one for real-time availability via MCPDomain.

business_idea
Short description of the business or product, e.g. 'sourdough bakery in Brooklyn' (required)
style
Optional style hint: 'playful', 'corporate', 'short', 'made-up-word'
domain_audit

Advertised by the server during the last successful anonymous check.

Full audit of a domain registered through MCPDomain — registration status, nameservers, DNS, email forwarding, and AI-bot crawler stats.

domain
The domain to audit, e.g. 'sweetcrumbs.com' (required)
connect_to_vercel

Advertised by the server during the last successful anonymous check.

Point a registered domain at a Vercel project — sets up the correct A and CNAME records and explains the Vercel-side steps.

domain
The domain to connect, e.g. 'sweetcrumbs.com' (required)
vercel_project
Optional Vercel project name to mention in the explanation

Resources

2 advertised

Supported TLDs and pricing

Advertised by the server during the last successful anonymous check.

Full list of TLDs MCPDomain can register, with retail USD price per year and minimum registration period.

Supported TLDs and pricing URI
mcpdomain://pricing/tlds

MIME type: application/json

Email forwarding guide

Advertised by the server during the last successful anonymous check.

How MCPDomain's free email forwarding works — catch-all vs aliases, MX handling, ICANN verification, and how to send mail as your domain.

Email forwarding guide URI
mcpdomain://docs/email-forwarding

MIME type: text/markdown

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
711 ms
95th percentile latency
711 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 711 ms · metadata changed · 7 tool(s), 2 resource(s), 3 prompt(s); warnings: Advertises resources/templates/list but does not implement it

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http mcpdomain-mcp https://mcpdomain.ai/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add mcpdomain-mcp --url https://mcpdomain.ai/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable mcpdomain-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "mcpdomain-mcp": {
      "url": "https://mcpdomain.ai/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "mcpdomain-mcp": {
      "type": "streamableHttp",
      "url": "https://mcpdomain.ai/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start mcpdomain-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "mcpdomain-mcp": {
      "type": "http",
      "url": "https://mcpdomain.ai/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http mcpdomain-mcp https://mcpdomain.ai/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcpdomain.ai/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "mcpdomain-mcp": {
      "serverUrl": "https://mcpdomain.ai/mcp"
    }
  }
}

Let your agent find its tools

Find servers like MCPDomain MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.