mcpField
P
pp-domain-goat

pp-domain-goat

github.com/mvanhorn营销与增长2.1k128 次安装今天更新
代码仓库

关于 pp-domain-goat

pp-domain-goat 是用于筛选待注册域名的只读命令行技能,面向品牌命名、域名投资及 Agent 工作流。它结合可用性、品牌评分、价格、到期监测与本地 SQLite 短名单,帮助比较候选项;不负责购买域名。

主要功能

  1. 01批量检查域名可用性
  2. 02生成并评分品牌名称
  3. 03比较 TLD 价格与五年成本
  4. 04跟踪即将释放的域名
  5. 05管理本地短名单和 SQLite 数据

适用场景

  1. 01从名称列表中筛选可注册域名
  2. 02按预算比较多个 TLD
  3. 03为品牌候选生成并排序短名单
  4. 04监测待释放域名及竞价时间

MCP 相关

README 提到可通过 MCP 驱动域名检查、比较等工作流,但未说明 MCP 服务具体暴露的工具。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-domain-goat

安装后在 Claude Code 中输入/pp-domain-goat确认已加载。

详细介绍

Domain Goat — Printing Press 命令行工具

前提条件:安装命令行工具

此技能使用 domain-goat-pp-cli 二进制文件。**调用此技能中的任何命令之前,必须确认命令行工具已安装。**如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install domain-goat --cli-only
    
  2. 验证:domain-goat-pp-cli --version
  3. 确保报告的安装目录位于将调用此技能的 Agent/运行时的 $PATH 中。

如果 npx 安装失败(没有 Node、处于离线状态等),请改用 Go 直接安装(需要 Go 1.26.6 或更高版本):

go install github.com/mvanhorn/printing-press-library/library/developer-tools/domain-goat/cmd/domain-goat-pp-cli@latest

如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到二进制文件目录。验证成功之前,不要执行技能命令。

何时使用此命令行工具

当你需要找出(而非交易)值得注册的域名时,可以使用 domain-goat,例如:跨多个 TLD 批量检查名称列表、生成适合打造品牌的变体、为候选项评分、监控即将释放的域名、比较不同 TLD 的 5 年实际成本,或通过 MCP 让 Agent 执行上述任何工作流。如果你已经确定要哪个域名,只需要购买,就不必使用它——这是注册商的工作。

何时不应使用此命令行工具

对于需要创建、更新、删除、发布、评论、点赞、邀请、下单、发送消息、预订、购买或更改远程状态的请求,请勿启用此命令行工具。此打印版命令行工具仅提供用于检查、导出、同步和分析的只读命令。

独特功能

这些功能无法通过此 API 的任何其他工具实现。

可不断积累的本地状态
  • shortlist promote — 将列表中的前 N 个候选项提升到按综合得分、价格和可用性排序的入围子列表中。

    当 Agent 需要收敛出可购买的候选清单时,此命令可用一次确定性调用,取代“获取评分、获取价格、获取可用性、排序、保存”这一整套操作。

    domain-goat-pp-cli shortlist promote --list ai-startup --top 10 --by combined --agent
    
  • budget — 筛选 5 年总成本(注册费 + 4 次续费)低于预算上限的候选项,并按价格升序排列。

    在你爱上某个名称之前,避免落入“第一年 12 美元/续费 4,800 美元”的陷阱。

    domain-goat-pp-cli budget --list ai-startup --max-annual-cost 50 --years 5 --available-only
    
  • compare — 每个域名一行,显示评分、长度、TLD 声望、跨注册商价格、RDAP 状态和即将释放标记。

    让 Agent 或用户通过一条命令就能敲定候选清单,无需在 5 个标签页之间来回核对。

    domain-goat-pp-cli compare kindred.io kindred.ai kindred.studio --json --select status,price,score
    
  • why-killed — 显示域名为何不再列于当前候选清单中:状态、评分、备注、标签历史记录和最新价格。

    没有此功能,代理机构团队可能在一次冲刺中两次否决同一个名称;而 Agent 再次推荐已否决的名称,则会损害用户信任。

    domain-goat-pp-cli why-killed kindred.studio --json
    
  • tld-affinity — 给定种子关键词后,根据后缀语义契合度、本地历史记录中的历史可用率和价格档次对 TLD 排名。

    帮助 Agent 在运行耗费较大的排列组合之前,先选出适合生成的 TLD。

    domain-goat-pp-cli tld-affinity kindred --top 10 --json
    
