使用说明
Porkbun MCP服务器
一个模型上下文协议(MCP)服务器,提供与 Porkbon API(v3).
此服务器允许MCP兼容客户端(如AI助手、IDE扩展等)通过标准化接口管理Porkbun域、DNS记录、SSL证书等。
工具
-
ping_porkbun- 测试Porkbun API连接和身份验证。
- 输入:无
- 返回:成功消息,包括客户端的公共IP地址,或错误消息。
-
list_domains- 检索Porkbun帐户中的域列表。
- 输入:
start(可选数字):开始检索域的索引(默认值0)。includeLabels(可选枚举:“yes”):包括域标签。
- 返回:一个域对象数组,包含状态、到期日期等详细信息。
-
get_dns_records- 检索指定域的所有DNS记录。
- 输入:
domain(string):域名。
- 返回:DNS记录对象数组。
-
create_dns_record- 将新DNS记录添加到指定域。
- 输入:
domain(string):域名。name(可选字符串):子域(根为空,通配符为*)。type(string):记录类型(A、CNAME、MX、TXT、NS、AAAA、SRV、TLSA、CAA、HTTPS、SVCB)。content(string):记录内容/答案。ttl(可选数字):生存时间,以秒为单位(默认值600,min 600)。prio(可选编号):优先级(MX/SRV记录需要)。
- 返回:带有新记录ID的成功消息。
-
edit_dns_record- 使用现有DNS记录的ID修改该记录。
- 输入:
domain(string):域名。record_id(string):要编辑的记录的ID。name(可选字符串):新建子域。type(string):新记录类型(A、CNAME、MX等)。content(string):新记录内容/答案。ttl(可选数字):以秒为单位的新TTL(默认值600,最小值600)。prio(可选编号):新优先级(适用于MX/SRV记录)。
- 返回:成功消息。
-
delete_dns_record- 使用特定DNS记录的ID删除该记录。
- 输入:
domain(string):域名。record_id(string):要删除的记录的ID。
- 返回:成功消息。
-
get_ssl_bundle- 检索指定域的SSL证书包。
- 输入:
domain(string):域名。
- 返回:一个包含
certificatechain,privatekey,以及publickey.
-
update_nameservers- 更新指定域的名称服务器。
- 输入:
domain(string):域名。ns(字符串数组):名称服务器主机名数组。
- 返回:成功消息。
-
get_nameservers- 从注册表获取指定域的权威名称服务器。
- 输入:
domain(string):域名。
- 返回:名称服务器主机名数组。
-
add_url_forward- 为域或子域添加URL转发。
- 输入:
domain(string):域名。subdomain(可选字符串):要转发的子域(root留空)。location(string):要转发到的URL。type(枚举:“临时”、“永久”):转发类型。includePath(可选枚举:“是”、“否”):在重定向中包含URI路径(默认为“否”)。wildcard(可选枚举:“yes”,“no”):同时转发所有子域(默认为“no”。
- 返回:成功消息。
-
get_url_forwarding- 获取域的URL转发记录。
- 输入:
domain(string):域名。
- 返回:URL转发记录对象的数组。
-
delete_url_forward- 按ID删除域的URL转发记录。
- 输入:
domain(string):域名。forward_id(string):要删除的URL转发记录的ID。
- 返回:成功消息。
-
check_domain- 检查域名的可用性。
- 输入:
domain(string):要检查的域名。
- 返回:一个详细说明域的可用性、定价和高级状态的对象。
-
edit_dns_record_by_name_type- 编辑与域、子域(可选)和类型匹配的所有DNS记录。
- 输入:
domain(string):域名。type(string):要编辑的记录类型。name(可选字符串):要编辑的子域(根为空,通配符为*)。content(string):匹配记录的新答案内容。ttl(可选数字):新的TTL(默认值600,最小值600)。prio(可选编号):新的优先级(适用于MX/SRV记录)。
- 返回:成功消息。
-
delete_dns_record_by_name_type- 删除与域、子域(可选)和类型匹配的所有DNS记录。
- 输入:
domain(string):域名。type(string):要删除的记录类型。name(可选字符串):要删除的子域名(根为空,通配符为*)。
- 返回:成功消息。
-
retrieve_dns_record_by_name_type- 检索与域、子域(可选)和类型匹配的所有DNS记录。
- 输入:
domain(string):域名。type(string):要检索的记录类型。name(可选字符串):要检索的子域(根为空,通配符为*)。
- 返回:匹配的DNS记录对象数组。
-
create_dnssec_record- 在注册表中为域创建DNSSEC记录。
- 输入:
domain(string):域名。keyTag(string):密钥标签。alg(string):DS数据算法。digestType(string):摘要类型。digest(string):摘要。maxSigLife(可选字符串):最大信号寿命。keyDataFlags(可选字符串):关键数据标志。keyDataProtocol(可选字符串):密钥数据协议。keyDataAlgo(可选字符串):密钥数据算法。keyDataPubKey(可选字符串):密钥数据公钥。
- 返回:成功消息。
-
get_dnssec_records- 获取与注册表中的域关联的DNSSEC记录。
- 输入:
domain(string):域名。
- 返回值:一个包含DNSSEC记录的对象,由密钥标签键控。
-
delete_dnssec_record- 通过密钥标记删除注册表中与域关联的DNSSEC记录。
- 输入:
domain(string):域名。keyTag(string):要删除的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文件: 创建一个名为的文件.env在项目根目录中(porkbun-mcp-server/.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/ 目录。
运行服务器
您可以直接使用Node.js运行编译后的服务器。
标准开始时间:
使用默认值 .env 位置或系统环境变量。
npm start
# or directly:
node build/index.js
从自定义开始 .env 路径:
使用 --dotenv-path 或 -p 用于指定您的位置的参数 .env 文件:
node build/index.js --dotenv-path /path/to/your/.env
# or shorthand:
node build/index.js -p /path/to/your/.env
开发模式:
这 dev 脚本监视更改并自动重建/重新启动。传递以下论点 --dotenv-path 到底层 node 使用时的命令 npm run dev,您通常需要使用 --:
# Development with default .env
npm run dev
# Development with custom .env path
npm run dev -- --dotenv-path /path/to/your/.env
# or
npm run dev -- -p /path/to/your/.env
服务器使用MCP进行通信 stdio 运输(标准输入/输出)。
使用Claude Desktop
要将此服务器与Claude Desktop应用程序一起使用,请将以下配置添加到您的“mcpServers”部分 claude_desktop_config.json:
- macOS:
~/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",
// Optional: Add custom .env path if needed
// "--dotenv-path",
// "/absolute/path/to/your/.env"
]
// Optional: If keys aren't in the environment where Claude runs the server
// (and not using .env or --dotenv-path), you can add them here:
// "env": {
// "PORKBUN_API_KEY": "YOUR_API_KEY",
// "PORKBUN_SECRET_API_KEY": "YOUR_SECRET_API_KEY"
// }
}
// Add other servers here if needed
}
}
记得更换 /absolute/path/to/your/porkbun-mcp-server/build/index.js (以及可选 .env 如果使用了路径,请在系统上使用正确的绝对路径。保存配置文件并 重新启动克劳德桌面.
Porkbun工具现在应该可以在Claude中使用。
许可证
此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅 许可证 项目存储库中的文件。