Skip to main content
Glama

Add a custom domain

websiteDomains_createCustomDomain

Claims hostname for this website and registers it with the Cactal edge. Custom domains must first be enabled for the website (websiteDomains.setEnabled, owner-only — enabling is the billing moment); the request fails with 403 custom_domains_disabled otherwise. Adding or removing domains on an enabled website never changes billing. The domain is created in pending_dns status, and the returned dnsRecords list exactly what to create at your DNS provider: an ownership TXT record on _cactal.<hostname> plus a routing record (a CNAME for subdomains or an A record for apex domains). Hostnames must be lowercase ASCII domains (not IP addresses or Cactal platform hosts), each website can have at most 10 custom domains, and a hostname can be claimed by only one website; claims that never verify expire after 7 days. After creating the records, call the verify endpoint or wait for the automatic re-checks.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "websiteId": "<websiteId>",
      "hostname": "<hostname>"
    },
    "name": "websiteDomains_createCustomDomain"
  }
}

Input Schema

NameRequiredDescriptionDefault
hostnameYes
websiteIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes far beyond the annotations (which only say non-read-only, open-world, non-idempotent, non-destructive). It discloses the created `pending_dns` status, the exact returned `dnsRecords` (TXT on `_cactal.<hostname>`, CNAME or A), billing semantics, the 10-domain cap, one-site-per-hostname ownership, and 7-day expiry of unverified claims.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but well-structured, with the core action front-loaded and constraints grouped in the same paragraph. The billing parenthetical is useful but slightly tangential; overall no sentence is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, yet the description explains the returned DNS records, the resulting status, and what to do next. Every behavioral detail an agent needs to call and follow up correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must carry parameter meaning entirely. It does: `hostname` gets format rules (lowercase ASCII, not IP or Cactal platform hosts), uniqueness constraints, and per-website limits, while `websiteId` is implied by 'this website'. This fully compensates for the undocumented schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb-and-resource pair: claims a `hostname` for a website and registers it with the Cactal edge. It is clearly separable from siblings like `websiteDomains_verifyCustomDomain` and `websiteDomains_list` without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the prerequisite (`websiteDomains.setEnabled`, owner-only), the failure mode when unmet (403 `custom_domains_disabled`), and the follow-up path (`verify` endpoint or automatic re-checks). An agent has no ambiguity about when and in what order to call this.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources