porkbun-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORKBUN_API_KEY | Yes | Your Porkbun API key (pk1_...) | |
| PORKBUN_SECRET_KEY | Yes | Your Porkbun secret key (sk1_...) | |
| PORKBUN_MCP_AUDIT_ENABLED | No | Set 'false' to disable audit logging | true |
| PORKBUN_MCP_AUDIT_HANDLER | No | Audit handler (jsonl, absolute path, or 'none' to disable) | jsonl |
| PORKBUN_PRICING_CACHE_TTL | No | Pricing cache TTL in seconds (default: 86400, '0' = no cache) | 86400 |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Authenticated ping against Porkbun. Returns {"status", "yourIp"}. Useful as a readiness probe — confirms credentials work and your public IP is on Porkbun's allowlist (if you've enabled IP restriction). |
| get_pricingA | Public TLD pricing table from Porkbun. Served from a disk cache
(~/.cache/porkbun-mcp/pricing.json, XDG-aware) with a 24h TTL
(override via PORKBUN_PRICING_CACHE_TTL, seconds).
|
| get_account_balanceA | Current Porkbun account credit balance. |
| check_availabilityA | Check whether |
| check_bulk_availabilityA | Check availability for multiple domains. Client-side fan-out — one API call per domain. Per-domain errors surface in the results map without aborting the batch. |
| get_pricing_for_tldA | Pricing for a single TLD (e.g. 'com'). Derived from the same
cached pricing table as |
| list_supported_tldsA | All TLDs Porkbun supports for registration. Sorted alphabetically.
Derived from the same cached pricing table as |
| get_api_settingsA | Get the account's API spend control settings and current month's spend total. All amounts are in cents. |
| get_ipA | Get the caller's public IP address. No authentication required
(though our client always sends credentials, which is harmless).
Similar to |
| create_inviteA | Create a one-time account registration invite. The invite expires
in 48 hours. |
| get_invite_statusC | Check the status of a registration invite. Returns PENDING,
ACCEPTED (with |
| set_email_passwordB | Set the password for an email hosting account. |
| request_api_keyA | Initiate an API key authorization request. Returns a
|
| retrieve_api_keyB | Poll to check whether an API key authorization request has been approved. Returns PENDING while awaiting approval, or the public API key on approval. |
| get_marketplaceA | Browse domains listed for sale on the Porkbun marketplace.
Supports pagination ( |
| list_domainsA | List all domains in the Porkbun account. |
| get_url_forwardingC | List URL-forwarding rules for |
| get_domainA | Get detailed info for a single domain — expiry date, status, auto-renew setting, creation date, lock state, etc. |
| get_glueA | List glue records (host A/AAAA records at the registrar) for |
| list_labelsA | List all domain labels (Porkbun's tagging system). |
| register_domainA | Register a new domain using account credit. |
| renew_domainA | Renew a domain using account credit. |
| transfer_domainA | Initiate an inbound domain transfer. |
| get_transfer_statusC | Get the most recent transfer record for |
| list_transfersA | List all active inbound domain transfers (excludes completed and canceled transfers). |
| update_auto_renewA | Toggle auto-renewal for |
| create_glueA | Create a glue record (host A/AAAA records served by the registrar).
Required for custom nameservers like ns1.example.com that point at
IPs you control. |
| update_glueC | Replace the IPs on an existing glue record. action=GLUE_UPDATE. |
| delete_glueC | Remove a glue record by host name. action=GLUE_DELETE. |
| add_url_forwardB | Add a URL forward. |
| delete_url_forwardA | Remove a URL forward by record id (from get_url_forwarding). action=URLFWD_DELETE. |
| add_labelA | Create a Porkbun label and attach it to |
| remove_labelC | Detach a label from |
| get_name_serversC | Get the active nameservers for |
| update_name_serversA | Replace |
| list_dns_recordsA | List ALL DNS records for |
| get_dns_recordB | Fetch a single DNS record by Porkbun's record id. |
| get_dns_records_by_name_typeA | Filter DNS records by type ('A','TXT','MX',...) and subdomain (empty string for apex). Useful for checking whether a specific record exists without scanning the full zone. |
| create_dns_recordC | Create a DNS record on |
| edit_dns_recordA | Edit an existing DNS record by Porkbun's record id. Porkbun's
edit is a full replace — pass every field. |
| edit_dns_records_by_name_typeB | Bulk-edit every record matching (type, subdomain) on |
| delete_dns_recordC | Delete a DNS record by Porkbun's record id. |
| delete_dns_records_by_name_typeA | Bulk-delete every record matching (type, subdomain) on |
| bulk_create_dns_recordsA | Create multiple DNS records on |
| get_dnssec_recordsA | List the DS records Porkbun publishes for |
| create_dnssec_recordA | Publish a DNSSEC DS record at the registrar. Required: key_tag,
alg, digest_type, digest. Optional key_data_* fields apply only when
you're also publishing the DNSKEY-derived form. |
| delete_dnssec_recordA | Remove a DNSSEC DS record by key tag. |
| get_ssl_bundleA | Retrieve Porkbun's free DV SSL certificate bundle for |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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