Porkbun

Provides MCP access to Porkbun DNS API to manage DNS records, domains, DNSSEC, SSL, and more.
  • javascript

4

GitHub Stars

javascript

Language

4 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "major-porkbun-mcp": {
      "command": "uvx",
      "args": [
        "porkbun-mcp",
        "--get-muddy"
      ],
      "env": {
        "PORKBUN_API_KEY": "pk1_...",
        "PORKBUN_GET_MUDDY": "true",
        "PORKBUN_SECRET_KEY": "sk1_..."
      }
    }
  }
}

You can manage Porkbun DNS records, domains, DNSSEC, SSL certificates, and related settings through an MCP server that communicates with the Porkbun DNS API. This server exposes a set of DNS, domain, DNSSEC, SSL, pricing, and utility operations you can invoke from MCP clients, enabling you to automate and integrate DNS management into your workflows.

How to use

You run the MCP server locally and connect to it from your MCP client. Start in read-only mode to safely explore your data, then enable write operations if you need to create, edit, or delete records.

How to install

Prerequisites: you should have the runtime environment that your MCP launcher uses (the server is invoked via the launcher, see the configuration blocks below). Ensure you have your Porkbun API credentials before starting.

  1. Set Porkbun API credentials as environment variables.
export PORKBUN_API_KEY="pk1_..."
export PORKBUN_SECRET_KEY="sk1_..."
  1. Start the MCP server locally using the launcher. By default, you will run in read-only mode.
uvx porkbun-mcp
  1. If you want to enable write operations, use either the environment variable or the CLI flag.
export PORKBUN_GET_MUDDY=true
uvx porkbun-mcp --get-muddy
  1. Optional: use a different transport like SSE if your client supports it.
uvx porkbun-mcp --transport sse

Configuration and operational notes

The server uses Porkbun API credentials to perform DNS and domain management tasks. By default, write operations are disabled for safety. You can enable writes via an environment variable or a CLI flag.

Example client configuration blocks show how to connect MCP clients to this server. The following examples illustrate including credentials in client setup.

MCP Client Configuration examples

Claude Desktop configuration (JSON) and similar editor integrations use the following structure. Replace the credentials with your own values.

{
  "mcpServers": {
    "porkbun": {
      "command": "uvx",
      "args": ["porkbun-mcp", "--get-muddy"],
      "env": {
        "PORKBUN_API_KEY": "pk1_...",
        "PORKBUN_SECRET_KEY": "sk1_..."
      }
    }
  }
}

Prompts and workflows

Pre-defined workflows help you perform common DNS operations quickly. You can mix and match these prompts with your MCP client to manage DNS records, domains, DNSSEC, and SSL certificates.

Development

If you are contributing or testing locally, you can use the project’s standard development commands to install dependencies, run checks, and perform tests.

# Install dependencies
uv sync --dev

# Run all checks
make check

# Individual commands
make lint       # ruff check
make format     # ruff format
make typecheck  # ty check
make test       # pytest with coverage

Notes

This MCP server operates in read-only mode by default to prevent unintended changes. To make changes, enable write operations before issuing create, edit, or delete actions.

Available tools

dns_list

List all DNS records for a domain

dns_get

Get a specific DNS record by ID

dns_get_by_name_type

Get DNS records by subdomain and type

dns_create

Create a new DNS record

dns_edit

Edit a DNS record by ID

dns_edit_by_name_type

Edit DNS records by subdomain and type

dns_delete

Delete a DNS record by ID

dns_delete_by_name_type

Delete DNS records by subdomain and type

domains_list

List all domains in your account

domains_get_nameservers

Get nameservers for a domain

domains_update_nameservers

Update nameservers for a domain

domains_get_url_forwards

Get URL forwarding rules

domains_add_url_forward

Add a URL forwarding rule

domains_delete_url_forward

Delete a URL forwarding rule

domains_check_availability

Check domain availability and pricing

domains_get_glue_records

Get glue records for a domain

dnssec_list

List DNSSEC records for a domain

dnssec_create

Create a DNSSEC record

dnssec_delete

Delete a DNSSEC record

ssl_retrieve

Retrieve the SSL certificate bundle for a domain

pricing_get

Get pricing for all available TLDs

ping

Test API connectivity and get your public IP

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational