- Home
- MCP servers
- Porkbun
Porkbun
- 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.
- Set Porkbun API credentials as environment variables.
export PORKBUN_API_KEY="pk1_..."
export PORKBUN_SECRET_KEY="sk1_..."
- Start the MCP server locally using the launcher. By default, you will run in read-only mode.
uvx porkbun-mcp
- 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
- 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