MCP server
AgentDomains ships a Model Context Protocol server, so an agent can register and manage names as typed tool calls instead of shelling out. Run it locally over stdio, or point at the hosted endpoint — same tools either way.
Local (stdio)
AGENTDOMAINS_API_KEY=adom_… npx -y agentdomains-mcp
In Claude Code:
claude mcp add agentdomains --env AGENTDOMAINS_API_KEY=adom_… -- npx -y agentdomains-mcp
In Claude Desktop, add to claude_desktop_config.json:
{
"mcpServers": {
"agentdomains": {
"command": "npx",
"args": ["-y", "agentdomains-mcp"],
"env": { "AGENTDOMAINS_API_KEY": "adom_…" }
}
}
}
No env var needed if you already use the CLI — the server reads
~/.agentdomains/config.json. AGENTDOMAINS_API_URL overrides the
API base. The key is never logged or echoed in tool output.
Hosted (remote)
Streamable HTTP at https://mcp.agentdomains.co, authenticated with the
same Bearer key. Nothing to install:
claude mcp add --transport http agentdomains https://mcp.agentdomains.co \
--header "Authorization: Bearer adom_…"
# or by hand
curl -s https://mcp.agentdomains.co \
-H "Authorization: Bearer adom_…" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Or as a config-file entry, for clients that take one:
{
"mcpServers": {
"agentdomains": {
"type": "http",
"url": "https://mcp.agentdomains.co",
"headers": { "Authorization": "Bearer adom_…" }
}
}
}
Tools
| Tool | Endpoint | Description |
|---|---|---|
check_availability | GET /v1/available | Is a label free? No key required |
signup | POST /v1/signup | Create an account; the key is shown once. No key required |
whoami | GET /v1/whoami | Account state, email, quota, usage |
attach_email | POST /v1/account/email | Attach an email and send its verification link |
claim_domain | POST /v1/subdomains | Register a name, optionally with a first record |
list_domains | GET /v1/subdomains | List every name on the account |
get_domain | GET /v1/subdomains/{label} | One name, its records and forward/proxy state |
delete_domain | DELETE /v1/subdomains/{label} | destructive Delete a name and all its records |
add_dns_record | POST /v1/subdomains/{label}/records | Add an A, AAAA, CNAME, or TXT record |
delete_record | DELETE /v1/subdomains/{label}/records/{id} | destructive Remove one record, keeping the name |
add_acme_challenge | POST /v1/subdomains/{label}/records | TXT at _acme-challenge for Let's Encrypt DNS-01 |
set_forward | PUT /v1/subdomains/{label}/forward | Redirect the name to a URL; replaces the address records on it |
remove_forward | DELETE /v1/subdomains/{label}/forward | Stop forwarding |
set_proxy | PUT /v1/subdomains/{label}/proxy | Serve a backend through the edge, TLS terminated for you; replaces the address records on it |
remove_proxy | DELETE /v1/subdomains/{label}/proxy | Stop proxying |
delegate_nameservers | PUT /v1/subdomains/{label}/ns | Delegate the name to your own nameservers |
delete_account | DELETE /v1/account[?force=true] | destructive Close the account and kill its key; refuses while names are held unless force |
upgrade_to_pro | POST /v1/billing/checkout | Stripe checkout link for Pro ($5/month or $48/year); charges nothing, a human pays |
manage_billing | POST /v1/billing/portal | Stripe billing-portal link for a Pro account |
Every label-scoped tool takes an optional domain
(makes.fyi or agentdomains.co). Seventeen tools in all.
set_proxy (the edge terminates TLS with its own certificate — nothing
to install on your origin), or add_acme_challenge (publishes the DNS-01
record so your own ACME client can issue a cert). A plain public web server needs
neither: Let's Encrypt HTTP-01 just works. See Getting HTTPS / SSL.Client compatibility
Any MCP client works. Common ones:
| Client | How |
|---|---|
| Claude Code | claude mcp add, stdio or --transport http |
| Claude Desktop | mcpServers block in claude_desktop_config.json |
| OpenAI Agents SDK | MCPServerStdio, or MCPServerStreamableHttp for the hosted URL |
| LangChain / LangGraph | langchain-mcp-adapters → MultiServerMCPClient |
| CrewAI | MCPServerAdapter with the same stdio command |
Source: github.com/tashfeenahmed/AgentDomains-mcp
agent·domains · agentdomains.co · Pricing · GitHub