关于 Domain availability and quotes (demo)
Domain availability and quotes (demo) 是面向运营者和 Agent 开发者的预上线域名销售工具包。它提供签名报价和域名管理能力,但默认演示模式会拒绝注册和续费。
主要功能
- 01查询 .com、.net 和 .org 可用性
- 02提供签名报价及价格明细
- 03在上线模式注册或续费域名
- 04读取和更新 DNS 记录
- 05恢复订单状态并获取签名收据
- 06将自有域名连接到 Vercel
适用场景
- 01查询域名并查看报价
- 02管理自有域名的 DNS
- 03恢复待处理的注册订单
- 04将自有域名连接到 Vercel 项目
MCP 相关
它为 MCP 客户端提供 stdio 配置和域名能力,包括报价、注册、续费、订单状态及 DNS 操作。默认演示模式允许读取,但会拒绝注册和续费。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://modelmarket.dev/tools/mcp/domainsclaude mcp add --transport http dev-modelmarket-domains https://modelmarket.dev/tools/mcp/domains{"mcpServers":{"dev-modelmarket-domains":{"type":"http","url":"https://modelmarket.dev/tools/mcp/domains"}}}在 Cursor 中打开{"servers":{"dev-modelmarket-domains":{"type":"http","url":"https://modelmarket.dev/tools/mcp/domains"}}}在 VS Code 中打开{"mcpServers":{"dev-modelmarket-domains":{"type":"http","url":"https://modelmarket.dev/tools/mcp/domains"}}}{"mcpServers":{"dev-modelmarket-domains":{"serverUrl":"https://modelmarket.dev/tools/mcp/domains"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
🔄 与 monorepo 同步,但保留实时历史记录。
domain-kit镜像自规范的 AI-Factory monorepo。此处的历史记录仅追加(不会强制推送)。 欢迎提交拉取请求——已合并的 PR 会导入 monorepo,并在此处重新同步,因此你的贡献会成为规范内容。 💬 欢迎提交 Issues · 拉取请求。
Domain Operator Kit
向 AI Agent 销售域名。自选供应商,掌控业务。
快速入门 · 功能 · 接入供应商 · 试点计划 · 运营指南(俄语)
English · Русский
Agent 可以构建并部署应用。此工具包让它更进一步:获取域名的签名报价,将域名注册到实际所有者名下,管理 DNS,并将域名连接到 Vercel 项目。
独立运营商运行自己的销售节点,使用自己的注册商账户,并为每次注册或续费设定固定加价。Agent 使用共享的功能契约和设有预算的 MCP 客户端。
上线前版本。 本地测试以及 Openprovider 和 Porkbun Sandbox 试点均已通过:注册、DNS、续费、丢失响应恢复和 MCP 读取。生产环境中的域名购买、支付结算和 Vercel 绑定尚未验证。默认演示不会购买任何内容。验证记录 →
买家获得什么
一个精确域名,注册一年,并登记到所提供的注册人名下。 报价会在付款前显示供应商成本、固定加价和最终金额。例如,供应商成本为 10 美元、加价为 2 美元,则订单金额为 12 USDC;这些金额仅为示例,并非注册商费率。
包含 DNS 管理和域名信息。续费需单独购买,并按新报价定价。注册商自动续费已禁用。可用性不代表预留,注册人仍可能需要通过电子邮件验证并采取操作。
内置注册商支持的范围为 .com、.net 和 .org,普通 ASCII 名称,注册期为一年。高级域名、IDN、转入域名和过期域名恢复不在此版本范围内。
一款产品,三种角色
| 你的身份 | 使用内容 |
|---|---|
| 域名运营商或经销商 | 你的注册商账户、收款钱包、退款储备金和固定加价;以及用于持久保存订单的销售节点 |
| 独立供应商 | HTTP 供应商契约,使用你自己的语言和基础设施实现 |
| Agent 或应用开发者 | 已签名的 domains.*@v1 功能、JavaScript 客户端或 stdio MCP 配置 |
flowchart LR
Agent["AI agent / MCP client"] -->|Discover| Hub["AIMarket Hub"]
Hub -->|Public quotes only| Seller["Domain operator"]
Agent -->|Private order + x402 payment| Seller
Seller -->|Register and reconcile| Provider["Openprovider / Porkbun / HTTP supplier"]
Agent -->|Owner-signed DNS| Seller
Agent -->|Buyer-side connector| Vercel["Your Vercel project"]
Hub 负责发现。订单、注册人联系方式、支付授权和 DNS 操作都直接发送给销售方。此实现不收取 Hub 佣金。Vercel 令牌由买家持有。
在本地试用
使用 Node.js 22.13+;本地验证使用的是 22.22.1。在 monorepo 中的 domain-kit/ 目录下,或在 satellite checkout 的根目录下运行:
npm ci --ignore-scripts
npm run check
npm test
npm run demo
此演示会运行一个签名的 HTTP 生命周期:报价 → 模拟注册 → DNS → 续期。无需注册商账户、钱包充值或外部服务。本地 HTTP 测试需要获得在 localhost 上监听的权限。
若要进行最简单的外部 API 测试,请使用 Porkbun Sandbox 快速入门:自动生成一次性凭据、虚拟额度,以及可恢复的端到端试点。Porkbun 适配器仅限用于 sandbox,直到生产试点通过。
若要进行 Openprovider Sandbox API 集成测试,请遵循自选启用的 npm run sandbox:pilot 说明。该脚本会保留状态,并在重复运行时复用相同订单。
若要启动持久化演示服务:
cp .env.example .env
node --env-file=.env src/server.js
在另一个终端中:
DOMAIN_ALLOW_DEMO=1 node bin/domain-rails.mjs check http://127.0.0.1:9495
这会检查公开报价协议和签名;不会验证卖家身份。服务会在 data/ 中持久化加密文档和密钥。部署之间请勿丢弃此目录。
公共节点:在配置密钥前先作为演示运行
DOMAIN_MODE=auto 适用于在开始销售前就要发布的节点。没有密钥时,它是一个公开演示:可用性信息真实(.com、.net、.org 使用注册局自己的 RDAP),报价带有签名并标记为 demo,价格仅供参考,查询会正常响应,只有 register 和 renew 会被拒绝并返回 403 demo_mode。配置好所有实时设置后(生产注册商密钥或 HTTP 供应商、PAY_TO、CDP_KEY_FILE、DOMAIN_REFUND_KEY_FILE、HTTPS DOMAIN_PUBLIC_URL 和 DOMAIN_TERMS_URL、DOMAIN_UPSTREAM_COST_CONFIRMED=1),下一次启动便会开始实时销售。在此之前,/healthz 会列出仍缺失的设置名称(live_missing),绝不会显示其值。Porkbun 仍仅限用于 sandbox。modelmarket.dev 运行着这样的节点作为其域名展示页:domains.modelmarket.dev,工具包的落地页位于根目录,示例工作台则是一个可搜索名称、显示签名价格并引导完成订单的店面。这两个静态页面都位于 docs/landing/ 中,会通过同源地址调用节点;可将它们部署在自己的节点旁(运行 node docs/landing/dev.mjs 可预览)。
Agent 功能
| 功能 | 用途 |
|---|---|
domains.quote@v1 | 可用性、确切的注册价格或私有续期报价 |
domains.register@v1 | 注册报价中的名称,期限为一年 |
domains.renew@v1 | 使用新报价续期已拥有的域名 |
domains.order.status@v1 | 恢复待处理订单并获取其签名收据 |
domains.info@v1 | 到期时间、名称服务器和所需的所有者操作 |
domains.dns.get@v1 | DNS 记录和修订版本 |
domains.dns.set@v1 | 替换选定的记录集,同时保留其他名称和类型的记录 |
domains.transfer.code@v1 | 私有转移码(如受支持);不包含在 MCP 工具列表中 |
连接买家
node bin/domain-rails.mjs init-owner /private/path/owner.pem
针对支持 stdio MCP 的客户端,调整 examples/mcp.json。通过可信目录固定卖家的公钥,配置所有者的签名密钥和联系信息文件,然后设置每笔购买预算和每日预算。默认禁用购买。
DOMAIN_REGISTRANT_FILE 会在本地注入联系信息。钱包密钥和所有者密钥来自私有文件,绝不会来自模型参数。付款授权和预算预留会在发送前持久化。重试会复用原始授权;结果未知时,预算会继续预留。
重试时请保留原始 client_order_id 和订单正文。收到待处理响应时,应检查状态,而不是创建第二笔购买。用户或客户端策略必须授权购买并接受卖家条款。
将域名连接到 Vercel
在买家的环境中配置 VERCEL_TOKEN_FILE、VERCEL_PROJECT_ID,以及可选的 VERCEL_TEAM_ID。MCP 客户端会公开 vercelConnect:
{"domain":"your-owned-domain.com"}
连接器采用 Vercel 当前的 DNS 建议,将顶级域名添加到固定项目,并保留现有的 TXT 验证值和无关记录。替换其他 A 记录需要显式设置 replace_existing:true。必须先通过 DNS 提供商的控制台删除冲突的 AAAA/CNAME 记录。
waiting_for_verification_or_dns 表示传播或验证仍在进行中。configured 反映的是 Vercel API 的状态,并非独立的 HTTPS 可访问性测试。卖家本身需要持久运行的 Node 进程和磁盘;它不是 Vercel Function。
自带供应商
Openprovider 和 Porkbun Sandbox 提供内置适配器。其他供应商需实现用于报价、联系人准备、提交、对账和管理的通用 HTTP 端点。运营者保留自己的账户、定价和收款目的地。
支持该规范可实现集成;但这并不意味着未经测试的供应商已可用于生产环境。我们的试点计划从 Openprovider Sandbox 和我们自己的 Agent 开始,然后使用我们自己的 Vercel 项目下的受控域名,之后再引入外部客户。
为中断的操作场景而设计
- 持久化订单标识。 更改输入不会悄然复用现有订单。钱包签名会将付款绑定到订单和所有者密钥。
- 不盲目重试变更操作。 付款或注册商的响应丢失时,会使用原始证据进行对账。
- 对已证实的未交付情况退款。 退款会退回原付款方。结果不明时会保持待处理状态;退款需要有充足的储备金和正常运行的基础设施。
- 私密管理。 所有者请求和卖家响应使用 Ed25519;文档正文使用 AES-256-GCM。数据库行标识符(包括域名)不会加密。
- 明确的运营限制。 每个 SQLite 数据库只能运行一个卖家进程。Openprovider 的续期结果不明确时,可能需要提供有记录的运营者证据。Porkbun 重放仅在 23 小时窗口内使用持久化幂等键;对于时间更久且结果未知的操作,需要进行审核。DNS 版本检查无法针对控制台外部编辑提供原子锁定。
本项目不包含自动到期通知、续期调度器、所有者密钥恢复或通用 DNS 删除 API。运营者必须在服务客户前制定这些支持流程。请参阅 OPERATIONS.md。
仓库状态
规范源码位于 AIMarket 单仓库中的 domain-kit/。GitHub 独立仓库为 alexar76/domain-operator-kit。在单仓库根目录下,对应的命令为 npm test --prefix domain-kit(以及 npm run check --prefix domain-kit)。项目包含 Node 22/24 CI 工作流、Docker/Compose 定义和本地品牌资源。该工作流已准备就绪;本 README 并未声称它已在 GitHub 上运行。本地测试徽章链接到一份带日期的验证记录。
此软件包仍设为 private:true,以防意外发布到 npm。快速入门不代表提供托管演示或已发布的软件包。
采用 MIT 许可证。基础付款对账功能改编自 AIMarket eSIM 运营者工具包;请参阅 NOTICE.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。