Porkbun

listing.by

Register and manage Porkbun domains, DNS records, SSL certificates, URL forwards and static or WordPress hosting.

state.auth.long (state.auth.title)Streamable HTTP

listing.connect

listing.explain.oauth

https://mcp.porkbun.com/mcp

listing.note.oauth

listing.share.h

listing.share.p

mcp.tc/i/porkbun

listing.about

Connects to the Porkbun v3 API. You can check domain availability and pricing, register, renew and transfer domains, edit DNS and DNSSEC records, fetch free SSL bundles, set nameservers and contacts, and provision and deploy static hosting or Cloud for WordPress. It also covers billing tools such as balance, invoices and account top-ups, plus API documentation search.

Runs as a hosted endpoint at https://mcp.porkbun.com/mcp with Porkbun sign-in through OAuth, so no API key is needed. A local alternative runs with npx -y @porkbunllc/mcp-server using PORKBUN_API_KEY and PORKBUN_SECRET_API_KEY. Documentation tools work without keys, and a free sandbox key is available for testing. Several tools spend account credit.

listing.can

  • Check domain availability and pricing, singly or up to 25 at once
  • Register, renew and transfer domains
  • Create, update, delete and restore DNS records
  • Manage DNSSEC, glue records and URL forwarding
  • Retrieve free SSL certificate bundles
  • Deploy static sites and provision WordPress hosting
  • View balance, invoices and top up account credit
  • Search Porkbun API docs and test in a sandbox

listing.tools 107

  • ping

    Verify the Porkbun API connection and credentials.

  • check_domain

    Check if one domain is available and its price.

  • check_domains

    Check up to 25 domains for availability and price in one call.

  • get_registration_requirements

    Get a TLD's registration requirements as JSON Schema.

  • get_pricing

    Get current pricing for all supported TLDs.

  • list_marketplace

    Browse aftermarket domains for sale.

  • search_closeouts

    Search expired-domain closeouts with filters.

  • get_closeout

    Get one closeout and its binding total price.

  • buy_closeout

    Buy a closeout outright using account credit.

  • list_domains

    List domains in the account.

  • get_domain

    Get metadata for one domain in the account.

  • get_balance

    Get the available account credit balance.

