关于 Porkbun DNS 🐷
Porkbun DNS 是一个 MCP 服务,用于通过 Porkbun API 管理 DNS 记录、域名、DNSSEC 和 SSL 证书。默认以只读模式运行,写操作需显式开启,适合希望控制变更风险的用户。
主要功能
- 01DNS 记录的查询、创建、编辑与删除
- 02域名、名称服务器与 URL 转发管理
- 03DNSSEC 记录与 SSL 证书包获取
- 04只读模式为默认设置,写操作需手动启用
- 05提供 DNS 配置相关的预设提示词
适用场景
- 01为新服务器配置根域名 A 记录与 www 记录
- 02检查 DNS 配置中的重复记录、缺失邮件记录与过低 TTL
- 03迁移服务器 IP 时批量更新 DNS 记录
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 Porkbun 的 DNS、域名、DNSSEC 和 SSL 相关工具、提示词,支持 stdio 与 SSE 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
porkbun-mcp
适用于 Porkbun DNS API 的 MCP 服务。
通过 Model Context Protocol 管理 DNS 记录、域名、DNSSEC、SSL 证书等。
配置
将 Porkbun API 凭据设置为环境变量:
export PORKBUN_API_KEY="pk1_..."
export PORKBUN_SECRET_KEY="sk1_..."
请从 Porkbun API Access 页面获取 API 密钥。
只读模式(默认)
为确保安全,porkbun-mcp 默认以只读模式运行。在明确启用之前,写入操作 (创建、编辑、删除)都会返回错误。
启用写入操作
让小猪放开手脚,尽情折腾:
环境变量:
export PORKBUN_GET_MUDDY=true
CLI 标志:
uvx porkbun-mcp --get-muddy
使用方法
使用 uvx 直接运行(无需安装):
uvx porkbun-mcp
SSE 传输
uvx porkbun-mcp --transport sse
MCP 客户端配置
Claude Desktop
添加到 ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"porkbun": {
"command": "uvx",
"args": ["porkbun-mcp", "--get-muddy"],
"env": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
注意: 只读模式(出于安全考虑,建议使用)下,请从 args 中移除
--get-muddy。
Claude Code / Codex
添加到 ~/.claude/settings.json:
{
"mcpServers": {
"porkbun": {
"command": "uvx",
"args": ["porkbun-mcp", "--get-muddy"],
"env": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
VS Code
添加到工作区的 .vscode/mcp.json 中(或使用 MCP: Add Server 命令):
{
"servers": {
"porkbun": {
"command": "uvx",
"args": ["porkbun-mcp", "--get-muddy"],
"env": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
OpenCode
添加到你的 opencode.json 配置中:
{
"mcp": {
"porkbun": {
"type": "local",
"command": ["uvx", "porkbun-mcp", "--get-muddy"],
"environment": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
可用工具
DNS
dns_list- 列出域名的所有 DNS 记录dns_get- 按 ID 获取特定 DNS 记录dns_get_by_name_type- 按子域名和类型获取 DNS 记录dns_create- 创建新的 DNS 记录dns_edit- 按 ID 编辑 DNS 记录dns_edit_by_name_type- 按子域名和类型编辑 DNS 记录dns_delete- 按 ID 删除 DNS 记录dns_delete_by_name_type- 按子域名和类型删除 DNS 记录
域名
domains_list- 列出账户中的所有域名domains_get_nameservers- 获取域名的名称服务器domains_update_nameservers- 更新域名的名称服务器domains_get_url_forwards- 获取 URL 转发规则domains_add_url_forward- 添加 URL 转发规则domains_delete_url_forward- 删除 URL 转发规则domains_check_availability- 检查域名是否可用及其价格domains_get_glue_records- 获取域名的胶水记录
DNSSEC
dnssec_list- 列出域名的 DNSSEC 记录dnssec_create- 创建 DNSSEC 记录dnssec_delete- 删除 DNSSEC 记录
SSL
ssl_retrieve- 获取域名的 SSL 证书包
定价
pricing_get- 获取所有可用 TLD 的价格
实用工具
ping- 测试 API 连通性并获取你的公网 IP
提示词
用于引导常见 DNS 操作的预定义工作流:
dns_setup- 为新服务器设置基本 DNS(根域名 A 记录 + www 记录)dns_audit- 检查 DNS 配置问题(重复记录、缺少电子邮件记录、TTL 过低)email_dns_setup- 配置电子邮件 DNS(MX、SPF、DKIM、DMARC)update_server_ip- 迁移到新的服务器 IP 时更新 DNS 记录subdomain_setup- 为新子域名创建 A/CNAME 记录
开发
# Install dependencies
uv sync --dev
# Run all checks
make check
# Individual commands
make lint # ruff check
make format # ruff format
make typecheck # ty check
make test # pytest with coverage
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。