MCP Server

Custom Domains API,
driven by your AI agent.

Drop one config block into Claude Desktop, Cursor, or Claude Code and your agent can list, create, verify, and debug custom domains in plain English. Same Bearer key your code uses.

Free up to 50 custom domains. No card required.

11
tools shipped in v1
6
MCP-aware clients work today
1
Bearer key for code + agent
$0
MCP costs zero on top

Trusted by teams building the future of SaaS

  • Common Ninja
  • Embeddable
  • Vidocu
  • Brackets Ninja

Why a Custom Domains MCP

Same surface, two front doorsREST + MCP

Every endpoint your code calls is also an MCP tool. Auth, rate limits, billing gates — identical on both paths. Your agent inherits everything your backend can already do.

Hosted, stateless, securemcp.domainee.dev

Nothing to deploy. The MCP server is a thin proxy that forwards Bearer-authed calls to api.domainee.dev. Revoking the key at /developers kills the agent's access instantly.

Built for the AI builder workflowCursor + Claude

You're already coding in Cursor or Claude Code. Point your agent at the MCP server and let it provision domains, debug DNS, and draft support replies in the same chat.

Why we shipped MCP: the AI clients that ship your code (Cursor, Claude Code) are now the same place you debug your customer's broken DNS. Without an MCP, the agent guesses. With one, it's reading live state from your workspace.

Setup · 30 seconds

One config block. Eleven tools.

Drop the JSON below into your AI client's MCP config and restart. The eleven tools below are available in your next conversation.

Step 1 — paste in claude_desktop_config.json

Bearer key, hosted URL

Same shape works for Cursor, Claude Code, Continue, Cline. Check your client's docs for the exact config file path.

claude_desktop_config.json
{
  "mcpServers": {
    "domainee": {
      "url": "https://mcp.domainee.dev/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_…"
      }
    }
  }
}
Step 2 — talk to your domains

Prompts that work today

Five real workflows we use ourselves. Each one chains multiple tools without you naming them.

prompts
> "Show me every domain in pending status.
   For each, run a DNS check and tell me
   what's wrong in one line."

> "Onboard hello.acmecorp.com pointing at
   acme-prod.fly.dev. Save customer id
   'acct_77721' in metadata."

> "Customer says shop.acmecorp.com isn't
   working. Check it and explain."

> "Register a webhook at https://abc.ngrok.app
   /webhooks/domainee subscribed to all events.
   Show me the signing secret."

> "List every domain, group by status, flag
   the ones with monitor warnings."

The eleven tools, by group

Domains, webhook endpoints, DNS checks. No billing or team-management tools — those stay human-only for now.

Domains
  • list_domains

    Paginated list, status + hostname filters

  • get_domain

    Fetch one domain by id

  • create_domain

    Register a customer hostname, return the CNAME

  • update_domain

    Change originUrl, proxy mode, redirect settings

  • delete_domain

    Stop routing a hostname

  • check_domain

    Force an immediate DNS + SSL probe

Webhooks
  • list_webhook_endpoints

    Every endpoint in the workspace

  • create_webhook_endpoint

    Returns the HMAC signing secret

  • delete_webhook_endpoint

    Remove one

DNS
  • dns_check_records_exist

    At least one record matches the expected value

  • dns_check_records_match_exactly

    Strict — every record value matches, no extras

Who drives Domainee from their agent

The MCP server matters most for teams whose day already lives in an AI client.

Developers in Cursor / Claude Code

Ask your editor agent to register a customer's hostname, debug their DNS, and update the metadata — without switching tabs to the dashboard.

Support engineers

'My domain isn't working' becomes one prompt. The agent fetches the domain, runs a DNS check, reads the monitor message, and drafts the reply.

Indie devs shipping a SaaS

No dashboard built yet? Run customer onboarding from a Claude chat. The agent provisions the hostname, you paste the CNAME into your customer's email.

Platforms with internal agents

Already running a homegrown LangChain or Mastra agent? Drop the Domainee MCP into your toolbox and your agent's custom-domain skills come for free.

FAQ

Frequently asked

What can an AI agent actually do with Domainee MCP?
Anything your code can do via the REST API. List domains, create new ones, force DNS rechecks, manage webhook endpoints, run DNS validation. The MCP server is a thin proxy — same Bearer auth, same rate limits, same workspace.
Which AI clients support MCP?
Claude Desktop, Cursor, Claude Code, Continue, Cline, and a growing number of others. Any client that speaks the Model Context Protocol over HTTP can connect with a single config block.
How do I authenticate?
Same Bearer token you use with the REST API. Mint one at /developers, paste it into your AI client's MCP config, restart. Revoking the key at /developers immediately kills the agent's access.
Can my agent accidentally spend money?
Only on domain registration via the Buy-a-Domain API — which we deliberately kept off the v1 MCP tool surface. List, check, create-on-free-tier, debug DNS: all safe. Buy-a-domain ships in MCP later, with a confirmation step the agent must surface to a human.
Is the MCP server hosted, or do I run it myself?
Hosted at https://mcp.domainee.dev/mcp. Nothing to deploy. The server is stateless — every tool call is a forwarded REST request to api.domainee.dev with your Bearer token.
Does this cost extra?
No. MCP is bundled with every Domainee account, including the free tier. Tool calls are counted as API calls against the same rate limits and the same domain/bandwidth quota.
Is there a usage cap on MCP calls?
Same per-key rate limits as the REST API. The MCP transport adds no extra throttling. If your agent rate-limits itself, our limits won't be the bottleneck.
What happens to webhooks when an agent creates a domain?
Same webhooks fire as when your code creates a domain — domain.verified, domain.monitor_updated, domain.failed. Your backend doesn't need to know whether the request came from code or an agent.

Still have questions? Ask our team →

Ship custom domains from your AI agent.

Mint an API key, drop the MCP config block in your AI client, ask “list my domains”. Free up to 50 customer hostnames.