关于 AgentDomains
AgentDomains MCP server 为 AI Agent 提供 makes.fyi 或 agentdomains.co 下的域名管理能力,适合构建网站和 API 的 Agent。它支持 DNS、HTTPS、转发与反向代理,并可通过本地 stdio 或托管 HTTP 端点运行。
主要功能
- 01注册并管理子域名
- 02管理 A、AAAA、CNAME 和 TXT 记录
- 03设置 URL 转发与反向代理
- 04配置 DNS-01 ACME 挑战
- 05支持本地 stdio 与远程 HTTP
适用场景
- 01为 Agent 构建的网站分配主机名
- 02为 API 配置 DNS 记录
- 03将域名转发至目标 URL
- 04通过边缘代理为后端提供 TLS
MCP 相关
它作为 MCP 服务,向 MCP 客户端提供域名、DNS、转发、代理和账户管理工具。支持本地 stdio 与 Streamable HTTP 连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.agentdomains.coclaude mcp add --transport http tashfeenahmed-agentdomains https://mcp.agentdomains.co{"mcpServers":{"tashfeenahmed-agentdomains":{"type":"http","url":"https://mcp.agentdomains.co"}}}在 Cursor 中打开{"servers":{"tashfeenahmed-agentdomains":{"type":"http","url":"https://mcp.agentdomains.co"}}}在 VS Code 中打开{"mcpServers":{"tashfeenahmed-agentdomains":{"type":"http","url":"https://mcp.agentdomains.co"}}}{"mcpServers":{"tashfeenahmed-agentdomains":{"serverUrl":"https://mcp.agentdomains.co"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.agentdomains.co需要授权工具
19| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| label | string | 是 | 子域名标签,不含域名后缀(例如,myapp.makes.fyi 中的“myapp”)。 |
| domain | string | 否 | 要使用的域名:“makes.fyi”(默认)或“agentdomains.co”。每个域名下可以存在相同的标签,因此不使用默认域名时请传入此参数。 |
详细介绍
AgentDomains MCP 服务
适用于 AgentDomains 的 MCP 服务——为 AI Agent 构建的网站和 API 提供免费域名。它让任何支持 MCP 的 Agent 都能获得 makes.fyi 或 agentdomains.co 下的真实主机名,并提供 DNS 记录、HTTPS、URL 转发和反向代理。
有两种运行方式:通过 npx 在本地使用 stdio 运行,或连接托管的远程端点 https://mcp.agentdomains.co。
安装(stdio)
无需安装——npx 会按需获取:
AGENTDOMAINS_API_KEY=adom_… npx -y agentdomains-mcp
Claude Code
claude mcp add agentdomains --env AGENTDOMAINS_API_KEY=adom_… -- npx -y agentdomains-mcp
Claude Desktop 和其他配置文件客户端
添加到 claude_desktop_config.json(或客户端的等效文件)中:
{
"mcpServers": {
"agentdomains": {
"command": "npx",
"args": ["-y", "agentdomains-mcp"],
"env": { "AGENTDOMAINS_API_KEY": "adom_…" }
}
}
}
远程端点
https://mcp.agentdomains.co
使用 Streamable HTTP;通过 POST 发送 JSON-RPC,并在 Authorization 标头中提供密钥:
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":{}}'
在 Claude Code 中:claude mcp add --transport http agentdomains https://mcp.agentdomains.co --header "Authorization: Bearer adom_…"
配置
| 变量 | 用途 |
|---|---|
AGENTDOMAINS_API_KEY | 你的 API 密钥(adom_…)。如果未设置,则使用 ~/.agentdomains/config.json 中的 api_key。 |
AGENTDOMAINS_API_URL | 覆盖 API 基础 URL。默认为 https://api.agentdomains.co。 |
如果你已在使用 Go CLI,系统会自动读取其中的
~/.agentdomains/config.json,无需设置环境变量。
还没有密钥?调用 signup 工具即可获取,无需凭据。密钥仅显示一次,之后无法找回,请立即保存。账户为临时账户:请使用 attach_email 绑定邮箱,并在 30 天内完成确认,否则账户及其域名将被删除。
API 密钥绝不会被记录、打印或包含在任何工具输出中。
工具
| 工具 | 端点 | 描述 |
|---|---|---|
check_availability | GET /v1/available | 标签是否可用?无需密钥。 |
signup | POST /v1/signup | 创建账户并获取 API 密钥(仅显示一次)。无需密钥。 |
whoami | GET /v1/whoami | 账户状态、电子邮件、配额和用量。 |
attach_email | POST /v1/account/email | 关联电子邮件并发送验证链接。 |
claim_domain | POST /v1/subdomains | 注册 label.domain,也可选择添加第一条记录。 |
list_domains | GET /v1/subdomains | 列出账户中的所有名称。 |
get_domain | GET /v1/subdomains/{label} | 查看一个名称及其记录、转发/代理状态。 |
delete_domain | DELETE /v1/subdomains/{label} | 破坏性操作 — 永久删除名称及其记录。 |
add_dns_record | POST /v1/subdomains/{label}/records | 添加 A、AAAA、CNAME 或 TXT 记录。 |
delete_record | DELETE /v1/subdomains/{label}/records/{id} | 破坏性操作 — 删除一条记录,但保留名称。ID 可通过 get_domain 获取。 |
add_acme_challenge | POST /v1/subdomains/{label}/records | 在 _acme-challenge 添加 TXT 记录,用于 Let's Encrypt DNS-01 验证。 |
set_forward | PUT /v1/subdomains/{label}/forward | 将名称重定向到某个 URL;会替换其地址记录。 |
remove_forward | DELETE /v1/subdomains/{label}/forward | 停止转发。 |
set_proxy | PUT /v1/subdomains/{label}/proxy | 通过边缘节点提供后端服务,由边缘节点为你终止 TLS;会替换其地址记录。 |
remove_proxy | DELETE /v1/subdomains/{label}/proxy | 停止代理。 |
delegate_nameservers | PUT /v1/subdomains/{label}/ns | 将名称委派给你自己的名称服务器。 |
delete_account | DELETE /v1/account[?force=true] | 破坏性操作 — 关闭账户并废止其密钥;只要账户仍持有名称,就会拒绝操作,除非指定 force。 |
upgrade_to_pro | POST /v1/billing/checkout | 获取 Pro 的 Stripe 结账链接(100 个名称,每月 $5 或每年 $48)。不会自动扣费;由用户打开链接并付款。 |
manage_billing | POST /v1/billing/portal | 获取 Pro 账户的 Stripe 账单门户链接(银行卡、发票、计费周期、取消订阅)。 |
每个作用于标签的工具都可以传入可选的 domain(默认值为 makes.fyi,也可以是
agentdomains.co)。
设置转发或代理会接管该主机名。 同一次调用中会删除该标签本身的 A/AAAA/CNAME 记录,并通过 replaced_records 返回这些记录,因此请告知用户哪些记录发生了变更。子标签记录(www.myapp.makes.fyi)和 TXT 记录会保留;如果转发未能启动,已替换的记录会以新 ID 恢复。
名称认领和第一条记录要么一起成功,要么一起失败。 如果为 claim_domain 提供的记录无法创建,则不会认领名称 — 修正记录后重新调用。重新认领账户已持有的名称会返回 409,并带有 owned:true,这表示可以继续操作。
关于 HTTPS
“给我弄个 SSL”在这里不是单一操作。有两种可靠方案:
set_proxy— 边缘节点使用自己的证书终止 TLS,并将请求代理到你的后端。源站无需安装任何东西。add_acme_challenge— 发布 DNS-01 TXT 记录,以便你自己的 ACME 客户端签发 Let's Encrypt 证书(适用于通配符或没有公共端口 80 的主机)。 普通的公共 Web 服务器只需使用 HTTP-01,完全不需要 DNS 记录。
兼容性
适用于任何 MCP 客户端。已验证以下常见客户端的配置方式:
- Claude Code — 使用
claude mcp add(stdio 或--transport http),如上所示。 - Claude Desktop — 在
claude_desktop_config.json中配置mcpServers块。 - OpenAI Agents SDK — 使用
MCPServerStdio(params={"command": "npx", "args": ["-y", "agentdomains-mcp"]}),或通过MCPServerStreamableHttp连接远程 URL。 - LangChain / LangGraph — 使用
langchain-mcp-adapters:MultiServerMCPClient({"agentdomains": {"command": "npx", "args": ["-y", "agentdomains-mcp"], "transport": "stdio"}})。 - CrewAI — 使用
MCPServerAdapter,并采用相同的 stdio 参数。 - 其他客户端 — 通过 stdio 将客户端连接到
npx -y agentdomains-mcp,或通过 Streamable HTTP 连接到https://mcp.agentdomains.co。
开发
npm install
npm run build # tsc -> dist/
npm run smoke # boots dist/index.js, runs initialize + tools/list over stdio
需要 Node 18+。唯一的运行时依赖是 @modelcontextprotocol/sdk。
相关链接
许可证
FSL-1.1-Apache-2.0 — 详见 LICENSE。与 CLI 采用相同条款。
MCP Registry 条目
此服务已列入官方 MCP Registry,
名称为 io.github.tashfeenahmed/agentdomains-mcp。PulseMCP、Glama 和其他
Agent 工具目录都会读取此索引。元数据位于此仓库中的 server.json。
发布需要手动操作(此账号未运行 GitHub Actions)。每次发布 npm 版本时,将 server.json 中的 version
及其 packages[0].version 更新为与 package.json 一致,先发布到 npm,然后:
# once: install the publisher (macOS/Linux)
curl -L "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
./mcp-publisher login github # device-code flow as the tashfeenahmed GitHub account
./mcp-publisher publish # uploads server.json
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.tashfeenahmed/agentdomains-mcp"
Registry 会检查 npm 包的 mcpName 是否与 server.json 中的 name 一致,
因此,server.json 中指定的 npm 版本必须先行发布。
docs/publish-mcp-registry.yml 是一个可选的 GitHub Actions 工作流,可通过 GitHub OIDC 在 v* 标签上执行相同操作。只有将其移至 .github/workflows/ 且账号可使用 Actions 时才会运行。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。