关于 pp-namecheap
pp-namecheap 是用于查询 Namecheap 域名、DNS、SSL 和账户信息的命令行技能,面向需要在 Agent 工作流中读取和分析账户数据的用户。README 将其限定为只读用途。
主要功能
- 01检查域名可用性并查询域名信息
- 02读取 DNS 主机、名称服务器和邮件转发
- 03查询 SSL 证书信息并解析 CSR
- 04查看用户地址、余额和定价
- 05以 JSON 输出并筛选字段
适用场景
- 01核查域名是否可注册
- 02检查域名的 DNS 配置
- 03查看账户中的 SSL 证书
- 04整理账户余额和价格信息
MCP 相关
README说明可安装 namecheap-pp-mcp,并通过 Claude Code 注册。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-namecheap安装后在 Claude Code 中输入/pp-namecheap确认已加载。
详细介绍
Namecheap — Printing Press CLI
前提条件:安装 CLI
此技能由 namecheap-pp-cli 二进制文件驱动。**调用此技能中的任何命令前,必须确认 CLI 已安装。**如果尚未安装,请先安装:
- 使用 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install namecheap --cli-only - 验证:
namecheap-pp-cli --version - 确保所报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、处于离线状态等),请改用直接通过 Go 安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/developer-tools/namecheap/cmd/namecheap-pp-cli@latest
如果安装后 --version 报告“command not found”,说明运行时无法在 $PATH 中找到二进制文件目录。验证成功前,请勿继续运行此技能中的命令。
不要使用此 CLI 的情况
对于需要创建、更新、删除、发布、评论、点赞、邀请、订购、发送消息、预订、购买或更改远程状态的请求,请勿启用此 CLI。此打印版 CLI 仅提供用于检查、导出、同步和分析的只读命令。
命令参考
dns — 管理 DNS
namecheap-pp-cli dns get-email-forwarding— 运行namecheap.domains.dns.getEmailForwarding。namecheap-pp-cli dns get-hosts— 运行namecheap.domains.dns.getHosts。namecheap-pp-cli dns get-list— 获取 DNS 名称服务器类型和名称服务器。namecheap-pp-cli dns set-custom— 运行namecheap.domains.dns.setCustom。namecheap-pp-cli dns set-default— 将域名切换为 Namecheap 默认 DNS。namecheap-pp-cli dns set-hosts— 运行namecheap.domains.dns.setHosts;可通过……传入 HostName1/RecordType1/Address1/TTL1 格式的参数。
domains — 管理域名
namecheap-pp-cli domains check— 检查一个或多个域名是否可用。namecheap-pp-cli domains create— 运行namecheap.domains.create。这是会更改状态的付费操作;除非确定要注册,否则请使用 dry-run。namecheap-pp-cli domains get-contacts— 运行namecheap.domains.getContacts。namecheap-pp-cli domains get-info— 运行namecheap.domains.getInfo,获取域名信息。namecheap-pp-cli domains get-list— 运行namecheap.domains.getList,支持分页和可选筛选条件。namecheap-pp-cli domains get-registrar-lock— 运行namecheap.domains.getRegistrarLock。namecheap-pp-cli domains get-tld-list— 运行namecheap.domains.getTldList。namecheap-pp-cli domains renew— 运行namecheap.domains.renew。会更改状态的付费操作。namecheap-pp-cli domains set-registrar-lock— 运行namecheap.domains.setRegistrarLock。
ssl — 管理 SSL
namecheap-pp-cli ssl get-info— 获取 SSL 证书信息。namecheap-pp-cli ssl get-list— 运行namecheap.ssl.getList。namecheap-pp-cli ssl parse-csr— 解析证书签名请求。
users — 管理用户
namecheap-pp-cli users address-get-info— 运行namecheap.users.address.getInfo。namecheap-pp-cli users address-get-list— 运行namecheap.users.address.getList。namecheap-pp-cli users get-balances— 运行namecheap.users.getBalances。namecheap-pp-cli users get-pricing— 运行namecheap.users.getPricing。
查找合适的命令
如果你知道要做什么,但不知道该使用哪个命令,可以直接询问 CLI:
namecheap-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出代码 0 表示至少找到一项匹配;退出代码 2 表示没有足够可信的匹配项,此时请改用 --help 或缩小查询范围。
身份验证设置
运行 namecheap-pp-cli auth setup,以显示获取密钥的网址和步骤(添加 --launch 可打开网址)。然后设置:
export NAMECHEAP_API_KEY="<your-key>"
或者将其保存到 ~/.config/namecheap-pp-cli/config.toml。
运行 namecheap-pp-cli doctor,验证设置。
Agent 模式
在任意命令后添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可管道传输 — JSON 输出到 stdout,错误输出到 stderr
-
可筛选 —
--select保留字段子集。带点路径可深入嵌套结构;数组会逐元素遍历。在响应冗长的 API 中,这对精简上下文至关重要:namecheap-pp-cli dns get-email-forwarding --agent --select id,name,status -
可预览 —
--dry-run显示请求但不发送 -
适合离线使用 — 有本地 SQLite 存储时,同步/搜索命令可以使用它
-
非交互式 — 绝不提示输入,每项输入都是一个标志
-
只读 — 请勿使用此 CLI 执行创建、更新、删除、发布、评论、点赞、邀请、订购、发送或其他会修改数据的请求
响应封装
从本地存储或 API 读取数据的命令,会将输出封装在来源信息中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并查看 .meta.source 了解数据来自实时 API 还是本地存储。只有当 stdout 连接到终端,且未设置机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会将便于人类阅读的 N results (live) 摘要打印到 stderr;管道/Agent 调用方和显式指定格式的运行会在 stdout 输出纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:
namecheap-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
namecheap-pp-cli feedback --stdin < notes.txt
namecheap-pp-cli feedback list --json --limit 10
记录会保存在本地 ~/.namecheap-pp-cli/feedback.jsonl。只有在设置了 NAMECHEAP_FEEDBACK_ENDPOINT,且传入了 --send 或设置了 NAMECHEAP_FEEDBACK_AUTO_SEND=true 时,记录才会通过 POST 发送。默认仅保存在本地。
请写下让你感到意外的地方,而不是提交错误报告。简短、具体,写成一行:这才是会不断积累的内容。
输出传递
每条命令都接受 --deliver <sink>。输出会发送到指定的目标位置,同时输出到 stdout 或替代 stdout,因此 Agent 无需手动使用管道即可路由命令结果。支持以下 3 种目标:
| 目标 | 效果 |
|---|---|
stdout | 默认值;仅输出到 stdout |
file:<path> | 原子写入输出到 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到 URL(使用 --compact 时为 application/json 或 application/x-ndjson) |
不支持的协议会被拒绝,并返回结构化错误,列出受支持的协议。Webhook 请求失败时会返回非零状态码,并在 stderr 中记录 URL 和 HTTP 状态码。
命名配置
配置是保存的一组标志值,可在多次调用中重复使用。如果定时运行的 Agent 每次都以相同配置调用同一命令,就可以使用配置——这就是 HeyGen 的“Beacon”模式。
namecheap-pp-cli profile save briefing --json
namecheap-pp-cli --profile briefing dns get-email-forwarding
namecheap-pp-cli profile list --json
namecheap-pp-cli profile show briefing
namecheap-pp-cli profile delete briefing --yes
显式标志始终优先于配置值;配置值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置,供内省型 Agent 在运行时发现。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 请求过于频繁(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示namecheap-pp-cli --help的输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 请参阅上方的先决条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并添加
--agent)
安装 MCP 服务
从此 CLI 发布的公共库条目或预构建版本安装 MCP 二进制文件,然后注册:
claude mcp add namecheap-pp-mcp -- namecheap-pp-mcp
验证:claude mcp list
直接使用
- 检查是否已安装:
which namecheap-pp-cli如果未找到,请提供安装选项(参见本技能顶部的先决条件)。 - 根据“独特功能”和“命令参考”部分,为用户查询选择最合适的命令。
- 使用
--agent标志执行:namecheap-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,请查看子命令帮助:
namecheap-pp-cli <command> --help。