Skip to content

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/mcp
the first call
do {  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.

  1. 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
  2. 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 Access
    • secret_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
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates 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
  1. Cloudflare

    17

    8 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

  2. Account

    14

    5 read · 6 write · 3 destructive

    Get API spend settings · Read auto top-up settings · Get account balance · Check account invite status

  3. Hosting

    11

    4 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)

  4. DNS records

    8

    3 read · 3 write · 2 destructive

    Retrieve all DNS records · Retrieve DNS record by ID · Create DNS record · Edit DNS record by ID

  5. Domains

    8

    5 read · 1 write · 2 destructive

    List all domains · Get a single domain · Get TLD registration requirements (JSON Schema) · Check domain availability

  6. Transfers

    8

    3 read · 3 write · 2 destructive

    List active transfers · Get transfer status · State of an in-flight inbound transfer · Initiate a domain transfer

  7. Webhooks

    8

    3 read · 3 write · 2 destructive

    List webhook endpoints · List subscribable event types · Get a webhook endpoint · Create a webhook endpoint

  8. DNS

    6

    4 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.

ActionWhat it doesEffectSame name in
porkbun.mailboxes.listList mailboxesList mailboxes.readcomm.mailbox.list18 connectors
porkbun.webhook_deliveries.listList webhook deliveriesList webhook deliveries.readautomation.webhook_delivery.list33 connectors
porkbun.webhooks.listList webhook endpointsList webhook endpoints.readautomation.webhook.list202 connectors
porkbun.webhooks.list_event_typesList subscribable event typesList subscribable event types.readautomation.webhook_event_type.list18 connectors
porkbun.webhooks.getGet a webhook endpointGet a webhook endpoint.readautomation.webhook.get162 connectors
porkbun.webhook_deliveries.getGet a webhook deliveryGet a webhook delivery.readautomation.webhook_delivery.get20 connectors
porkbun.webhooks.createCreate a webhook endpointCreate a webhook endpoint.writeautomation.webhook.create209 connectors
porkbun.dns_records.listRetrieve all DNS recordsRetrieve all DNS records.readinfra.dns_record.list12 connectors
porkbun.webhooks.updateUpdate a webhook endpointUpdate a webhook endpoint.writeautomation.webhook.update175 connectors
porkbun.invoices.listList invoicesList invoices.readplatform.invoice.list26 connectors
porkbun.mailboxes.createBuy and set up a mailboxBuy and set up a mailbox.destructivecomm.mailbox.create15 connectors
porkbun.dns_records.createCreate DNS recordCreate DNS record.writeinfra.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.

  1. Readread

    List webhook deliveries in Porkbun and tell me what stands out.

    callsporkbun.webhook_deliveries.list

  2. Writewrite

    Create a webhook endpoint in Porkbun. Show me exactly what you will send before you save it.

    callsporkbun.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 mailboxporkbun.mailboxes.create
  • Delete a webhook endpointporkbun.webhooks.delete
  • Delete DNS record by IDporkbun.dns_records.delete
  • Top up account credit nowporkbun.account.topup
  • Buy a closeout outrightporkbun.closeouts.buy
  • Provision hosting — a static site or a WordPress siteporkbun.hosting.create
  • Set up a waiting mailboxporkbun.mailboxes.setup
  • Register a domainporkbun.domains.register
  • Initiate a domain transferporkbun.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 domainporkbun.domains.renew
  • Renew a mailbox for a yearporkbun.mailboxes.renew
  • Restore a zone to a previous stateporkbun.dns.restore
  • Sandbox: reset to a clean slateporkbun.sandbox.reset
  • Deprovision hosting (either product)porkbun.hosting.delete
  • Undo a completed move (restore Porkbun nameservers)porkbun.cloudflare.rollback
  • Delete glue recordporkbun.glue_records.delete
  • Delete a site file (static hosting only)porkbun.hosting.delete_file
  • Delete URL forwardporkbun.url_forwards.delete
  • Remove the stored Cloudflare connectionporkbun.cloudflare.disconnect
  • Delete DNSSEC recordporkbun.dnssec_records.delete
  • Delete an email forwardporkbun.email_forwards.delete
  • Rotate the signing secretporkbun.webhooks.rotate_secret
  • Delete a DNS record from the domain's Cloudflare zoneporkbun.cloudflare.delete_record
  • Revoke WordPress application passwords (WordPress only)porkbun.hosting.delete_wp_credentials
  • Delete DNS records by name and typeporkbun.dns_records.delete_by_name_type
  • Cancel an inbound transfer and refund itporkbun.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.

