porkbun-mcp-server
Provides tools for managing domains, DNS records, DNSSEC, SSL certificates, glue records, URL forwarding, labels, domain registration/renewal/transfers, marketplace, account information, email hosting, and API keys via the Porkbun API v3.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@porkbun-mcp-serverlist DNS records for example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
porkbun-mcp-server
Model Context Protocol server for Porkbun's API v3 — full coverage of domains, DNS records, DNSSEC, SSL bundle retrieval, glue records, URL forwarding, labels, domain registration/renewal/transfers, marketplace, account management, email hosting, and API key management.
Every mutation tool requires a reason argument and emits an audit row via a pluggable handler, so DNS changes are always traceable.
Install
pip install porkbun-mcp-serverOr from source:
git clone https://github.com/Avicennasis/porkbun-mcp-server.git
cd porkbun-mcp-server
pip install -e ".[dev]"Related MCP server: spaceship-mcp
Register with Claude Code
claude mcp add porkbun -- porkbun-mcpOr for other MCP clients, add to your configuration:
{
"mcpServers": {
"porkbun": {
"command": "porkbun-mcp",
"env": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}Configure
Variable | Required | Description |
| Yes | Your Porkbun API key ( |
| Yes | Your Porkbun secret key ( |
| No | Set |
| No | Audit handler — see Audit Handler |
| No | Pricing cache TTL in seconds (default: 86400, |
Get your API keys at porkbun.com/account/api. Ensure API access is enabled for the domains you want to manage.
Tools (49)
DNS Records
list_dns_records create_dns_record bulk_create_dns_records get_dns_record get_dns_records_by_name_type edit_dns_record edit_dns_records_by_name_type delete_dns_record delete_dns_records_by_name_type
DNSSEC
get_dnssec_records create_dnssec_record delete_dnssec_record
Domains
list_domains get_domain check_availability check_bulk_availability register_domain renew_domain transfer_domain get_transfer_status list_transfers update_auto_renew list_labels add_label remove_label create_glue update_glue get_glue delete_glue create_invite get_invite_status
Nameservers
get_name_servers update_name_servers
SSL
get_ssl_bundle
URL Forwarding
get_url_forwarding add_url_forward delete_url_forward
Account & Pricing
ping get_ip get_account_balance get_api_settings get_pricing get_pricing_for_tld list_supported_tlds request_api_key retrieve_api_key
Email & Marketplace
set_email_password get_marketplace
Audit Handler
Every mutation tool emits an audit row. The handler is configured via PORKBUN_MCP_AUDIT_HANDLER:
Value | Behavior |
unset or | Append JSONL to |
Absolute path | Shell out to the binary with |
| Disable audit (not recommended) |
Audit failures are always swallowed — mutations are never blocked by logging issues.
JSONL format
{"ts": "2026-06-12T18:00:00+00:00", "source": "porkbun-mcp", "category": "dns", "action": "POST", "service": "example.com", "target": "A `www`", "reason": "point www to new server"}Pricing Cache
get_pricing, get_pricing_for_tld, and list_supported_tlds are served from a disk cache at $XDG_CACHE_HOME/porkbun-mcp/pricing.json (default ~/.cache/porkbun-mcp/pricing.json). TTL defaults to 24 hours; override with PORKBUN_PRICING_CACHE_TTL. Pass force_refresh=true to bypass the cache. Mutable data (DNS records, domain inventory) is never cached.
Development
git clone https://github.com/Avicennasis/porkbun-mcp-server.git
cd porkbun-mcp-server
pip install -e ".[dev]"
pytest -vLicense
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Avicennasis/porkbun-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server