Porkbun DNS 🐷 について
Porkbun DNS は、Porkbun API を通じて DNS レコード、ドメイン、DNSSEC、SSL 証明書を管理する MCP サーバーです。既定では読み取り専用モードで動作し、書き込み操作は明示的に有効化する必要があるため、変更のリスクを抑えたい利用者に向いています。
主な機能
- 01DNS レコードの参照、作成、編集、削除
- 02ドメイン、ネームサーバー、URL 転送の管理
- 03DNSSEC レコードと SSL 証明書バンドルの取得
- 04既定の読み取り専用モードと書き込みの任意有効化
- 05DNS 操作向けの定義済みプロンプト
活用シーン
- 01新しいサーバー向けにルートの A レコードと www レコードを設定
- 02重複レコード、メールレコードの欠落、低い TTL を含む DNS 設定の監査
- 03サーバー移行時に IP 変更に合わせて DNS レコードを更新
MCP 対応
本プロジェクトは MCP サーバーであり、stdio または SSE トランスポート経由で、Porkbun の DNS、ドメイン、DNSSEC、SSL 関連のツールとプロンプトを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
porkbun-mcp
Porkbun DNS API 用の MCP サーバーです。
Model Context Protocol を通じて、DNS レコード、ドメイン、DNSSEC、SSL 証明書などを管理できます。
設定
Porkbun API の認証情報を環境変数として設定します。
export PORKBUN_API_KEY="pk1_..."
export PORKBUN_SECRET_KEY="sk1_..."
API キーはPorkbun API Access ページで取得できます。
読み取り専用モード(デフォルト)
安全のため、porkbun-mcp はデフォルトで読み取り専用モードで動作します。書き込み操作 (作成、編集、削除)は、明示的に有効にするまでエラーを返します。
書き込み操作を有効にする
豚を泥遊びさせて、変更を加えられるようにするには、次の手順に従います。
環境変数:
export PORKBUN_GET_MUDDY=true
CLI フラグ:
uvx porkbun-mcp --get-muddy
使い方
uvx で直接実行します(インストールは不要です)。
uvx porkbun-mcp
SSE トランスポート
uvx porkbun-mcp --transport sse
MCP クライアントの設定
Claude Desktop
~/.config/claude/claude_desktop_config.json に追加します。
{
"mcpServers": {
"porkbun": {
"command": "uvx",
"args": ["porkbun-mcp", "--get-muddy"],
"env": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
注: 読み取り専用モードにするには、args から
--get-muddyを削除してください(安全のため推奨)。
Claude Code / Codex
~/.claude/settings.json に追加します。
{
"mcpServers": {
"porkbun": {
"command": "uvx",
"args": ["porkbun-mcp", "--get-muddy"],
"env": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
VS Code
ワークスペースの .vscode/mcp.json に追加します(または MCP: Add Server コマンドを使用します)。
{
"servers": {
"porkbun": {
"command": "uvx",
"args": ["porkbun-mcp", "--get-muddy"],
"env": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
OpenCode
opencode.json の設定に追加します。
{
"mcp": {
"porkbun": {
"type": "local",
"command": ["uvx", "porkbun-mcp", "--get-muddy"],
"environment": {
"PORKBUN_API_KEY": "pk1_...",
"PORKBUN_SECRET_KEY": "sk1_..."
}
}
}
}
利用可能なツール
DNS
dns_list- ドメインのすべての DNS レコードを一覧表示dns_get- ID を指定して特定の DNS レコードを取得dns_get_by_name_type- サブドメインとタイプを指定して DNS レコードを取得dns_create- 新しい DNS レコードを作成dns_edit- ID を指定して DNS レコードを編集dns_edit_by_name_type- サブドメインとタイプを指定して DNS レコードを編集dns_delete- ID を指定して DNS レコードを削除dns_delete_by_name_type- サブドメインとタイプを指定して DNS レコードを削除
ドメイン
domains_list- アカウント内のすべてのドメインを一覧表示domains_get_nameservers- ドメインのネームサーバーを取得domains_update_nameservers- ドメインのネームサーバーを更新domains_get_url_forwards- URL 転送ルールを取得domains_add_url_forward- URL 転送ルールを追加domains_delete_url_forward- URL 転送ルールを削除domains_check_availability- ドメインの取得可否と価格を確認domains_get_glue_records- ドメインのグルーレコードを取得
DNSSEC
dnssec_list- ドメインの DNSSEC レコードを一覧表示dnssec_create- DNSSEC レコードを作成dnssec_delete- DNSSEC レコードを削除
SSL
ssl_retrieve- ドメインの SSL 証明書バンドルを取得
価格
pricing_get- 利用可能なすべての TLD の価格を取得
ユーティリティ
ping- API 接続をテストし、パブリック IP を取得
プロンプト
一般的な DNS 操作をガイドする、事前定義済みのワークフローです。
dns_setup- 新しいサーバーの基本的な DNS(ルート A レコードと www レコード)を設定dns_audit- 問題(重複、メールレコードの不足、TTL の短さ)がないか DNS 設定を監査email_dns_setup- メール DNS(MX、SPF、DKIM、DMARC)を設定update_server_ip- 新しいサーバー IP への移行時に DNS レコードを更新subdomain_setup- 新しいサブドメインの A/CNAME レコードを作成
開発
# 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
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。