doporkbun.webhooks.deleteconfirm_policy: human

Delete a webhook endpoint?

intent: the user asked me to delete a webhook endpoint

run suspended · waiting for a named person · key porkbun-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
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]" }  ]}
Illustrative. Scoped to Porkbun only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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

See pricing

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 accountwrite
  • porkbun.cloudflare.create_recordCreate a DNS record in the domain's Cloudflare zonewrite
  • porkbun.cloudflare.delete_recordDelete a DNS record from the domain's Cloudflare zonedestructive
  • porkbun.cloudflare.disconnectRemove the stored Cloudflare connectiondestructive
  • porkbun.cloudflare.get_connectionCheck the Cloudflare account connection (poll target)read
  • porkbun.cloudflare.get_domainGet the Cloudflare move status for one domainread
  • porkbun.cloudflare.get_inventoryList every domain with its Cloudflare eligibilityread
  • porkbun.cloudflare.get_queueList every Cloudflare move for the accountread
  • porkbun.cloudflare.get_zoneGet live zone state from Cloudflare (and detect nameserver drift)read
  • porkbun.cloudflare.get_zone_settingsRead the zone settings that matter after a moveread
  • porkbun.cloudflare.list_recordsList the domain's live DNS records at Cloudflareread
  • porkbun.cloudflare.previewPreview exactly which records a move would copyread
  • porkbun.cloudflare.retryRetry a failed or skipped domainwrite
  • porkbun.cloudflare.rollbackUndo a completed move (restore Porkbun nameservers)destructive
  • porkbun.cloudflare.set_proxyTurn the Cloudflare proxy (orange cloud) on or offwrite
  • porkbun.cloudflare.update_recordUpdate a DNS record in the domain's Cloudflare zonewrite
  • porkbun.cloudflare.update_zone_settingsChange zone settings (allowlisted)write
Account14
  • porkbun.account.confirm_email_verificationConfirm the email verification codewrite
  • porkbun.account.confirm_phone_verificationConfirm the phone verification codewrite
  • porkbun.account.create_inviteCreate an account registration invitewrite
  • porkbun.account.get_api_settingsGet API spend settingsread
  • porkbun.account.get_auto_topupRead auto top-up settingsread
  • porkbun.account.get_balanceGet account balanceread
  • porkbun.account.get_invite_statusCheck account invite statusread
  • porkbun.account.get_topup_crypto_statusStatus of a USDC top-upread
  • porkbun.account.send_email_verificationEmail a verification code to the account's addresswrite
  • porkbun.account.send_phone_verificationText a verification code to the account's phonewrite
  • porkbun.account.set_auto_topupConfigure auto top-upwrite
  • porkbun.account.topupTop up account credit nowdestructive
  • porkbun.account.topup_cryptoTop up credit with USDC (x402)destructive
  • porkbun.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 sitedestructive
  • porkbun.hosting.create_wp_credentialsMint WordPress REST API credentials (WordPress only)write
  • porkbun.hosting.deleteDeprovision hosting (either product)destructive
  • porkbun.hosting.delete_fileDelete a site file (static hosting only)destructive
  • porkbun.hosting.delete_wp_credentialsRevoke WordPress application passwords (WordPress only)destructive
  • porkbun.hosting.deployUpload site files (static hosting only)write
  • porkbun.hosting.getGet hosting status (either product)read
  • porkbun.hosting.get_wp_credentialsList WordPress application passwords (WordPress only)read
  • porkbun.hosting.list_filesList site files (static hosting only)read
  • porkbun.hosting.list_plansList provisionable hosting plans (static + WordPress)read
  • porkbun.hosting.make_dirCreate a directory (static hosting only)write
DNS records8
  • porkbun.dns_records.createCreate DNS recordwrite
  • porkbun.dns_records.deleteDelete DNS record by IDdestructive
  • porkbun.dns_records.delete_by_name_typeDelete DNS records by name and typedestructive
  • porkbun.dns_records.getRetrieve DNS record by IDread
  • porkbun.dns_records.listRetrieve all DNS recordsread
  • porkbun.dns_records.list_by_name_typeRetrieve DNS records by name and typeread
  • porkbun.dns_records.updateEdit DNS record by IDwrite
  • porkbun.dns_records.update_by_name_typeEdit DNS records by name and typewrite
