mcpField
A
AgentDomains

AgentDomains

远程服务
github.com/tashfeenahmed云与基础设施34 周前更新
代码仓库

关于 AgentDomains

AgentDomains MCP server 为 AI Agent 提供 makes.fyi 或 agentdomains.co 下的域名管理能力,适合构建网站和 API 的 Agent。它支持 DNS、HTTPS、转发与反向代理,并可通过本地 stdio 或托管 HTTP 端点运行。

主要功能

  1. 01注册并管理子域名
  2. 02管理 A、AAAA、CNAME 和 TXT 记录
  3. 03设置 URL 转发与反向代理
  4. 04配置 DNS-01 ACME 挑战
  5. 05支持本地 stdio 与远程 HTTP

适用场景

  1. 01为 Agent 构建的网站分配主机名
  2. 02为 API 配置 DNS 记录
  3. 03将域名转发至目标 URL
  4. 04通过边缘代理为后端提供 TLS

MCP 相关

它作为 MCP 服务,向 MCP 客户端提供域名、DNS、转发、代理和账户管理工具。支持本地 stdio 与 Streamable HTTP 连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.agentdomains.co
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.agentdomains.co需要授权
安装包
npmagentdomains-mcp0.1.3

工具

19
参数类型必填说明
labelstring是子域名标签,不含域名后缀(例如,myapp.makes.fyi 中的“myapp”)。
domainstring否要使用的域名:“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_availabilityGET /v1/available标签是否可用?无需密钥。
signupPOST /v1/signup创建账户并获取 API 密钥(仅显示一次)。无需密钥。
whoamiGET /v1/whoami账户状态、电子邮件、配额和用量。
attach_emailPOST /v1/account/email关联电子邮件并发送验证链接。
claim_domainPOST /v1/subdomains注册 label.domain,也可选择添加第一条记录。
list_domainsGET /v1/subdomains列出账户中的所有名称。
get_domainGET /v1/subdomains/{label}查看一个名称及其记录、转发/代理状态。
delete_domainDELETE /v1/subdomains/{label}破坏性操作 — 永久删除名称及其记录。
add_dns_recordPOST /v1/subdomains/{label}/records添加 A、AAAA、CNAME 或 TXT 记录。
delete_recordDELETE /v1/subdomains/{label}/records/{id}破坏性操作 — 删除一条记录,但保留名称。ID 可通过 get_domain 获取。
add_acme_challengePOST /v1/subdomains/{label}/records在 _acme-challenge 添加 TXT 记录,用于 Let's Encrypt DNS-01 验证。
set_forwardPUT /v1/subdomains/{label}/forward将名称重定向到某个 URL;会替换其地址记录。
remove_forwardDELETE /v1/subdomains/{label}/forward停止转发。
set_proxyPUT /v1/subdomains/{label}/proxy通过边缘节点提供后端服务,由边缘节点为你终止 TLS;会替换其地址记录。
remove_proxyDELETE /v1/subdomains/{label}/proxy停止代理。
delegate_nameserversPUT /v1/subdomains/{label}/ns将名称委派给你自己的名称服务器。
delete_accountDELETE /v1/account[?force=true]破坏性操作 — 关闭账户并废止其密钥;只要账户仍持有名称,就会拒绝操作,除非指定 force。
upgrade_to_proPOST /v1/billing/checkout获取 Pro 的 Stripe 结账链接(100 个名称,每月 $5 或每年 $48)。不会自动扣费;由用户打开链接并付款。
manage_billingPOST /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 时才会运行。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。