mcpField
P
pp-namecheap

pp-namecheap

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

关于 pp-namecheap

pp-namecheap 是用于查询 Namecheap 域名、DNS、SSL 和账户信息的命令行技能,面向需要在 Agent 工作流中读取和分析账户数据的用户。README 将其限定为只读用途。

主要功能

  1. 01检查域名可用性并查询域名信息
  2. 02读取 DNS 主机、名称服务器和邮件转发
  3. 03查询 SSL 证书信息并解析 CSR
  4. 04查看用户地址、余额和定价
  5. 05以 JSON 输出并筛选字段

适用场景

  1. 01核查域名是否可注册
  2. 02检查域名的 DNS 配置
  3. 03查看账户中的 SSL 证书
  4. 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 已安装。**如果尚未安装,请先安装:

  1. 使用 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到 $HOME/.local/bin;在 Windows 上,默认安装到 %LOCALAPPDATA%\Programs\PrintingPress\bin:
    npx -y @mvanhorn/printing-press-library install namecheap --cli-only
    
  2. 验证:namecheap-pp-cli --version
  3. 确保所报告的安装目录位于将调用此技能的 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需要身份验证
5API 错误(上游问题)
7请求过于频繁(等待后重试)
10配置错误

参数解析

解析 $ARGUMENTS:

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

安装 MCP 服务

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

claude mcp add namecheap-pp-mcp -- namecheap-pp-mcp

验证:claude mcp list

直接使用

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

评论

支持 Markdown