可达性 + 持久化
  • drops timeline — 按时间轴显示所有受监控域名进入 pendingDelete/redemptionPeriod 的情况,并按品牌适配度评分和 TLD 筛选。

    域名抢注者和品牌投资者想知道“下周有哪些排队释放、值得竞价的域名?”此功能就能回答这个问题。

    domain-goat-pp-cli drops timeline --days 30 --min-score 7 --tld io,ai --agent
    
  • pricing-arbitrage — 按续费价差(第一年价格陷阱风险)或声望与价格比对 TLD 排名。

    帮助用户和 Agent 避开第二年价格会让交易不划算的 TLD。

    domain-goat-pp-cli pricing-arbitrage --by renewal-delta --top 20 --agent
    
  • drop-bid-window — 计算处于 pendingDelete 状态的域名重新释放的准确 UTC 时间窗口(RDAP 事件 + 5 天宽限期)。

    域名抢注者需要精确到分钟的时间安排;此功能取代了手动解析 WHOIS 正则表达式。

    domain-goat-pp-cli drop-bid-window expiring.io --json
    

命令参考

可用性与查询

  • check — 批量检查可用性(RDAP → WHOIS → DNS 回退)。
  • rdap — 通过 IANA 引导查询 RDAP。
  • whois — 通过 43 端口进行 WHOIS 查询,并解析输出。
  • dns — DNS 查询(A/AAAA/NS/MX/SOA)。
  • cert — 检查域名的 TLS 证书。

生成与评分

  • gen <suggest|mix|affix|blend|hack|rhyme> — 离线生成适合打造品牌的名称。
  • similar — 生成类似 typoquatting / dnstwist 的变体。
  • score — 品牌适用性评分(长度、音节、词典、顶级域名声望)。
  • socials — 检查常见平台上的社交账号名称是否可用。

候选名单与比较

  • lists <create|add|show|list|annotate|kill> — 管理候选名单。
  • shortlist promote — 将排名前 N 的候选项移入决选子名单。
  • compare — 为每个域名生成并排对照行。
  • why-killed — 审查域名为何被移出活动名单。
  • budget — 按 5 年实际成本筛选。

过期域名与监控

  • drops timeline — 按时间轴查看 pendingDelete / redemptionPeriod 状态。
  • drop-bid-window — 获取准确的 UTC 重新开放注册时间段。
  • watch <add|run|list|remove> — 定期重新检查并持久化状态。

定价与顶级域名

  • pricing <sync|show|compare> — Porkbun 顶级域名定价快照。
  • pricing-arbitrage — 按续费价差或声望价值为顶级域名排序。
  • tlds <sync|list|get> — IANA RDAP 引导表。
  • tld-affinity — 为种子关键词匹配最合适的顶级域名。
  • namecheap — 可选的 Namecheap 适配器(需要凭据)。

本地数据

  • sync — 将 API 数据同步到本地 SQLite。
  • import — 通过 API create/upsert 导入 JSONL。

Agent 与实用工具

  • doctor — 检查身份验证与连接状态。
  • agent-context — 输出描述此 CLI 的结构化 JSON。
  • which — 将功能解析为对应命令。
  • api — 按接口浏览端点。
  • workflow — 执行多步骤复合工作流。
  • profile — 保存并应用具名标志集。
  • feedback — 在本地记录 CLI 反馈。
查找合适的命令

知道要做什么,但不确定该用哪个命令时,可以直接询问 CLI:

domain-goat-pp-cli which "<capability in your own words>"

which 会根据自然语言功能查询,从此 CLI 精选的功能索引中找出最匹配的命令。退出码 0 表示至少找到一个匹配项;退出码 2 表示没有足够可信的匹配项 — 此时可改用 --help,或缩小查询范围。

使用示例

周五品牌提案 — 200 个名称 → 20 个决选项
# 1. Generate, filter, score.
domain-goat-pp-cli gen suggest --seeds-file seeds.txt --tlds com,io,ai,studio --count 200 --available-only --max-renewal 80 --json > /tmp/candidates.json

# 2. Persist the finalists into a shortlist (positional args, not stdin).
domain-goat-pp-cli lists create brand-sprint
domain-goat-pp-cli lists add brand-sprint $(jq -r '.results[].fqdn' /tmp/candidates.json | head -50) --tags generated

# 3. Promote the top 20 by combined ranking.
domain-goat-pp-cli shortlist promote --list brand-sprint --top 20 --by combined --json

生成、筛选、保存、排序 — 不到一分钟即可输出适用于周五演示文稿的结果。

寻找值得竞价的过期域名
domain-goat-pp-cli drops timeline --days 14 --min-score 7 --tld com,io --json --select fqdn,drop_at,score,price

查看未来两周即将过期的域名,经评分筛选,并输出适合 Agent 进一步筛选的结果。

五年实际成本候选名单
domain-goat-pp-cli budget --list ai-startup --max-annual-cost 50 --years 5 --agent --select fqdn,total_5yr,renewal_price

在你爱上某个名称之前,先排除首年 $12、续费 $4,800 的陷阱。

