这是一个提供与Porkbun API (v3)交互工具的模型上下文协议(MCP)服务器。
此服务器允许兼容MCP的客户端(如AI助手、IDE扩展等)通过标准化接口管理Porkbun域名、DNS记录、SSL证书等。
ping_porkbun
list_domains
start(可选数字):开始检索域名的索引(默认0)。includeLabels(可选枚举:"yes"):是否包含域名标签。get_dns_records
domain(字符串):域名。create_dns_record
domain(字符串):域名。name(可选字符串):子域(留空表示根域,* 表示通配符)。type(字符串):记录类型(A, CNAME, MX, TXT, NS, AAAA, SRV, TLSA, CAA, HTTPS, SVCB)。content(字符串):记录内容/答案。ttl(可选数字):生存时间(秒,默认600,最小600)。prio(可选数字):优先级(MX/SRV记录需要)。edit_dns_record
domain(字符串):域名。record_id(字符串):要编辑的记录ID。name(可选字符串):新的子域。type(字符串):新的记录类型(A, CNAME, MX 等)。content(字符串):新的记录内容/答案。ttl(可选数字):新的生存时间(秒,默认600,最小600)。prio(可选数字):新的优先级(MX/SRV记录需要)。delete_dns_record
domain(字符串):域名。record_id(字符串):要删除的记录ID。get_ssl_bundle
domain(字符串):域名。certificatechain、privatekey和publickey的对象。update_nameservers
domain(字符串):域名。ns(字符串数组):名称服务器主机名数组。get_nameservers
domain(字符串):域名。add_url_forward
domain(字符串):域名。subdomain(可选字符串):要转发的子域(留空表示根域)。location(字符串):要转发到的URL。type(枚举:"temporary", "permanent"):转发类型。includePath(可选枚举:"yes", "no"):在重定向中包含URI路径(默认"no")。wildcard(可选枚举:"yes", "no"):也转发所有子域(默认"no")。get_url_forwarding
domain(字符串):域名。delete_url_forward
domain (字符串):域名。forward_id(字符串):要删除的URL转发记录ID。check_domain
domain(字符串):要检查的域名。edit_dns_record_by_name_type
domain(字符串):域名。type(字符串):要编辑的记录类型。name(可选字符串):要编辑的子域(留空表示根域,* 表示通配符)。content(字符串):匹配记录的新答案内容。ttl(可选数字):新的生存时间(秒,默认600,最小600)。prio(可选数字):新的优先级(MX/SRV记录需要)。delete_dns_record_by_name_type
domain(字符串):域名。type(字符串):要删除的记录类型。name(可选字符串):要删除的子域(留空表示根域,* 表示通配符)。retrieve_dns_record_by_name_type
domain(字符串):域名。type(字符串):要检索的记录类型。name(可选字符串):要检索的子域(留空表示根域,* 表示通配符)。create_dnssec_record
domain(字符串):域名。keyTag(字符串):密钥标签。alg(字符串):DS数据算法。digestType(字符串):摘要类型。digest(字符串):摘要。maxSigLife(可选字符串):最大签名寿命。keyDataFlags(可选字符串):密钥数据标志。keyDataProtocol(可选字符串):密钥数据协议。keyDataAlgo(可选字符串):密钥数据算法。keyDataPubKey(可选字符串):密钥数据公钥。get_dnssec_records
domain(字符串):域名。delete_dnssec_record
domain(字符串):域名。keyTag(字符串):要删除的DNSSEC记录的密钥标签。克隆仓库:
git clone https://github.com/miraclebakelaser/porkbun-mcp-server.git
cd porkbun-mcp-server
安装依赖项:
npm install
配置API密钥: 您可以通过多种方式提供您的Porkbun API密钥和秘密密钥(优先级从高到低):
PORKBUN_API_KEY和PORKBUN_SECRET_API_KEY。.env文件: 在自定义位置创建一个.env文件,并在运行服务器时使用--dotenv-path(或-p)命令行参数指定其路径(参见运行服务器部分)。.env文件: 在项目根目录下(porkbun-mcp-server/.env)创建一个名为.env的文件,内容如下:
PORKBUN_API_KEY=YOUR_API_KEY
PORKBUN_SECRET_API_KEY=YOUR_SECRET_API_KEY
将YOUR_API_KEY和YOUR_SECRET_API_KEY替换为您实际的密钥。
重要提示: 如果您计划将此项目提交到版本控制系统,请将.env文件添加到.gitignore中。
编译TypeScript代码为JavaScript:
npm run build
这将在build/目录中创建可执行的JavaScript文件。
您可以直接使用Node.js运行已编译的服务器。
标准启动:
使用默认的.env位置或系统环境变量。
npm start
# 或直接:
node build/index.js
具有自定义.env路径的启动:
使用--dotenv-path或-p参数指定.env文件的位置:
node build/index.js --dotenv-path /path/to/your/.env
# 或简写:
node build/index.js -p /path/to/your/.env
开发模式:
dev脚本会监视更改并自动重新构建/重启。当使用npm run dev时,传递如--dotenv-path这样的参数给底层的node命令通常需要使用--:
# 开发模式,使用默认的.env
npm run dev
# 开发模式,使用自定义的.env路径
npm run dev -- --dotenv-path /path/to/your/.env
# 或
npm run dev -- -p /path/to/your/.env
服务器使用MCP stdio传输(标准输入/输出)进行通信。
要将此服务器与Claude Desktop应用程序一起使用,请在您的claude_desktop_config.json文件的“mcpServers”部分添加以下配置:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json
(如果不存在,请创建该文件)。重要提示: 用您系统上的正确绝对路径替换下面的占位符路径。
确保使用此项目中build/index.js文件的绝对路径。如果需要,也可以在此处传递--dotenv-path参数:
{
"mcpServers": {
"porkbun": {
"command": "node",
"args": [
"/absolute/path/to/your/porkbun-mcp-server/build/index.js",
// 可选:如果需要,添加自定义的.env路径
// "--dotenv-path",
// "/absolute/path/to/your/.env"
]
// 可选:如果在运行服务器的环境中没有密钥
// (且不使用.env或--dotenv-path),可以在这里添加它们:
// "env": {
// "PORKBUN_API_KEY": "YOUR_API_KEY",
// "PORKBUN_SECRET_API_KEY": "YOUR_SECRET_API_KEY"
// }
}
// 如有需要,可以添加其他服务器
}
}
记得替换/absolute/path/to/your/porkbun-mcp-server/build/index.js(以及如果使用的.env路径)为您的系统上的正确绝对路径。保存配置文件并重启Claude Desktop。
现在,Porkbun工具应该可以在Claude中使用了。
此MCP服务器根据MIT许可证发布。这意味着您可以在遵守MIT许可证条款和条件的前提下自由使用、修改和分发软件。更多详情,请参阅项目存储库中的LICENSE文件。