Skip to main content

porkbun-mcp

MCP server for the Porkbun DNS API.

Manage DNS records, domains, DNSSEC, SSL certificates, and more via the Model Context Protocol.

CI codecov PyPI version Python 3.13+ License: MIT

Configuration

Set your Porkbun API credentials as environment variables:

export PORKBUN_API_KEY="pk1_..."
export PORKBUN_SECRET_KEY="sk1_..."

Get your API keys from the Porkbun API Access page.

Read-Only Mode (Default)

By default, porkbun-mcp runs in read-only mode for safety. Write operations (create, edit, delete) will return an error until explicitly enabled.

Enabling Write Operations

To let the pig get muddy and make changes:

Environment variable:

export PORKBUN_GET_MUDDY=true

CLI flag:

uvx porkbun-mcp --get-muddy

Usage

Run directly with uvx (no installation required):

uvx porkbun-mcp

SSE transport

uvx porkbun-mcp --transport sse

MCP Client Configuration

Claude Desktop

Add to ~/.config/claude/claude_desktop_config.json:

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

Note: Remove --get-muddy from args for read-only mode (recommended for safety).

Claude Code / Codex

Add to ~/.claude/settings.json:

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

VS Code

Add to .vscode/mcp.json in your workspace (or use MCP: Add Server command):

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

OpenCode

Add to your opencode.json configuration:

{
  "mcp": {
    "porkbun": {
      "type": "local",
      "command": ["uvx", "porkbun-mcp", "--get-muddy"],
      "environment": {
        "PORKBUN_API_KEY": "pk1_...",
        "PORKBUN_SECRET_KEY": "sk1_..."
      }
    }
  }
}

Available Tools

DNS

  • 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

  • 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

  • dnssec_list - List DNSSEC records for a domain
  • dnssec_create - Create a DNSSEC record
  • dnssec_delete - Delete a DNSSEC record

SSL

  • ssl_retrieve - Retrieve the SSL certificate bundle for a domain

Pricing

  • pricing_get - Get pricing for all available TLDs

Utility

  • ping - Test API connectivity and get your public IP

Prompts

Pre-defined workflows to guide common DNS operations:

  • dns_setup - Set up basic DNS for a new server (root A + www records)
  • dns_audit - Audit DNS configuration for issues (duplicates, missing email records, low TTLs)
  • email_dns_setup - Configure email DNS (MX, SPF, DKIM, DMARC)
  • update_server_ip - Update DNS records when migrating to a new server IP
  • subdomain_setup - Create A/CNAME records for a new subdomain

Development

# 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

License

MIT

Metadata

Release files for porkbun-mcp 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for porkbun-mcp 1.1.2
File Size Uploaded Provenance
porkbun_mcp-1.1.2.tar.gz 11.9 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for porkbun-mcp 1.1.2
File Interpreter ABI Platform
porkbun_mcp-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 30.0 kB

Release files / porkbun_mcp-1.1.2.tar.gz

Download URL porkbun_mcp-1.1.2.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5a1260c0c56146a186e705d38f4d47433e8419b5298fbc133fd9374762b36987
BLAKE2b-256 checksum
How to use checksums
cd168b459d81519178089ea909c656631856c831cbd017092522214dfa207a43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.

Transparency log

Release files / porkbun_mcp-1.1.2-py3-none-any.whl

Download URL porkbun_mcp-1.1.2-py3-none-any.whl
Size 18.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b34c9ba9d18a3abe594982ea8a776d461c01ed1eeae5ff51479b0ee989c04980
BLAKE2b-256 checksum
How to use checksums
3c750f69e9c4980a821f3b2f1616e1dae344150aecdc4347a36c1099ea5ace6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.

Transparency log

Security for porkbun-mcp 1.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for porkbun_mcp-1.1.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page