Domains8
  • porkbun.domains.checkCheck domain availabilityread
  • porkbun.domains.check_bulkCheck several domains at onceread
  • porkbun.domains.getGet a single domainread
  • porkbun.domains.get_registration_requirementsGet TLD registration requirements (JSON Schema)read
  • porkbun.domains.listList all domainsread
  • porkbun.domains.registerRegister a domaindestructive
  • porkbun.domains.renewRenew a domaindestructive
  • porkbun.domains.update_auto_renewUpdate auto-renew settingwrite
Transfers8
  • porkbun.transfers.cancelCancel an inbound transfer and refund itdestructive
  • porkbun.transfers.createInitiate a domain transferdestructive
  • porkbun.transfers.getGet transfer statusread
  • porkbun.transfers.get_setupState of an in-flight inbound transferread
  • porkbun.transfers.listList active transfersread
  • porkbun.transfers.prepareCreate the DNS zone for a held transferwrite
  • porkbun.transfers.startRelease a held transfer to the registrywrite
  • porkbun.transfers.update_auth_codeReplace the auth code on a stuck transferwrite
Webhooks8
  • porkbun.webhooks.createCreate a webhook endpointwrite
  • porkbun.webhooks.deleteDelete a webhook endpointdestructive
  • porkbun.webhooks.getGet a webhook endpointread
  • porkbun.webhooks.listList webhook endpointsread
  • porkbun.webhooks.list_event_typesList subscribable event typesread
  • porkbun.webhooks.rotate_secretRotate the signing secretdestructive
  • porkbun.webhooks.testSend a test eventwrite
  • porkbun.webhooks.updateUpdate a webhook endpointwrite
DNS6
  • porkbun.dns.diffCompare a restore point with the live zoneread
  • porkbun.dns.import_recordsBulk-create DNS records (transfer restore)write
  • porkbun.dns.list_restore_pointsList restore points for a zoneread
  • porkbun.dns.preflightCheck whether a change will break the domainread
  • porkbun.dns.restoreRestore a zone to a previous statedestructive
  • porkbun.dns.scanDiscover the records a domain currently publishesread
Mailboxes5
  • porkbun.mailboxes.createBuy and set up a mailboxdestructive
  • porkbun.mailboxes.listList mailboxesread
  • porkbun.mailboxes.renewRenew a mailbox for a yeardestructive
  • porkbun.mailboxes.set_passwordSet email hosting passwordwrite
  • porkbun.mailboxes.setupSet up a waiting mailboxdestructive
Glue records4
  • porkbun.glue_records.createCreate glue recordwrite
  • porkbun.glue_records.deleteDelete glue recorddestructive
  • porkbun.glue_records.listGet glue recordsread
  • porkbun.glue_records.updateUpdate glue recordwrite
Closeouts3
  • porkbun.closeouts.buyBuy a closeout outrightdestructive
  • porkbun.closeouts.getOne closeout, with the binding totalread
  • porkbun.closeouts.searchSearch expired-domain closeoutsread
Dnssec records3
  • porkbun.dnssec_records.createCreate DNSSEC recordwrite
  • porkbun.dnssec_records.deleteDelete DNSSEC recorddestructive
  • porkbun.dnssec_records.listGet DNSSEC recordsread
Email forwards3
  • porkbun.email_forwards.createAdd an email forwardwrite
  • porkbun.email_forwards.deleteDelete an email forwarddestructive
  • porkbun.email_forwards.listList email forwardsread
Invoices3
  • porkbun.invoices.getGet an invoiceread
  • porkbun.invoices.get_pdfDownload an invoice PDFread
  • porkbun.invoices.listList invoicesread
Sandbox3
  • porkbun.sandbox.resetSandbox: reset to a clean slatedestructive
  • porkbun.sandbox.topupSandbox: add fake creditwrite
  • porkbun.sandbox.trigger_webhookSandbox: fire a sample webhook eventwrite
URL forwards3
  • porkbun.url_forwards.createAdd URL forwardwrite
  • porkbun.url_forwards.deleteDelete URL forwarddestructive
  • porkbun.url_forwards.listList URL forwardsread
Webhook deliveries3
  • porkbun.webhook_deliveries.getGet a webhook deliveryread
  • porkbun.webhook_deliveries.listList webhook deliveriesread
  • porkbun.webhook_deliveries.resendResend a deliverywrite
Contacts2
  • porkbun.contacts.getGet domain contactsread
  • porkbun.contacts.updateUpdate domain contactswrite
Nameservers2
  • porkbun.nameservers.getGet nameserversread
  • porkbun.nameservers.updateUpdate nameserverswrite
Utility2
  • porkbun.utility.get_ipGet caller IP addressread
  • porkbun.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.