Connectors · Developer & infrastructure
Porkbun MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Porkbun and the rest of your systems. It gives your agent 120 Porkbun actions (55 reads, 37 writes and 28 that wait for a confirmation) and holds the Porkbun credential itself, so the agent never does. It paces Porkbun's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "porkbun.webhook_deliveries.list", intent: "check which Porkbun account is connected"}# List webhook deliveries · read · 1 upstream call- 120actionsin one signed file
- 55readlook, never change
- 37writecreate and update
- 28wait for a yesdestructive, confirmed first
Set up
Connect Porkbun in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Porkbun.
Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyPorkbun API key (pk1_...), from porkbun.com > Account > API Accesssecret_api_keyPorkbun secret API key (sk1_...), shown once when the key is created
account { op: "connections.requirements", service: "porkbun" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "porkbun.webhook_deliveries.list" }# list webhook deliveries · read · 1 upstream callcheck { action: "porkbun.webhooks.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Porkbun at a glance
- Sign-in
- Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_keysecret_api_key- Limits we pace to
- 60 calls a minute, per connection
- API covered
- Porkbun API v3 (OpenAPI 3.0.0, info.version 3.63)
api.porkbun.com - Built from
- Porkbun's documentation, read 23 October 2026porkbun.comporkbun.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 47 of 55 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 2, so ask can line Porkbun up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Porkbun.
120 actions in 24 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 55readlook, never change
- 37writecreate and update
- 28destructivewait for a confirmation
Cloudflare
178 read · 6 write · 3 destructive
List the domain's live DNS records at Cloudflare · Check the Cloudflare account connection (poll target) · Get the Cloudflare move status for one domain · List every domain with its Cloudflare eligibility
Account
145 read · 6 write · 3 destructive
Get API spend settings · Read auto top-up settings · Get account balance · Check account invite status
Hosting
114 read · 3 write · 4 destructive
List site files (static hosting only) · List provisionable hosting plans (static + WordPress) · Get hosting status (either product) · List WordPress application passwords (WordPress only)
DNS records
83 read · 3 write · 2 destructive
Retrieve all DNS records · Retrieve DNS record by ID · Create DNS record · Edit DNS record by ID
Domains
85 read · 1 write · 2 destructive
List all domains · Get a single domain · Get TLD registration requirements (JSON Schema) · Check domain availability
Transfers
83 read · 3 write · 2 destructive
List active transfers · Get transfer status · State of an in-flight inbound transfer · Initiate a domain transfer
Webhooks
83 read · 3 write · 2 destructive
List webhook endpoints · List subscribable event types · Get a webhook endpoint · Create a webhook endpoint
DNS
64 read · 1 write · 1 destructive
List restore points for a zone · Compare a restore point with the live zone · Check whether a change will break the domain · Discover the records a domain currently publishes
16 more areas · 40 actions
- Mailboxes 5
- Glue records 4
- Closeouts 3
- Dnssec records 3
- Email forwards 3
- Invoices 3
- Sandbox 3
- URL forwards 3
- Webhook deliveries 3
- Contacts 2
- Nameservers 2
- Utility 2
- Aftermarket 1
- Marketplace 1
- Pricing 1
- SSL 1
Top actions
The Porkbun API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 18 of Porkbun's 18 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
porkbun.mailboxes.listList mailboxes | List mailboxes. | read | comm.mailbox.list18 connectors |
porkbun.webhook_deliveries.listList webhook deliveries | List webhook deliveries. | read | automation.webhook_delivery.list33 connectors |
porkbun.webhooks.listList webhook endpoints | List webhook endpoints. | read | automation.webhook.list202 connectors |
porkbun.webhooks.list_event_typesList subscribable event types | List subscribable event types. | read | automation.webhook_event_type.list18 connectors |
porkbun.webhooks.getGet a webhook endpoint | Get a webhook endpoint. | read | automation.webhook.get162 connectors |
porkbun.webhook_deliveries.getGet a webhook delivery | Get a webhook delivery. | read | automation.webhook_delivery.get20 connectors |
porkbun.webhooks.createCreate a webhook endpoint | Create a webhook endpoint. | write | automation.webhook.create209 connectors |
porkbun.dns_records.listRetrieve all DNS records | Retrieve all DNS records. | read | infra.dns_record.list12 connectors |
porkbun.webhooks.updateUpdate a webhook endpoint | Update a webhook endpoint. | write | automation.webhook.update175 connectors |
porkbun.invoices.listList invoices | List invoices. | read | platform.invoice.list26 connectors |
porkbun.mailboxes.createBuy and set up a mailbox | Buy and set up a mailbox. | destructive | comm.mailbox.create15 connectors |
porkbun.dns_records.createCreate DNS record | Create DNS record. | write | infra.dns_record.create11 connectors |
Try it
Prompts to paste into Claude.
Each one names the Porkbun actions it will call, so you know what it reads and what it changes before you send it.
- Readread
List webhook deliveries in Porkbun and tell me what stands out.
calls
porkbun.webhook_deliveries.list - Writewrite
Create a webhook endpoint in Porkbun. Show me exactly what you will send before you save it.
calls
porkbun.webhooks.create
Governance for Porkbun
Destructive actions wait for a yes.
28 Porkbun actions are destructive. These are all of them:
- Buy and set up a mailbox
porkbun.mailboxes.create - Delete a webhook endpoint
porkbun.webhooks.delete - Delete DNS record by ID
porkbun.dns_records.delete - Top up account credit now
porkbun.account.topup - Buy a closeout outright
porkbun.closeouts.buy - Provision hosting — a static site or a WordPress site
porkbun.hosting.create - Set up a waiting mailbox
porkbun.mailboxes.setup - Register a domain
porkbun.domains.register - Initiate a domain transfer
porkbun.transfers.create - Top up credit with the user's card, paid by an agent (MPP)
porkbun.account.topup_mpp - Top up credit with USDC (x402)
porkbun.account.topup_crypto - Renew a domain
porkbun.domains.renew - Renew a mailbox for a year
porkbun.mailboxes.renew - Restore a zone to a previous state
porkbun.dns.restore - Sandbox: reset to a clean slate
porkbun.sandbox.reset - Deprovision hosting (either product)
porkbun.hosting.delete - Undo a completed move (restore Porkbun nameservers)
porkbun.cloudflare.rollback - Delete glue record
porkbun.glue_records.delete - Delete a site file (static hosting only)
porkbun.hosting.delete_file - Delete URL forward
porkbun.url_forwards.delete - Remove the stored Cloudflare connection
porkbun.cloudflare.disconnect - Delete DNSSEC record
porkbun.dnssec_records.delete - Delete an email forward
porkbun.email_forwards.delete - Rotate the signing secret
porkbun.webhooks.rotate_secret - Delete a DNS record from the domain's Cloudflare zone
porkbun.cloudflare.delete_record - Revoke WordPress application passwords (WordPress only)
porkbun.hosting.delete_wp_credentials - Delete DNS records by name and type
porkbun.dns_records.delete_by_name_type - Cancel an inbound transfer and refund it
porkbun.transfers.cancel
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a webhook endpoint?
intent: the user asked me to delete a webhook endpoint
account { op: "keys.create", name: "porkbun-agent", allowed_actions: ["porkbun.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "porkbun.mailboxes.create", approver: "[email protected]" }, { match: "porkbun.webhooks.delete", approver: "[email protected]" }, { match: "porkbun.dns_records.delete", approver: "[email protected]" } ]}Cost
What Porkbun costs on actionlake.
Every Porkbun action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Porkbun refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 120 Porkbun actions
- 20actions pageeach page of a long list is one call
- 47reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Porkbun action.
120 actions by area: the id your agent calls, what it does, and its effect.
Cloudflare17
porkbun.cloudflare.connectQueue domains to move to the customer's Cloudflare accountwriteporkbun.cloudflare.create_recordCreate a DNS record in the domain's Cloudflare zonewriteporkbun.cloudflare.delete_recordDelete a DNS record from the domain's Cloudflare zonedestructiveporkbun.cloudflare.disconnectRemove the stored Cloudflare connectiondestructiveporkbun.cloudflare.get_connectionCheck the Cloudflare account connection (poll target)readporkbun.cloudflare.get_domainGet the Cloudflare move status for one domainreadporkbun.cloudflare.get_inventoryList every domain with its Cloudflare eligibilityreadporkbun.cloudflare.get_queueList every Cloudflare move for the accountreadporkbun.cloudflare.get_zoneGet live zone state from Cloudflare (and detect nameserver drift)readporkbun.cloudflare.get_zone_settingsRead the zone settings that matter after a movereadporkbun.cloudflare.list_recordsList the domain's live DNS records at Cloudflarereadporkbun.cloudflare.previewPreview exactly which records a move would copyreadporkbun.cloudflare.retryRetry a failed or skipped domainwriteporkbun.cloudflare.rollbackUndo a completed move (restore Porkbun nameservers)destructiveporkbun.cloudflare.set_proxyTurn the Cloudflare proxy (orange cloud) on or offwriteporkbun.cloudflare.update_recordUpdate a DNS record in the domain's Cloudflare zonewriteporkbun.cloudflare.update_zone_settingsChange zone settings (allowlisted)write
Account14
porkbun.account.confirm_email_verificationConfirm the email verification codewriteporkbun.account.confirm_phone_verificationConfirm the phone verification codewriteporkbun.account.create_inviteCreate an account registration invitewriteporkbun.account.get_api_settingsGet API spend settingsreadporkbun.account.get_auto_topupRead auto top-up settingsreadporkbun.account.get_balanceGet account balancereadporkbun.account.get_invite_statusCheck account invite statusreadporkbun.account.get_topup_crypto_statusStatus of a USDC top-upreadporkbun.account.send_email_verificationEmail a verification code to the account's addresswriteporkbun.account.send_phone_verificationText a verification code to the account's phonewriteporkbun.account.set_auto_topupConfigure auto top-upwriteporkbun.account.topupTop up account credit nowdestructiveporkbun.account.topup_cryptoTop up credit with USDC (x402)destructiveporkbun.account.topup_mppTop up credit with the user's card, paid by an agent (MPP)destructive
Hosting11
porkbun.hosting.createProvision hosting — a static site or a WordPress sitedestructiveporkbun.hosting.create_wp_credentialsMint WordPress REST API credentials (WordPress only)writeporkbun.hosting.deleteDeprovision hosting (either product)destructiveporkbun.hosting.delete_fileDelete a site file (static hosting only)destructiveporkbun.hosting.delete_wp_credentialsRevoke WordPress application passwords (WordPress only)destructiveporkbun.hosting.deployUpload site files (static hosting only)writeporkbun.hosting.getGet hosting status (either product)readporkbun.hosting.get_wp_credentialsList WordPress application passwords (WordPress only)readporkbun.hosting.list_filesList site files (static hosting only)readporkbun.hosting.list_plansList provisionable hosting plans (static + WordPress)readporkbun.hosting.make_dirCreate a directory (static hosting only)write
DNS records8
porkbun.dns_records.createCreate DNS recordwriteporkbun.dns_records.deleteDelete DNS record by IDdestructiveporkbun.dns_records.delete_by_name_typeDelete DNS records by name and typedestructiveporkbun.dns_records.getRetrieve DNS record by IDreadporkbun.dns_records.listRetrieve all DNS recordsreadporkbun.dns_records.list_by_name_typeRetrieve DNS records by name and typereadporkbun.dns_records.updateEdit DNS record by IDwriteporkbun.dns_records.update_by_name_typeEdit DNS records by name and typewrite
Domains8
porkbun.domains.checkCheck domain availabilityreadporkbun.domains.check_bulkCheck several domains at oncereadporkbun.domains.getGet a single domainreadporkbun.domains.get_registration_requirementsGet TLD registration requirements (JSON Schema)readporkbun.domains.listList all domainsreadporkbun.domains.registerRegister a domaindestructiveporkbun.domains.renewRenew a domaindestructiveporkbun.domains.update_auto_renewUpdate auto-renew settingwrite
Transfers8
porkbun.transfers.cancelCancel an inbound transfer and refund itdestructiveporkbun.transfers.createInitiate a domain transferdestructiveporkbun.transfers.getGet transfer statusreadporkbun.transfers.get_setupState of an in-flight inbound transferreadporkbun.transfers.listList active transfersreadporkbun.transfers.prepareCreate the DNS zone for a held transferwriteporkbun.transfers.startRelease a held transfer to the registrywriteporkbun.transfers.update_auth_codeReplace the auth code on a stuck transferwrite
Webhooks8
porkbun.webhooks.createCreate a webhook endpointwriteporkbun.webhooks.deleteDelete a webhook endpointdestructiveporkbun.webhooks.getGet a webhook endpointreadporkbun.webhooks.listList webhook endpointsreadporkbun.webhooks.list_event_typesList subscribable event typesreadporkbun.webhooks.rotate_secretRotate the signing secretdestructiveporkbun.webhooks.testSend a test eventwriteporkbun.webhooks.updateUpdate a webhook endpointwrite
DNS6
porkbun.dns.diffCompare a restore point with the live zonereadporkbun.dns.import_recordsBulk-create DNS records (transfer restore)writeporkbun.dns.list_restore_pointsList restore points for a zonereadporkbun.dns.preflightCheck whether a change will break the domainreadporkbun.dns.restoreRestore a zone to a previous statedestructiveporkbun.dns.scanDiscover the records a domain currently publishesread
Mailboxes5
porkbun.mailboxes.createBuy and set up a mailboxdestructiveporkbun.mailboxes.listList mailboxesreadporkbun.mailboxes.renewRenew a mailbox for a yeardestructiveporkbun.mailboxes.set_passwordSet email hosting passwordwriteporkbun.mailboxes.setupSet up a waiting mailboxdestructive
Glue records4
porkbun.glue_records.createCreate glue recordwriteporkbun.glue_records.deleteDelete glue recorddestructiveporkbun.glue_records.listGet glue recordsreadporkbun.glue_records.updateUpdate glue recordwrite
Closeouts3
porkbun.closeouts.buyBuy a closeout outrightdestructiveporkbun.closeouts.getOne closeout, with the binding totalreadporkbun.closeouts.searchSearch expired-domain closeoutsread
Dnssec records3
porkbun.dnssec_records.createCreate DNSSEC recordwriteporkbun.dnssec_records.deleteDelete DNSSEC recorddestructiveporkbun.dnssec_records.listGet DNSSEC recordsread
Email forwards3
porkbun.email_forwards.createAdd an email forwardwriteporkbun.email_forwards.deleteDelete an email forwarddestructiveporkbun.email_forwards.listList email forwardsread
Invoices3
porkbun.invoices.getGet an invoicereadporkbun.invoices.get_pdfDownload an invoice PDFreadporkbun.invoices.listList invoicesread
Sandbox3
porkbun.sandbox.resetSandbox: reset to a clean slatedestructiveporkbun.sandbox.topupSandbox: add fake creditwriteporkbun.sandbox.trigger_webhookSandbox: fire a sample webhook eventwrite
URL forwards3
porkbun.url_forwards.createAdd URL forwardwriteporkbun.url_forwards.deleteDelete URL forwarddestructiveporkbun.url_forwards.listList URL forwardsread
Webhook deliveries3
porkbun.webhook_deliveries.getGet a webhook deliveryreadporkbun.webhook_deliveries.listList webhook deliveriesreadporkbun.webhook_deliveries.resendResend a deliverywrite
Contacts2
porkbun.contacts.getGet domain contactsreadporkbun.contacts.updateUpdate domain contactswrite
Nameservers2
porkbun.nameservers.getGet nameserversreadporkbun.nameservers.updateUpdate nameserverswrite
Utility2
porkbun.utility.get_ipGet caller IP addressreadporkbun.utility.pingTest credentials and get caller IPread
Aftermarket1
porkbun.aftermarket.searchSearch domains for sale on the aftermarketread
Marketplace1
porkbun.marketplace.listList marketplace domainsread
Pricing1
porkbun.pricing.getRetrieve domain pricing (public)read
SSL1
porkbun.ssl.get_bundleRetrieve SSL bundleread
Questions
The Porkbun MCP server, answered.
Is there a Porkbun MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 120 Porkbun actions across cloudflare, account, hosting and DNS records, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Porkbun.
What do I need to connect Porkbun?
Porkbun API key (pk1_...), from porkbun.com > Account > API Access and Porkbun secret API key (sk1_...), shown once when the key is created. The free call account { op: "connections.requirements", service: "porkbun" } lists exactly what to paste.
Can an AI agent delete or change things in Porkbun?
Only if its key allows it, and only with an explicit confirmation. 28 Porkbun actions are destructive, including buy and set up a mailbox, delete a webhook endpoint and delete DNS record by ID. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Porkbun API limit?
actionlake paces every call to the limits in the Porkbun service file: 60 calls a minute per connection. Repeated reads are answered from cache (47 Porkbun actions can be), which never reaches Porkbun.
What does a Porkbun action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (20 Porkbun actions page). Cache hits, searches, dry runs and calls Porkbun refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Porkbun API does it cover?
The Porkbun API v3 (OpenAPI 3.0.0, info.version 3.63) at api.porkbun.com. It is built from Porkbun's documentation as read on 23 October 2026. 120 actions in 24 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Porkbun data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Porkbun credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Porkbun today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.