Domainee Docs

MCP server (use Domainee from AI tools)

Connect Claude Desktop, Cursor, or any MCP client to manage your domains in natural language.

Domainee ships a Model Context Protocol server at https://mcp.domainee.dev/mcp. Once you wire it into your AI client, prompts like "list my failing domains and tell me which DNS records are wrong" or "redirect shop.acme.com to https://acme-store.fly.dev" just work — the model calls the same REST API as your code, scoped to the same workspace as your API key.

Setup

You need:

  1. An API key from the Developers page (sk_live_…).
  2. An MCP-aware client: Claude Desktop, Cursor, Cline, etc.

Claude Desktop / Cursor

Add to your claude_desktop_config.json (Claude Desktop) or mcp.json (Cursor):

{
  "mcpServers": {
    "domainee": {
      "url": "https://mcp.domainee.dev/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

Restart the app. Domainee's tools should appear in the MCP tools list, ready to call.

From a script (raw JSON-RPC)

Each tool call is a single HTTP POST. Useful for automation:

curl https://mcp.domainee.dev/mcp \
  -H "Authorization: Bearer $DOMAINEE_API_KEY" \
  -H "content-type: application/json" \
  -H "accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "list_domains",
      "arguments": { "status": "verified" }
    }
  }'

What the model can do

Eleven tools across three resource groups, all backed by the same REST API documented under API Reference.

Domains

ToolWhat it does
list_domainsPaginated list with optional status filter
get_domainFetch a single domain by id
create_domainRegister a new customer hostname
update_domainChange originUrl / mode / redirect flags
delete_domainStop routing a hostname
check_domainForce an immediate DNS / SSL probe

Webhook endpoints

ToolWhat it does
list_webhook_endpointsList endpoints (secrets stripped)
create_webhook_endpointRegister a new HTTPS endpoint, returns the signing secret once
delete_webhook_endpointStop sending events to an endpoint

DNS checks

ToolWhat it does
dns_check_records_exist"At least one DNS value matches" — for verifying customer CNAMEs
dns_check_records_match_exactlyStricter: every returned value must match (no extras)

Things to try

  • "List my domains and tell me which ones have monitor status dns_incorrect."
  • "Create a domain shop.acme.com proxying to https://acme-store.fly.dev and turn on the www variant."
  • "For each pending domain, check its DNS and tell me whether the customer published the right CNAME."
  • "Delete every domain whose hostname starts with test-."
  • "Set up a webhook to https://my-app.com/webhooks/domainee for verification + failure events."

The model will pick the right tool, fill in the arguments, and surface the API response back to you — including any errors (e.g. 402 billing_required if the workspace doesn't have a payment method on file, 409 conflict if the hostname is already taken).

Auth model

Every MCP request includes your Authorization: Bearer sk_live_… header. The MCP server forwards that token verbatim to api.domainee.dev/v1/*. Auth, rate limits, and the billing gate run on the API server — the MCP layer keeps no state.

That means:

  • Your token = your access. Don't paste it into shared chat threads.
  • Rate limits (60 req/min per key by default — see Errors → Rate limits) apply to MCP traffic the same way they apply to direct API calls.
  • 402 / 429 / 401 errors surface in the AI client as tool failures, so the model can decide whether to retry, ask you to add a card, etc.

Limitations

  • HTTP transport only. No stdio mode — the auth model is "pass a Bearer header per request", not "spawn a process per user".
  • Tool results are stringified JSON. Long lists of domains expand the model's context; if you hit context limits, ask it to filter server-side (status: "failed", limit: 20, etc.) instead of fetching everything and slicing client-side.
  • Read + write parity with the REST API. Anything the API doesn't expose (analytics, per-domain bandwidth) isn't available via MCP yet either. File a feature request if you need it.

Source

The MCP server source is part of the Domainee monorepo at mcp-server/ — each tool is a small file under src/tools/. PRs welcome if you want to add a tool we don't expose yet.

On this page