listing.tools_more
  • get_auto_topup

    Read auto top-up configuration.

  • top_up_with_usdc

    Add credit by paying USDC on Base via Coinbase checkout.

  • top_up_with_card_mpp

    Get a link to add credit with the user's card over MPP.

  • send_phone_verification_code

    Text a verification code to the phone number on the account, to clear VERIFICATION_REQUIRED.

  • confirm_phone_verification

    Verify the account's phone number with the code the user received.

  • get_usdc_topup_status

    Check whether a USDC top-up has been paid and credited, with the current balance.

  • list_invoices

    List the account's invoices, newest first.

  • get_invoice

    Get one invoice with billing, payment and line details.

  • get_invoice_pdf

    Get an invoice PDF with a 15-minute download link.

  • configure_auto_topup

    Turn auto top-up on or off and set threshold and amount.

  • top_up_account_credit

    Charge the saved payment method now to add credit.

  • get_api_settings

    Get API spend limits, alerts and current month spend.

  • get_nameservers

    Get the nameservers configured for a domain.

  • list_dns_records

    List all DNS records for a domain.

  • scan_dns_records

    Discover a domain's published DNS records from its live nameservers.

  • import_dns_records

    Bulk-create DNS records from a list or a live scan.

  • list_dnssec_records

    List DNSSEC DS records submitted to the registry.

  • list_url_forwards

    List URL forwarding rules for a domain.

  • list_glue_records

    List glue records for a domain.

  • list_transfers

    List in-progress and recent inbound transfers.

  • get_transfer_status

    Get the status of a specific inbound transfer for a domain.

  • get_ssl_bundle

    Retrieve the free Porkbun-issued SSL certificate bundle.

  • get_contacts

    Get registrant, admin, tech and billing contacts for a domain.

  • register_domain

    Register a new domain, spending account credit.

  • renew_domain

    Renew a domain, spending account credit.

  • transfer_domain

    Start an inbound transfer of an external domain, spending credit.

  • get_transfer_setup

    Report where a held inbound transfer is and what it is waiting on.

  • prepare_transfer

    Create the DNS zone for a held inbound transfer, before the domain moves.

  • start_transfer

    Release a held inbound transfer to the registry.

  • cancel_transfer

    Cancel a pending inbound transfer and refund the order.

  • update_transfer_auth_code

    Replace the auth code on a stalled inbound transfer and re-queue it.

  • update_auto_renew

    Turn auto-renewal on or off for a domain in the authenticated account.

  • update_nameservers

    Replace the nameservers for a domain.

  • update_contacts

    Edit a domain's contacts.

  • list_hosting_plans

    List the hosting plans provisionable via the API, with price (cents — pass as `acknowledged_cost` to create_hosting), interval, trial length, and features.

  • create_hosting

    Provision hosting for a domain in the account — Secure Static Hosting OR Cloud for WordPress (a managed WordPress site), chosen by `sku`.

  • get_hosting

    Get Secure Static Hosting status for a domain (plan, server, trial, expiry, auto-renew), or null if the domain has no hosting.

  • deploy_site

    Upload static files to a domain's Secure Static Hosting.

  • list_hosting_files

    List file/directory names under an optional `path` in a domain's Secure Static Hosting space.

  • delete_hosting_file

    Delete a file (or empty directory) at `path` in a domain's Secure Static Hosting space.

  • make_hosting_dir

    Create a directory (and any missing parent directories) at `path` in a domain's Secure Static Hosting space.

  • create_wp_credentials

    CLOUD FOR WORDPRESS ONLY.

  • list_wp_credentials

    CLOUD FOR WORDPRESS ONLY.

  • delete_wp_credentials

    CLOUD FOR WORDPRESS ONLY.

  • delete_hosting

    Deprovision (cancel) Secure Static Hosting for a domain; teardown is scheduled by Porkbun.

  • create_sandbox_key

    Instantly create a free SANDBOX API key — NO credentials or approval needed (works before you have any keys).

  • sandbox_topup

    SANDBOX ONLY.

  • sandbox_reset

    SANDBOX ONLY.

  • sandbox_trigger_webhook

    SANDBOX ONLY.

  • mock_call

    Get a schema-accurate EXAMPLE response for any API endpoint with NO credentials — nothing to set up.

  • preflight_domain

    Check whether a change is about to break a domain, before making it.

  • list_dns_restore_points

    List saved versions of a domain's DNS zone, newest first.

  • diff_dns_restore_point

    Compare a DNS restore point with the live zone before restoring.

  • restore_dns_zone

    Put a DNS zone back to a saved restore point.

  • create_dns_record

    Create a DNS record on a domain.

  • update_dns_record

    Update an existing DNS record by record_id.

  • delete_dns_record

    Delete a single DNS record by record_id.

  • create_dnssec_record

    Submit a DNSSEC DS record to the registry for a domain.

  • delete_dnssec_record

    Remove a DNSSEC DS record from the registry for a domain, identified by key tag.

  • create_url_forward

    Add a URL forwarding rule for a domain.

  • delete_url_forward

    Delete a URL forwarding rule by its `id` (obtained from `list_url_forwards`).

  • create_glue_record

    Create a glue record for a host on a domain.

  • update_glue_record

    Update the IP addresses associated with an existing glue record.

  • delete_glue_record

    Delete a glue record by host on a domain.

  • list_doc_topics

    List the available Porkbun API documentation topics.

  • read_doc

    Read a Porkbun documentation page as Markdown.

  • search_docs

    Keyword-search the Porkbun API reference.

  • get_webhook_event_types

    List the event types you can subscribe a webhook endpoint to.

  • list_webhooks

    List the webhook endpoints registered on the authenticated account.

  • get_webhook

    Fetch a single webhook endpoint by its numeric id, including its signing secret and delivery health (consecutive failures, last success/failure).

  • list_webhook_deliveries

    List recent webhook delivery attempts (newest first), across all endpoints or filtered to one.

  • get_webhook_delivery

    Fetch a single webhook delivery by id, including the full JSON payload that was (or will be) sent and its delivery status.

  • create_webhook

    Register a webhook endpoint.

  • update_webhook

    Update a webhook endpoint.

  • rotate_webhook_secret

    Generate a new signing secret for a webhook endpoint and return the endpoint with the new secret.

  • test_webhook

    Send a `webhook.test` event to an endpoint to confirm it's reachable and that signature verification works.

  • resend_webhook

    Re-queue a past webhook delivery to its endpoint.

  • delete_webhook

    Delete a webhook endpoint by id.

  • get_cloudflare_connection

    Check whether this Porkbun account is connected to a Cloudflare account, and which one.

  • list_cloudflare_inventory

    List every domain in the account with its Cloudflare eligibility: `state` is eligible / warn / blocked / connected / inprogress, each with a human-readable reason (DNSSEC live, custom nameservers…

  • connect_domains_to_cloudflare

    Queue domains to move into the customer's own Cloudflare account: Porkbun creates the zone there, copies over the DNS records it holds, and repoints the registry nameservers at Cloudflare.

  • get_cloudflare_queue

    List every Cloudflare move this account has requested, with per-domain status and message.

  • get_cloudflare_domain_status

    Get the Cloudflare move status for ONE domain, including the Cloudflare zone id once created and the nameservers Porkbun replaced (kept so the move can be undone).

  • retry_cloudflare_domain

    Re-queue a domain whose Cloudflare move failed or was skipped.

  • rollback_cloudflare_domain

    UNDO a completed Cloudflare move: point the domain's nameservers back at Porkbun, restoring the DNS Porkbun still holds.

  • disconnect_cloudflare

    Remove this account's stored Cloudflare connection.

  • get_cloudflare_records

    List a domain's LIVE DNS records as Cloudflare holds them, each with its orange-cloud (`proxied`) state and whether it is `proxiable` at all.

  • set_cloudflare_proxy

    Turn the Cloudflare proxy (orange cloud) on or off for a domain's DNS records.

  • preview_cloudflare_move

    Show exactly which DNS records would be copied into Cloudflare for a domain, and which would be dropped, WITHOUT queueing anything.

  • get_cloudflare_zone

    Get what CLOUDFLARE currently says about a domain's zone (status, paused, its nameservers, activation date) rather than what Porkbun's queue row remembers.

  • get_cloudflare_zone_settings

    Read the Cloudflare zone settings that matter after a move: ssl mode, always_use_https, automatic_https_rewrites, min_tls_version, development_mode, cache_level.

  • set_cloudflare_zone_settings

    Change Cloudflare zone settings for a moved domain.

  • create_cloudflare_record

    Create a DNS record in a domain's Cloudflare zone.

  • edit_cloudflare_record

    Update a DNS record in a domain's Cloudflare zone.

  • delete_cloudflare_record

    Delete a DNS record from a domain's Cloudflare zone.

listing.prov.mcpb_on

listing.prompts

  • Check whether example.dev and example.io are available and what they cost

  • List the DNS records for my domain and add an A record for www

  • Deploy this static site to my domain's Porkbun hosting

  • Show my Porkbun balance and the latest invoice

listing.setup.h

listing.setup.oauth

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport http porkbun https://mcp.porkbun.com/mcp
  1. Start Claude Code, type /mcp, pick porkbun and choose Authenticate. A browser window opens for the Porkbun sign-in.

Add --scope user to make it available in every project, not just this one.

Claude Desktop

  1. Open Settings → Connectors and click Add custom connector.
  2. Name it Porkbun and paste this URL:
https://mcp.porkbun.com/mcp
  1. Click Add, then Connect, and sign in when Porkbun asks.

Claude Desktop's JSON config file only starts local servers. Remote servers go through Connectors, and connectors you add on claude.ai show up here too.

claude.ai

  1. Open the connector form on claude.ai. This button fills in the name and URL for you:
  1. Check that the URL reads https://mcp.porkbun.com/mcp and click Add.
  2. Click Connect and sign in when Porkbun asks.

Free plans allow one custom connector. On Team and Enterprise plans an owner adds it under Organization settings → Connectors.

ChatGPT

  1. On chatgpt.com, open Settings → Security and login and turn on Developer mode.
  2. Go to chatgpt.com/plugins and click + to create an app for a remote MCP server.
  3. Paste https://mcp.porkbun.com/mcp as the server URL and choose OAuth. ChatGPT sends you to Porkbun to sign in.

Developer mode is available on the web for Plus, Pro, Business, Enterprise and Education accounts.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "porkbun": {
      "url": "https://mcp.porkbun.com/mcp"
    }
  }
}

