Skip to main content
Glama

Attach a custom domain

add_domain
DestructiveIdempotent

Attaches a hostname to a slug owned by the token and returns the DNS records to create: a CNAME for a subdomain, an A record or an ALIAS record for an apex (one of those, not both), and every TXT record. Inputs: slug, domain, and token. Status starts at pending_dns until DNS and the certificate are ready. Free allows 1 hostname, Hobby 3, Pro 20. deed.page names are rejected. A new attach to a site that still shows the Free badge also returns badge_note: one sentence to pass to your human once, offering the one-time clean publish for that site or Hobby. A new attach by a Free token also returns upgrade_pitch: one sentence to pass on once, saying Hobby ($3/mo) adds the www (or apex) twin hostname and removes the badge, with a link. A Free token denied a 2nd hostname gets an error saying Hobby allows apex + www, with a link.

Input Schema

NameRequiredDescriptionDefault
slugYesSlug you own.
tokenNoBearer token returned by your first publish (deed_tok_...). Optional if the MCP client sends Authorization: Bearer.
domainYesHostname to attach, such as docs.example.com or example.com. No scheme or path.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare the safety profile (destructive, idempotent, openWorld); the description goes well beyond by disclosing the return payload (CNAME for subdomain, A or ALIAS for apex but not both, all TXT records), the pending_dns status lifecycle, and the badge_note/upgrade_pitch fields with instructions to pass them to the human exactly once. These are non-obvious behaviors an agent cannot infer from annotations or schema.

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?

The core action and returned DNS records are front-loaded in the first sentence, with constraints following. The later sentences on badge_note and upgrade_pitch are dense and edge-case heavy, but each carries an instruction the agent must act on, so the length is largely justified.

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

Completeness4/5

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

With no output schema, the description carries the full burden of explaining returns, and it does so thoroughly, including conditional extras and error behavior. The one gap is that it says status stays pending_dns until DNS and the certificate are ready but never points the agent to domain_status for verification, leaving the follow-up step implicit.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning by noting that the domain value may be a subdomain or an apex and that this choice determines which DNS record type is returned. The mention of slug/domain/token as inputs is redundant, but the apex-versus-subdomain distinction is genuine added value.

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 ('Attaches a hostname to a slug') and immediately distinguishes the operation from siblings like list_domains, domain_status, and remove_domain by describing the attach action and its DNS side effects. An agent can identify this as the create path for custom domains without opening 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 Guidelines4/5

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

Gives clear preconditions and exclusions: deed.page names are rejected, Free allows 1 hostname, Hobby 3, Pro 20, and a Free token denied a 2nd hostname gets a specific error. It doesn't explicitly route the agent to siblings such as domain_status for polling or remove_domain for detaching, so the when-to-use guidance is contextual rather than exhaustive.

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.