mcpField
D
domainavail

domainavail

本地服务
github.com/CloudCorpRecords云与基础设施01 周前更新

关于 domainavail

domainavail 面向注册域名前需要筛选候选名称的人群。它通过 DNS、RDAP 和 WHOIS 批量检查域名,还可确认看似可用的名称并显示注册商报价;不会注册域名。

主要功能

  1. 01批量检查域名列表
  2. 02使用 DNS、RDAP 和 WHOIS
  3. 03报告可用状态及检查依据
  4. 04显示注册商报价和价格
  5. 05支持 TLD 扩展和已保存名称

适用场景

  1. 01按配置的 TLD 筛选名称构想
  2. 02比较可注册名称的购买选项

MCP 相关

MCP 服务提供 `check_domains` 工具,用于批量检查域名,并支持设置 TLD、注册商确认、详细依据和已保存域名。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-domainavail": {
"command": "npx",
"args": [
"-y",
"@reneturcios/domainavail"
]
}
}
}
启动命令npx -y @reneturcios/domainavail

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/domainavail0.1.0
ocighcr.io/cloudcorprecords/domainavail:0.1.0

工具

1

收录的工具列表 · 更新于 1 周前

参数类型必填说明
tldsarray否此调用的 tlds。
savedarray否此调用的已保存内容。
confirmboolean否此调用的确认标志。
detailsboolean否此调用的详细信息。
domainsarray是此调用的域名。

详细介绍

domainavail

你有一组心仪的名称,想知道其中哪些实际上可以注册?domainavail 可一次性检查整组名称:提交候选名称后,它会逐一进行一系列公开检查,告诉你哪些名称看起来可以注册、哪些已被注册;对于看起来可以注册的名称,还会告知价格和购买渠道。它严格只读:绝不会注册、预留或更改任何内容。

如何检查名称

首先会规范化名称(去掉 scheme 和路径,并转换为小写)。不含点的名称会扩展为每个已配置的 TLD;完整域名则按原样检查。随后,每个扩展后的名称都会经过以下检查:

  1. DNS 委派 — 如果名称有 NS 记录,则表示已委派,因此状态为 taken。ENOTFOUND / ENODATA 表示未委派;其他 DNS 错误会使名称进入未知状态流程。
  2. RDAP — 返回 200 表示名称已注册(taken);会报告到期事件 expires,待删除状态则会添加备注 being deleted; may become available soon。返回 404 表示名称看起来可以注册。
  3. WHOIS 回退 — 当 TLD 不支持 RDAP 或 RDAP 失败时使用。匹配 No match / NOT FOUND / No Data Found 的文本表示看起来可以注册;存在记录则表示 taken;WHOIS 失败则表示 unknown。
  4. 注册商确认 — 看起来可以注册的名称会保持 likely_available,除非有已配置的注册商确认其状态。系统会按 Name.com → Cloudflare → Spaceship → Porkbun 的顺序向注册商查询,直到有一家给出明确答复:之后名称状态会变为 available(若注册商表示为溢价域名,则 premium: true,并在提供价格时附上价格)、reserved 或 taken。

可能的状态:available、likely_available、taken、reserved、unknown。

输出为一个 JSON 对象:summary 按状态统计数量;results 按输入顺序排列(saved 域名除外,它们会标记为 saved: true 并列在最前);skipped 列出不是域名名称或超出扩展上限的输入;另有 warnings。启用 details: true 后,每个结果还会包含 evidence,记录 DNS、RDAP、WHOIS 和注册商各步骤的结果。

配置

所有配置都通过 DOMAINSCOUT_* 环境变量完成:

  • DOMAINSCOUT_TLDS — 用于扩展不带 TLD 的名称的 TLD(默认为 com,net,ai)。每次调用的 tlds 参数会覆盖此设置。
  • DOMAINSCOUT_REGISTRARS — 用于筛选参与报价和确认的注册商的逗号分隔列表。
  • DOMAINSCOUT_MAX_CONCURRENCY — 并行检查数(默认为 10)。
  • DOMAINSCOUT_PER_HOST_CONCURRENCY — 默认为 2。会解析此设置,但在本次重构中不会单独执行限制(这是已标注的简化处理)。
  • DOMAINSCOUT_TIMEOUT_MS — 每个请求的超时时间(默认为 10000)。
  • DOMAINSCOUT_MAX_DOMAINS — 扩展上限(默认为 500,硬上限为 10000)。超出上限的名称会放入 skipped,原因是 over DOMAINSCOUT_MAX_DOMAINS。
  • DOMAINSCOUT_CONFIRM_MAX — 每次调用中向注册商确认的名称数量上限(默认为 50)。
  • DOMAINSCOUT_DNS — 开启/关闭 DNS 步骤(默认开启);DOMAINSCOUT_DNS_SERVERS — 自定义 DNS 服务器。
  • DOMAINSCOUT_PRICES — 开启/关闭价格报价(默认开启)。
  • DOMAINSCOUT_AFFILIATE — 已接受(默认开启);此处的购买链接为普通链接,不包含任何联盟营销模板。
  • 注册商密钥:DOMAINSCOUT_NAMECOM_USERNAME / DOMAINSCOUT_NAMECOM_TOKEN、DOMAINSCOUT_CLOUDFLARE_ACCOUNT_ID / DOMAINSCOUT_CLOUDFLARE_API_TOKEN、DOMAINSCOUT_SPACESHIP_API_KEY / DOMAINSCOUT_SPACESHIP_API_SECRET、DOMAINSCOUT_PORKBUN_API_KEY / DOMAINSCOUT_PORKBUN_SECRET_KEY。每家注册商的密钥只会发送给对应的注册商。

价格来自 Porkbun 公共定价 API 和 Cloudflare 定价镜像,并按价格从低到高排序。报价格式为 {registrar, price, renewal?, url}。

端点来源

RDAP 查询使用 https://rdap.org/domain/<domain> (端点选择已标注)。注册商确认端点和两个价格来源 URL 均为重构内容,并已注明;Cloudflare 搜索 URL https://www.cloudflare.com/domains/search/?q=<domain> 是有文档记录的示例,Porkbun 结账 URL 则是我们对同一思路的呈现。

工具

  • check_domains — 检查域名是否可以注册,并提供价格以及可注册域名的购买渠道。参数:domains(必填字符串数组,包含 1–1,000 个条目)、tlds(可选字符串数组)、confirm(可选布尔值,默认 true)、details(可选布尔值,默认 false)、saved(可选字符串数组)。验证失败时会显示 domains must be an array of 1 to 1000 names;规范化后为空的条目会放入 skipped,原因是 not a domain name。

命令行

npx @reneturcios/domainavail check_domains '{"domains":["example","widget.com"],"details":true}'
npx @reneturcios/domainavail --version

输出为工具的结果文本(即上文所述的 JSON)。退出代码:成功时为 0,运行时错误(包括验证错误)时为 1,用法错误时为 2。

MCP 服务

npx -y @reneturcios/domainavail mcp

MCP 客户端配置:

{
  "mcpServers": {
    "domainavail": {
      "command": "npx",
      "args": ["-y", "@reneturcios/domainavail", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/domainavail
docker run --rm ghcr.io/cloudcorprecords/domainavail check_domains '{"domains":["widget.com"]}'

开发

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (injected fakes only, no network)
npm run dev     # run the CLI from source

许可证

MIT — 版权所有 (c) 2026 Rene Turcios

评论

支持 Markdown

第一次接触 MCP?

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

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