Cursor shows Needs login next to the server. Click it to sign in.

VS Code

Or from a terminal:

code --add-mcp '{"name":"porkbun","type":"http","url":"https://mcp.porkbun.com/mcp"}'

Or commit it to the repo in .vscode/mcp.json:

.vscode/mcp.json
{
  "servers": {
    "porkbun": {
      "type": "http",
      "url": "https://mcp.porkbun.com/mcp"
    }
  }
}

VS Code asks you to sign in the first time the server starts.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "porkbun": {
      "serverUrl": "https://mcp.porkbun.com/mcp"
    }
  }
}
  1. Refresh the MCP server list in Cascade and sign in when asked.

Devin Desktop is the new name for Windsurf. It reads serverUrl (or url) for remote servers.

Codex

codex mcp add porkbun --url https://mcp.porkbun.com/mcp
codex mcp login porkbun

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.porkbun]
url = "https://mcp.porkbun.com/mcp"

Gemini CLI

gemini mcp add --transport http porkbun https://mcp.porkbun.com/mcp

Then, inside Gemini CLI, run /mcp auth porkbun to sign in.

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients accept this shape. Some name the URL field differently: serverUrl in Devin Desktop, httpUrl in Gemini CLI's settings file.

{
  "mcpServers": {
    "porkbun": {
      "type": "http",
      "url": "https://mcp.porkbun.com/mcp"
    }
  }
}

