porkbun-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORKBUN_API_KEY | Yes | Your Porkbun API key | |
| PORKBUN_GET_MUDDY | No | Enable write operations (set to 'true' to allow modifications) | false |
| PORKBUN_SECRET_KEY | Yes | Your Porkbun secret key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Test API connectivity and get your public IP address. |
| dns_listA | List all DNS records for a domain. |
| dns_getA | Get a specific DNS record by ID. |
| dns_get_by_name_typeB | Get DNS records by subdomain and type. |
| dns_createA | Create a new DNS record. |
| dns_editA | Edit a DNS record by ID. |
| dns_edit_by_name_typeB | Edit all DNS records matching subdomain and type. |
| dns_deleteB | Delete a DNS record by ID. |
| dns_delete_by_name_typeA | Delete DNS records by subdomain and type. |
| domains_listA | List all domains in your Porkbun account. |
| domains_get_nameserversB | Get nameservers for a domain. |
| domains_update_nameserversB | Update nameservers for a domain. |
| domains_get_url_forwardsA | Get URL forwarding rules for a domain. |
| domains_add_url_forwardB | Add a URL forwarding rule. |
| domains_delete_url_forwardA | Delete a URL forwarding rule. |
| domains_check_availabilityA | Check domain availability and pricing. WARNING: Heavily rate-limited (1 request per 10 seconds). For price comparisons, use pricing_get first (no rate limits). Only use this tool when you need to confirm a specific domain is available. |
| domains_get_glue_recordsA | Get glue records for a domain. |
| domains_create_glue_recordA | Create a glue record for self-hosted nameservers. |
| domains_update_glue_recordA | Update a glue record's IP addresses. |
| domains_delete_glue_recordB | Delete a glue record. |
| dnssec_listA | List DNSSEC records for a domain. |
| dnssec_createC | Create a DNSSEC record. |
| dnssec_deleteB | Delete a DNSSEC record. |
| ssl_retrieveA | Retrieve the SSL certificate bundle for a domain. Only available for domains using Porkbun nameservers. |
| pricing_getA | Get pricing for all available TLDs. PREFERRED for price lookups - no rate limits, returns all TLD prices at once. Use this FIRST when users ask about domain costs, then filter by TLD. Only use domains_check_availability when you need to verify a specific domain is actually available for purchase. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| dns_setup | Set up basic DNS records for a new server (root A + www). |
| dns_audit | Audit DNS configuration for potential issues. |
| email_dns_setup | Set up DNS records for email delivery (MX, SPF, DKIM, DMARC). |
| update_server_ip | Update DNS records when migrating to a new server IP. |
| subdomain_setup | Set up a new subdomain pointing to a target. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 25 tools
Most tools are clearly separated by resource and action, but the pairs dns_get vs dns_get_by_name_type and dns_edit vs dns_edit_by_name_type could be confused if descriptions aren't read carefully. Overall, each tool has a distinct purpose, with only a few closely related variants.
Tool names follow a consistent resource_verb pattern, e.g., dns_list, dns_create, domains_update_nameservers. However, there are minor inconsistencies: 'add' vs 'create', 'retrieve' vs 'get', and pluralization differences like url_forwards vs url_forward, which slightly reduce strict uniformity.
With 25 tools, this is at the high end of the acceptable range. The count is justified by the broad scope (DNS, domains, DNSSEC, SSL, pricing), but it feels heavy and could be streamlined by consolidating some by-ID and by-name-type variants.
The tool set covers core DNS CRUD, domain management (nameservers, URL forwards, glue records), DNSSEC, SSL retrieval, and pricing. Minor gaps exist, such as domain purchase or transfer operations, but the tool surface is quite complete for typical domain management workflows.