AgentDomains MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENTDOMAINS_API_KEY | No | Your API key (adom_…). Falls back to `api_key` in `~/.agentdomains/config.json`. | |
| AGENTDOMAINS_API_URL | No | Override the API base URL. Defaults to https://api.agentdomains.co. | https://api.agentdomains.co |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_availabilityA | Check whether a subdomain label is free before claiming it. Requires no API key. Returns { label, domain, fqdn, available, reason } where reason is 'available', 'taken', or 'invalid' (with a 'detail' explaining why the label is not usable). |
| signupA | Create a new AgentDomains account and get an API key. Requires no existing key. IMPORTANT: the returned api_key is shown ONCE and is never retrievable again — you must store it immediately (save it to ~/.agentdomains/config.json or set AGENTDOMAINS_API_KEY) or the account is lost. The account is provisional: attach and confirm an email within 30 days (see the attach_email tool) or it is deleted along with its domains. This endpoint is rate-limited per IP address. |
| whoamiA | Show the current account: id, state, attached email and whether it is verified, quota, domains used, and which domains are available to claim under. |
| attach_emailA | Attach an email address to the account and send it a verification link. A human must click that link within 30 days or the provisional account and its domains are deleted. Use this right after signup. |
| claim_domainA | Register a subdomain (label.makes.fyi or label.agentdomains.co) on this account, optionally creating its first DNS record in the same call. An email is required the first time an account registers a name — pass 'email' here or call attach_email first; the name is reaped if that email is not confirmed within 30 days. Returns the fqdn and, when a record was requested, the created record. |
| list_domainsA | List every subdomain on this account, with each one's DNS records and whether it is forwarding, proxying, or delegated to external nameservers. |
| get_domainA | Show one subdomain in full: its fqdn, DNS records, forward or proxy configuration, and delegation state. |
| delete_domainA | DESTRUCTIVE AND IRREVERSIBLE: permanently delete a subdomain and every DNS record, forward, and proxy attached to it. The hostname stops resolving immediately and the label is released for anyone else to claim. There is no undo and no recovery. Only call this when the user has explicitly asked for this specific name to be deleted. |
| add_dns_recordA | Add a DNS record to a subdomain you already own. Use type A or AAAA to point at an IP address, CNAME to point at another hostname, or TXT for verification strings. Adding a record does not replace existing ones. Note: there is no API for deleting an individual record — delete_domain removes them all. |
| add_acme_challengeA | Publish a Let's Encrypt DNS-01 challenge: creates a TXT record at _acme-challenge.. with the token your ACME client printed. Use this to get a certificate without exposing port 80 (for example for a wildcard cert, or a host behind NAT). DNS propagates within seconds, then tell your ACME client to continue. For a normal public web server, HTTP-01 validation needs no DNS record at all. |
| set_forwardA | Forward (HTTP-redirect) a subdomain to another URL. Claims the label first if you do not own it yet, in which case an email may be required exactly as for claim_domain. Defaults to a 302 temporary redirect that preserves the request path and query. HTTPS at the edge is handled for you. |
| remove_forwardA | Stop forwarding a subdomain. The name itself stays registered on the account; only the redirect is removed. |
| set_proxyA | Serve a backend at this subdomain through the AgentDomains edge, which terminates TLS with its own certificate — this is how you get working HTTPS on an origin that has no certificate of its own (a bare IP-less PaaS host, a tunnel, an internal box). Unlike a forward, the URL stays on your domain and the response is proxied, not redirected. Claims the label first if needed. Caveat: apps that hardcode their own hostname (OAuth callbacks especially) may need your new hostname registered on their side. |
| remove_proxyA | Stop reverse-proxying a subdomain, so the edge no longer serves the backend or terminates TLS for it. The name stays registered on the account. |
| delegate_nameserversA | Delegate the subdomain to your own nameservers, handing you full control of it and everything beneath it (your own records, MX, deeper sub-domains). AgentDomains stops answering for the name, so its existing records, forwards, and proxies no longer apply. Supply at least two nameservers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Each tool maps to a distinct resource and action: account creation, identity, attaching email, claiming domains, listing/reading/deleting domains, adding DNS records, managing forwards/proxies, and delegating nameservers. Even closely related tools like set_forward/set_proxy and add_dns_record/add_acme_challenge are clearly separated by their target behavior and edge cases.
Most tools follow a clear verb_noun pattern such as claim_domain, list_domains, add_dns_record, set_forward, and delegate_nameservers, with a strong convention of remove_* for destructive/simple removal operations. The exceptions are signup and whoami, which are shorter conventional names rather than verb_noun pairs; these are understandable but slightly inconsistent with the rest of the set.
Fifteen tools is at the upper edge of a well-scoped server, but each tool covers a meaningful operation in the domain lifecycle: account, claim, DNS, forwarding, proxying, and delegation. The count feels appropriate for the breadth of the product rather than inflated with redundant helpers.
The core domain lifecycle is well covered: check, signup, attach email, claim, list, get, delete, and configure DNS/forward/proxy behavior. However, there is no way to delete or update an individual DNS record—add_dns_record and add_acme_challenge only add records, and the only fallback is the destructive delete_domain tool. There is also no explicit undelegate operation, so some workflows leave agents stranded once a record is added or nameservers are delegated.