mcpField
P
pp-cf-domain

pp-cf-domain

github.com/mvanhorn云与 DevOps2.1k59 次安装今天更新
代码仓库

关于 pp-cf-domain

pp-cf-domain 是通过 Printing Press CLI 操作 Cloudflare Registrar 域名的技能,面向执行域名查询与注册的 Agent。它提供实时可用性和价格检查,并支持机器可读的命令输出。

主要功能

  1. 01搜索域名建议与可用性
  2. 02实时检查域名价格
  3. 03通过 Cloudflare Registrar 注册
  4. 04命令查询与 Agent 模式

适用场景

  1. 01查找可注册的域名
  2. 02注册前核对实时价格
  3. 03将命令结果交给 Agent 处理

MCP 相关

该技能说明了安装 cf-domain-pp-mcp 并将其注册为 MCP 服务的方法。

安装

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

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

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

详细介绍

Cf Domain — Printing Press 命令行工具

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

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

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

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

go install github.com/mvanhorn/printing-press-library/library/cloud/cf-domain/cmd/cf-domain-pp-cli@latest

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

命令参考

registrar — 管理注册商

  • cf-domain-pp-cli registrar domain-check — 实时检查域名可用性和价格。必须在注册前立即运行。
  • cf-domain-pp-cli registrar domain-register — 使用账户默认的注册人和付款设置,通过 Cloudflare Registrar 注册域名。危险:调用方...
  • cf-domain-pp-cli registrar domain-search — 在 Cloudflare Registrar 中搜索域名建议和可用性提示。使用 domain-check 获取实时最终价格...
查找合适的命令

如果你知道要做什么,但不知道该用哪个命令,可以直接询问命令行工具:

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

which 会根据自然语言能力查询,从此命令行工具精选的功能索引中找出最匹配的命令。退出代码 0 表示至少有一个匹配项;退出代码 2 表示没有可信的匹配项——请改用 --help,或使用范围更窄的查询。

身份验证设置

运行 cf-domain-pp-cli auth setup 获取令牌的网址和操作步骤(添加 --launch 可打开该网址)。然后存储令牌:

cf-domain-pp-cli auth set-token YOUR_TOKEN_HERE

或者将 CLOUDFLARE_REGISTRAR_DOMAINS_BEARER_AUTH 设置为环境变量。

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

Agent 模式

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

  • 可通过管道传递 — JSON 输出到标准输出,错误输出到标准错误

  • 可筛选 — --select 保留字段的子集。点分路径可深入嵌套结构;数组会逐元素遍历。对于输出冗长的 API,这对控制上下文大小至关重要:

    cf-domain-pp-cli registrar domain-check mock-value --domain-name example-resource --agent --select id,name,status
    
  • 可预览 — --dry-run 显示请求,但不会发送

  • 适用于离线环境 — 有本地 SQLite 存储时,同步/搜索命令可以使用该存储

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

  • 显式重试 — 仅当已存在的创建操作应视为成功时,才使用 --idempotent

响应封装

从本地存储或 API 读取数据的命令会将输出封装在一个来源信息结构中:

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

从 .results 解析数据,并通过 .meta.source 确认数据来自实时来源还是本地来源。仅当标准输出连接到终端时,才会将便于阅读的 N results (live) 摘要打印到标准错误;通过管道接收输出的客户端/Agent 将从标准输出获得纯 JSON。

Agent 反馈

当你(或 Agent)发现此命令行工具有异常之处时,请记录下来:

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

条目会存储在本地的 ~/.cf-domain-pp-cli/feedback.jsonl。除非设置了 CF_DOMAIN_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 CF_DOMAIN_FEEDBACK_AUTO_SEND=true,否则绝不会通过 POST 发送。默认行为仅在本地保存。

记录令你感到意外的地方,而不是提交错误报告。简短、具体、一行即可:这才是能不断积累价值的内容。

输出交付

每条命令都接受 --deliver <sink>。除了(或取代)stdout,输出还会发送到指定的目标,因此 Agent 无需手动通过管道传输即可路由命令结果。支持三种目标:

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

不支持的协议会被拒绝,并返回一条指出受支持协议集的结构化错误。Webhook 请求失败时会返回非零状态码,并在 stderr 上记录 URL + HTTP 状态码。

命名配置

配置是已保存的一组标志值,可在多次调用中重复使用。若定时运行的 Agent 每次都以相同配置调用同一条命令,可使用配置,例如 HeyGen 的“Beacon”模式。

cf-domain-pp-cli profile save briefing --json
cf-domain-pp-cli --profile briefing registrar domain-check mock-value --domain-name example-resource
cf-domain-pp-cli profile list --json
cf-domain-pp-cli profile show briefing
cf-domain-pp-cli profile delete briefing --yes

显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,供执行运行时自省的 Agent 发现。

退出代码

代码含义
0成功
2用法错误(参数错误)
3未找到资源
4需要身份验证
5API 错误(上游问题)
7请求频率受限(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

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

安装 MCP 服务

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

claude mcp add cf-domain-pp-mcp -- cf-domain-pp-mcp

验证:claude mcp list

直接使用

  1. 检查是否已安装:which cf-domain-pp-cli 如果未找到,请提供安装选项(参见此技能开头的先决条件)。
  2. 根据上方的独特功能和命令参考,将用户查询匹配到最合适的命令。
  3. 使用 --agent 标志执行:
    cf-domain-pp-cli <command> [subcommand] [args] --agent
    
  4. 如果存在歧义,请查看子命令帮助:cf-domain-pp-cli <command> --help。

评论

支持 Markdown