Zed puts servers under context_servers in its settings. Cline needs "type": "streamableHttp", or it assumes SSE.

Client only starts local servers? Bridge it with npx -y mcp-remote https://mcp.porkbun.com/mcp.

listing.faq

Can I paste mcp.tc/i/porkbun into my MCP client?

No. mcp.tc links are pages, not server addresses. Connect with https://mcp.porkbun.com/mcp, so your client talks to Porkbun directly. The sign-in token only works there anyway. The quick link is for sharing: it opens this page, with setup steps for every client.

Does Porkbun need an API key or a sign-in?

Yes, you need a Porkbun account. The first time your client connects, it opens Porkbun's sign-in page. The token goes straight to the server's own URL, never through mcp.tc.

Is Porkbun a remote or a local server?

Remote. Porkbun hosts it at https://mcp.porkbun.com/mcp, and it speaks Streamable HTTP. There's nothing to install.

What can Porkbun do?

It has 107 tools, including ping, check_domain and check_domains. You can check domain availability and pricing, singly or up to 25 at once, register, renew and transfer domains and create, update, delete and restore DNS records.

Which clients can use it?

Any client that supports remote MCP servers: Claude Code, Claude Desktop, claude.ai, ChatGPT in developer mode, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. The setup steps cover each one.

Who wrote this page?

mcp.tc's robot read Porkbun's own metadata (its MCP handshake, tool list and public pages), and an AI model drafted the text from it. A person reviews anything the checks can't confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

listing.em.h

listing.em.lead listing.em.how

listing.em.badge

em.prev_lightem.prev_dark
Markdown
[![Porkbun on mcp.tc](https://mcp.tc/i/porkbun/badge.svg)](https://mcp.tc/i/porkbun)
HTML
<a href="https://mcp.tc/i/porkbun"><img src="https://mcp.tc/i/porkbun/badge.svg" alt="Porkbun on mcp.tc" height="20"></a>

listing.em.badge_note

listing.em.widget

HTML
<script src="https://mcp.tc/w/porkbun.js" async></script>

listing.em.widget_note

iframe

HTML
<iframe src="https://mcp.tc/embed/porkbun" title="Porkbun on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

listing.em.iframe_note

JSON

listing.em.json

https://mcp.tc/i/porkbun.json

listing.em.fields

listing.disclaimer_checked