为什么淘汰了这个?
domain-goat-pp-cli why-killed kindred.studio --json

对备注、标签及最新 RDAP / 定价快照执行 FTS5 搜索 — 数周后也能找回组织记忆。

适合 Agent 的对比
domain-goat-pp-cli compare kindred.io kindred.ai kindred.studio --agent --select fqdn,available,price,score,drop_flag,registrar_status

点分路径 --select 可精简 Agent 的上下文 — 每行约 80 字节,而非完整的 RDAP 数据包。

身份验证设置

无需身份验证。

运行 domain-goat-pp-cli doctor 验证设置。

Agent 模式

在任意命令中添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。

  • 支持管道 — JSON 输出到 stdout,错误输出到 stderr

  • 支持筛选 — --select 可保留部分字段。点分路径可深入嵌套结构;数组会逐项遍历。对于内容冗长的 API,此功能对精简上下文至关重要:

    domain-goat-pp-cli compare kindred.io kindred.ai --agent --select fqdn,status,price,score
    
  • 支持预览 — --dry-run 可在不发送请求的情况下显示请求内容

  • 适合离线使用 — 有本地 SQLite 存储时,sync/search 命令可以使用该存储

  • 非交互式 — 从不显示提示,每项输入都通过标志指定

  • 只读 — 请勿使用此 CLI 执行 create、update、delete、publish、comment、upvote、invite、order、send 或其他会更改数据的请求

响应信封

读取本地存储或 API 的命令会将输出封装在来源信封中:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

从 .results 中解析数据,并查看 .meta.source 以了解数据来自实时来源还是本地来源。只有在 stdout 是终端时,才会向 stderr 打印人类可读的 N results (live) 摘要;管道或 Agent 消费者在 stdout 上只会收到纯 JSON。

Agent 反馈

当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:

domain-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
domain-goat-pp-cli feedback --stdin < notes.txt
domain-goat-pp-cli feedback list --json --limit 10

条目会保存在本地的 ~/.domain-goat-pp-cli/feedback.jsonl。除非设置了 DOMAIN_GOAT_FEEDBACK_ENDPOINT,且传入了 --send 或 DOMAIN_GOAT_FEEDBACK_AUTO_SEND=true,否则不会发送 POST 请求。默认仅保存在本地。

写下让你感到意外的地方,而不是 Bug 报告。简短、具体,一行即可:这才是逐渐积累价值的部分。

输出传递

每条命令都接受 --deliver <sink>。除 stdout 之外(或替代 stdout),输出还会发送到指定的接收端,让 Agent 无需手动通过管道即可路由命令结果。支持以下三种接收端:

接收端效果
stdout默认;仅写入 stdout
file:<path>以原子方式将输出写入 <path>(临时文件 + 重命名)
webhook:<url>将输出正文 POST 到该 URL(使用 --compact 时为 application/json 或 application/x-ndjson)

对于未知的协议,会拒绝处理并返回结构化错误,其中会列出支持的协议。Webhook 请求失败时会返回非零状态码,并在 stderr 中记录 URL 和 HTTP 状态码。

命名配置

配置文件是保存的一组标志值,可在多次调用中重复使用。如果计划任务中的 Agent 每次运行都以相同配置调用同一命令,可使用此功能——这就是 HeyGen 的“Beacon”模式。

domain-goat-pp-cli profile save briefing --json --compact
domain-goat-pp-cli --profile briefing compare kindred.io kindred.ai
domain-goat-pp-cli profile list --json
domain-goat-pp-cli profile show briefing
domain-goat-pp-cli profile delete briefing --yes

显式标志始终优先于配置文件中的值;配置文件中的值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,以便 Agent 在运行时发现它们。

退出代码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
5API 错误(上游问题)
7请求过于频繁(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

  1. 为空、help 或 --help → 显示 domain-goat-pp-cli --help 输出
  2. 以 install 开头 → 以 mcp 结尾 → 安装 MCP;否则 → 参见上文的先决条件
  3. 其他任何内容 → 直接使用(将其作为带有 --agent 的 CLI 命令执行)

MCP 服务安装

从此 CLI 发布的公共库条目或预构建版本中安装 MCP 二进制文件,然后注册它:

claude mcp add domain-goat-pp-mcp -- domain-goat-pp-mcp

验证:claude mcp list

直接使用

  1. 检查是否已安装:which domain-goat-pp-cli 如果未找到,请提供安装选项(参见本技能开头的先决条件)。
  2. 将用户查询与上文“独特功能”和“命令参考”中的最佳命令匹配。
  3. 使用 --agent 标志执行:
    domain-goat-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果含义不明确,请查看子命令帮助:domain-goat-pp-cli <command> --help。

评论

支持 Markdown