dsh-namecheap-mcp
Namecheap 官方 MCP 的 DeepSeek Harness 连接器。装上之后,域名、DNS 记录、Nameserver、联系人都变成 mcp__namecheap__* 原生工具,可以直接在对话里查和改。
Unofficial community plugin. Not affiliated with or endorsed by Namecheap, Inc.
它解决什么
Namecheap 在 https://mcp.namecheap.com/mcp 提供了官方 MCP 服务,但它是 Streamable HTTP + OAuth 2.0(PKCE + 动态客户端注册)。
DSH 内置的 @deepseek-ai/dsh-mcp-client 只支持 stdio 和带静态 header 的 HTTP,无法完成 OAuth 流程。
这个插件用 mcp-remote 在本机做一次协议桥接:
DSH 插件(纯配置,无运行时代码)
└─ @deepseek-ai/dsh-mcp-client ← transport: stdio
└─ npx mcp-remote https://mcp.namecheap.com/mcp
└─ OAuth 2.0 → namecheap.com 官方登录页
└─ token 缓存于 ~/.mcp-auth/mcp-remote-v1/
安装
dsh plugin --profile <profile> add dsh-namecheap-mcp
或直接从 GitHub 装:
dsh plugin --profile <profile> add github:2000lla/dsh-namecheap-mcp
装完重启 DSH。工具名会以 mcp__namecheap__ 为前缀出现。
认证
第一次调用任意工具时,mcp-remote 会打开浏览器并跳转到 Namecheap 自己的登录/授权页面。
密码只在 namecheap.com 输入,不经过 DSH,也不会写进任何配置文件;插件只保存 OAuth token。
- access token 有效期 20 分钟,之后用 refresh token 自动续期
- token 存放位置:
~/.mcp-auth/mcp-remote-v1/ - 需要重新授权时,删掉该目录里对应 hash 的
*_tokens.json后重启即可
授权时会请求三个 scope:mcp.namecheap.com.read、mcp.namecheap.com.write、offline_access。
提供的工具(12 个)
| 工具 | 读写 | 说明 |
|---|---|---|
domains_list |
读 | 列出账号下的域名 |
domains_check_availability |
读 | 批量检查域名可用性(1–20 个) |
dns_records_get |
读 | 分页读取 DNS 记录,支持过滤 |
contacts_list / contacts_get |
读 | 查看已保存的联系人 |
dns_records_save |
写 | 新增记录或修改 TTL |
dns_records_delete |
写 | 删除记录(TXT 记录大小写敏感) |
domain_set_nameservers |
写 | 修改注册商级 Nameserver |
domain_set_contacts |
写 | 修改 registrant/admin/tech/billing |
contacts_save |
写 | 新建联系人 |
domain_register |
写 | 注册域名 |
domain_purchase_link |
读 | 生成走 Namecheap 官方支付页的购买链接 |
写操作没有二次确认,建议先只用读类工具验证连通性。
配置
接入参数在 cordis.patch.yml:
| 字段 | 值 | 说明 |
|---|---|---|
serverName |
namecheap |
决定工具前缀 mcp__namecheap__ |
transport |
stdio |
通过 mcp-remote 桥接 |
command / args |
由 !!js 按平台求值 |
Windows 用 cmd /c;macOS/Linux 用 /bin/sh -c 并补齐 Homebrew PATH |
toolCallTimeoutMs |
120000 |
首次调用要等 npx 解析与 OAuth,给足时间 |
failOnStartupError |
true |
启动失败时插件不激活,但不会拖垮 harness |
平台适配
命令在加载时由 !!js 表达式决定,同一个包在 Windows / macOS / Linux 上都能用:
| 平台 | 实际执行的命令 |
|---|---|
| Windows | cmd /c npx -y mcp-remote@0.15.2 https://mcp.namecheap.com/mcp |
| macOS / Linux | /bin/sh -c 'export PATH=$PATH:/opt/homebrew/bin:/usr/local/bin; exec npx -y mcp-remote@0.15.2 …' |
macOS 为什么要绕一层 /bin/sh:从 Finder 或 Dock 启动的 GUI 应用继承的是最小 PATH(通常只有 /usr/bin:/bin:/usr/sbin:/sbin),Homebrew 的 /opt/homebrew/bin 和 nvm 的路径都不在里面,直接 spawn npx 会 ENOENT。这里在 exec 之前把两个常见前缀补上。
如果你的 Node 装在别的地方(例如 nvm 的 ~/.nvm/versions/node/vX/bin),把该路径加进上面的 PATH= 列表,或者干脆把 npx 换成绝对路径。验证方式:
# 终端里能看到 npx 的真实路径
which npx
安全说明
- 插件本身不含任何凭据,token 由
mcp-remote存在用户目录 mcp-remote会在127.0.0.1上起一个 OAuth 回调端口(默认 3334),仅在授权阶段使用- 写类工具会直接作用于你的真实域名,请谨慎授权
License
MIT
No comments yet. Be the first to write one.