porkbunMCP

Talk to your registrar.

The official Porkbun MCP server connects Claude, Cursor, or any MCP client straight to your account. Ask in plain language; it registers domains, edits DNS, provisions hosting and moves zones to Cloudflare for you.

npx @porkbunllc/mcp-server Node 18+

Free and open source. Works with the API keys you already have — create one here, or try it with no credentials at all.

You askRegister skaboink.dev if it's under $20, point it at my server, and turn auto-renew on.

  1. check_domainskaboink.dev is available — $12.00/yr
  2. register_domainregistered, order recorded
  3. create_dns_recordA · skaboink.dev → 203.0.113.10
  4. update_auto_renewauto-renew on

You get backRegistered skaboink.dev for $12.00, pointed it at 203.0.113.10, and turned auto-renew on.

Real tool names. Every step above is one call your agent makes on your behalf.

What it can do

The whole Porkbun API v3.18, exposed as 81 tools. Each one carries a read-only or destructive hint, so a client can tell a lookup from something that spends money.

21

Domains

Availability, pricing, registration, renewal, transfers, contacts, nameservers, glue, forwarding.

17

Cloudflare

Move domains to a customer's own Cloudflare account, then manage those records, the proxy and zone settings.

12

Webhooks

Signed, real-time events for registrations, renewals, transfers and DNS changes, instead of polling.

11

Hosting

Provision static hosting or a managed WordPress site, deploy files, and mint WordPress credentials for an agent.

7

DNS

Full CRUD over records and DNSSEC on Porkbun's nameservers.

13

SSL, account, sandbox

Certificate bundles, balance and spend settings, plus docs search and sandbox controls.

Set it up

Pick your client. Everything runs locally over stdio — your keys never leave your machine.

Claude Code
claude mcp add porkbun \
  --env PORKBUN_API_KEY=pk1_... \
  --env PORKBUN_SECRET_API_KEY=sk1_... \
  -- npx -y @porkbunllc/mcp-server
Claude Desktop
{
  "mcpServers": {
    "porkbun": {
      "command": "npx",
      "args": ["-y", "@porkbunllc/mcp-server"],
      "env": {
        "PORKBUN_API_KEY": "pk1_...",
        "PORKBUN_SECRET_API_KEY": "sk1_..."
      }
    }
  }
}

Add this to claude_desktop_config.json. On macOS, Claude Desktop launches with a limited PATH — if npx is not found, use the absolute path that which npx prints.

Cursor and other MCP clients
{
  "mcpServers": {
    "porkbun": {
      "command": "npx",
      "args": ["-y", "@porkbunllc/mcp-server"],
      "env": {
        "PORKBUN_API_KEY": "pk1_...",
        "PORKBUN_SECRET_API_KEY": "sk1_..."
      }
    }
  }
}

Any client that speaks MCP over stdio will work with the same command.

Point your coding agent at the docs instead

Hand an agent /llms/agent-setup and it will install this server, ask you for scoped credentials, and learn the safety rules on its own.

Pointing an agent at your domains

Domains are load-bearing: DNS mistakes take sites and mail offline, and registrations spend real money. The guardrails are in the API itself, so they hold no matter which client is driving.

Rehearse before committingBillable and destructive calls take a dry run that validates everything and changes nothing.
Retries can't double-chargeWrites carry an idempotency key automatically; a repeat replays the original result.
Scope a key to what you meanRestrict an API key to specific domains and source IPs. Out-of-policy calls are refused.
Cap what it can spendSet a monthly API spend limit and low-balance alerts on the account.
Labelled actionsEvery tool declares whether it only reads, and whether it destroys something, so a client can prompt you before the risky ones.
Errors that say what to doFailures return a stable code and a next step, so an agent recovers instead of guessing.

Try it without credentials

Three ways to see it work before you trust it with a real domain.

Search the docssearch_docs and read_doc need no API key at all.
Mock any endpointmock_call returns a schema-accurate example response for any endpoint.
A real sandboxA pk1_sb_ key runs the whole API against an isolated environment with fake credit — no registry actions, no charges, and webhooks still fire.