Porkbun について
Porkbun のドメイン、DNS、ホスティング、メール、アカウント情報を管理する MCP サーバーです。ツールセットを選んで読み込めます。購入、課金、所有権の変更、秘密情報の開示には承認が必要です。
主な機能
- 01ドメインの検索と登録
- 02DNS と DNSSEC レコードの管理
- 03静的サイトの公開とホスティング設定
- 04メールボックス、転送、Webhook の設定
- 05読み込むツールセットの選択
- 06購入と秘密情報の取り扱いに承認を要求
活用シーン
- 01ドメインの空き状況を調べ予算内で登録
- 02DNS ゾーンをバックアップしてからレコードを編集
- 03静的サイトをドメインのホスティングに公開
- 04請求書の確認または Cloudflare への DNS 移行
MCP 対応
MCP ツールを通じて、DNS、ホスティング、メール、移管、請求書など Porkbun のアカウントとドメインを管理できます。購入、課金、所有権の変更、秘密情報の開示にはクライアントでの承認が必要で、ツールセットによって利用可能なツールを絞れます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @foreverworks/mcp-porkbunPORKBUN_API_KEY_FILEシークレットPath of a file holding your Porkbun API key (pk1_...).PORKBUN_SECRET_API_KEY_FILEシークレットPath of a file holding your Porkbun secret API key (sk1_...).PORKBUN_OUTBOX_DIRWhere the tools that save a file (an SSL bundle, an invoice PDF, a DNS zone export, a new mailbox's password) write it. Without it those tools answer with a configuration error; every other tool works.PORKBUN_TOOLSETSThe toolsets whose tools the server loads, separated by commas, e.g. dns,forwards. Empty loads every toolset.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
113掲載時のツール一覧 · 2 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| cost | integer | いいえ | `cost_cents` の非推奨エイリアスで、単位は同じです(整数の米セント)。代わりに `cost_cents` を送信してください。 |
| domain | string | はい | 購入するドメイン(例:`example.com`) |
| dry_run | boolean | いいえ | 請求や確保を行わずに検証し、価格を算出します。 |
| cost_cents | integer | いいえ | get_closeout の正確な totalPrice。dry_run の場合のみ 0 を使用します。必須。整数の米セント単位です。803 は $803 ではなく $8.03 です。 |
| pay_with_card | boolean | いいえ | ユーザーの Stripe Link エージェントウォレット(MPP)のカードでこの購入を支払い、与信枠を確保します。購入が成功した場合のみ請求されます。まず金額をユーザーに伝えてください。 |
| card_payment_id | string | いいえ | 以前の PAYMENT_REQUIRED(pay_with_card)で返された cardPaymentId。payUrl の支払い完了後、その呼び出しと同じ引数とともに送信します。 |
詳細
Porkbun MCP サーバー
AI アシスタントからPorkbunアカウントを操作できます。ドメインの検索と登録、DNS と DNSSEC の編集、静的サイトの公開、ドメインの移管や DNS の Cloudflare への移行、メールボックスと Webhook の設定、請求書の確認ができます。ツールは Porkbun 独自のもの
(@porkbunllc/mcp-server)
に、ゾーンファイルのエクスポート機能を加えたもので、安全対策も備えています。料金が発生する、請求への同意を伴う、ドメインの所有者を変更する、または秘密情報を渡すツールはすべてmoneyです。クライアントが事前に確認し、アカウントの月間 API 上限を超える請求は、Porkbun に届く前に拒否されます。
必要なもの: Porkbun アカウントと API キーペア(pk1_... と sk1_...)が必要です。それぞれを別のファイルに保存し、管理対象のドメインで API アクセスを有効にしてください。購入代金はアカウント残高、または Stripe Link 経由のカードで支払います。ファイル(証明書、請求書 PDF、ゾーンファイル、メールボックスのパスワード)を保存するには、保存先のディレクトリもサーバーに必要です。
できること
- 「今後 3 か月以内に有効期限が切れる自分のドメインと、そのうち自動更新がオフになっているものを教えてください。」
- 「talonbakery.com は取得できますか? 年額 15 ドル未満なら登録してください。」
- 「example.com の DNS をバックアップしてから、shop.example.com を 203.0.113.10 に向けてください。」
- 「./dist のサイトを example.com の静的ホスティングに公開してください。」
- 「example.org を自分の Cloudflare アカウントに移管した場合、どの DNS レコードが失われますか?」
- 「先月の Porkbun の請求書を PDF として保存してください。」
インストール
Claude Code の場合:
claude mcp add porkbun -e PORKBUN_API_KEY_FILE="<path to API key file>" -e PORKBUN_SECRET_API_KEY_FILE="<path to Secret API key file>" -- npx -y @foreverworks/mcp-porkbun
Claude Desktop(Settings、Developer、Edit Config)やその他の多くのクライアントでは、同じコマンドを JSON として読み込みます。
{
"mcpServers": {
"porkbun": {
"command": "npx",
"args": ["-y", "@foreverworks/mcp-porkbun"],
"env": {
"PORKBUN_API_KEY_FILE": "<path to API key file>",
"PORKBUN_SECRET_API_KEY_FILE": "<path to Secret API key file>"
}
}
}
}
いずれも、Node 22.19 以降で公開済みのパッケージを実行します。VS Code と Claude Desktop バンドルでは、サーバーを追加する際に各設定の入力を求められます。任意の項目は空欄のままにしてください。Cursor では代わりに環境から各設定を読み込むため(${env:PORKBUN_API_KEY_FILE} など)、Cursor の起動前に設定してください。上記のコマンドで設定されるのは必須項目のみです。残りについては設定をご覧ください。
クローンから実行する場合
git clone https://github.com/foreverworks/mcps.git && cd mcps
npm ci && npm run build
claude mcp add porkbun -e PORKBUN_API_KEY_FILE="<path to API key file>" -e PORKBUN_SECRET_API_KEY_FILE="<path to Secret API key file>" -- node "$PWD/servers/porkbun/dist/index.js"
JSON 設定では、コマンドは node、引数は servers/porkbun/dist/index.js の絶対パスです。複数のクライアントで 1 つの実行中のコピーを HTTP 経由で共有する方法については、docs/deploying.mdをご覧ください。
設定
| 変数 | 必須 | 説明 |
|---|---|---|
PORKBUN_API_KEY_FILE | はい、または PORKBUN_API_KEY | API キー(pk1_...)を格納したファイルです。ファイルが指定されているにもかかわらず存在しない、または空の場合は config エラーとなり、フォールバックは行われません。 |
PORKBUN_SECRET_API_KEY_FILE | はい、または PORKBUN_SECRET_API_KEY | シークレット API キー(sk1_...)を格納したファイルです。 |
PORKBUN_API_KEY、PORKBUN_SECRET_API_KEY | いいえ | キーそのものです。ローカルでの stdio 実行時に使用します(Porkbun 独自のサーバーが読み取る変数名です)。 |
PORKBUN_OUTBOX_DIR | ファイルを保存するツールの場合 | ファイルの保存先です。モードは 0640(サーバーのユーザーおよびディレクトリのグループ)です。デフォルト値はありません。未設定の場合、get_ssl_bundle、get_invoice_pdf、export_dns_zone、および password の回答なしで実行する create_mailbox または setup_mailbox は config を返します。それ以外のツールはすべて動作します。 |
PORKBUN_BASE_URL、PORKBUN_DOCS_BASE | いいえ | Porkbun のパッケージが読み取ります。API のベース URL(デフォルトは https://api.porkbun.com/api/json/v3)と、ドキュメントツールが取得元とする場所(デフォルトは https://porkbun.com)を指定します。未設定のままにしてください。 |
PORKBUN_X402_PRIVATE_KEY、PORKBUN_X402_MAX_CENTS | いいえ | Porkbun のパッケージが USDC での支払いに使用しますが、このサーバーでは提供していません。絶対に設定しないでください。 |
PORKBUN_TOOLSETS | いいえ | 読み込むツールセットをカンマ区切りで指定します。未設定の場合はすべて読み込みます(ツールセット)。 |
キーは、必要とする最初の呼び出し時に読み込まれます。そのため、ドキュメントツール(read_doc、search_docs、list_doc_topics)、get_pricing、mock_call はキーなしで動作します。キーがログに記録されたり、返されたりすることはありません。監査ログの行には引数も結果も含まれません。
送信先を制限するデプロイでは、MCP_EGRESS_ALLOW=api.porkbun.com,porkbun.com を設定します。deploy_site と import_dns_records は MCP_FILE_ROOTS からファイルを読み取ります。これらと、すべてのサーバーで共有されるその他の変数については、docs/configuration.md を参照してください。
API キーペアの取得
- porkbun.com にサインインし、API Access を開きます。
- このサーバー専用のキーを作成すると、そのキーだけを制限および失効できるようになります。Porkbun でシークレットキーが表示されるのは一度だけです。今すぐ両方のキーをコピーしてください。
- 必要に応じて、キーを制限します(この画面で、または後からキーの横にある歯車アイコンから設定できます)。Allowed IPs、Allowed domains、Permissions(Full access、Read-only、Manage, but no purchases、またはカスタムスコープ)を設定できます。制限に該当しない呼び出しは失敗し、何も変更されません。
- それぞれのキーを、自分だけが読み取れるファイル(
chmod 600)に保存し、PORKBUN_API_KEY_FILEとPORKBUN_SECRET_API_KEY_FILEにそのファイルを指定します。 - ドメインの API アクセスを有効にします。同じページで Opt In All Domains を選ぶか、Domain Management から各ドメインの API Access を有効にします。有効にしないと、そのドメインに対する呼び出しはすべて失敗します。
ツールセット
サーバーがクライアントに渡すすべてのツール定義は、クライアントがリクエストを送るたびに付随します。Porkbun の定義は長いため、PORKBUN_TOOLSETS で読み込むツールセットをコンマ区切りで指定します。指定されていないツールセットのツールは一切読み込まれず、サーバーの指示でアシスタントに未読み込みのツールセットが伝えられるため、回避策を探さずにその旨を知らせることができます。未設定、空、または all の場合は、従来どおりすべてのツールセットが読み込まれます。
| ツールセット | 読み込まれる内容 |
|---|---|
domains | 空き状況と価格、登録と更新、自動更新、連絡先。 |
dns | DNS レコード、復元ポイント、スキャン、ゾーンのインポートとエクスポート、ネームサーバー、preflight_domain、および無料の TLS 証明書(get_ssl_bundle)。 |
dnssec | レジストリの DS レコードと、preflight_domain。 |
glue | サービス対象のドメイン配下で指定されたネームサーバーのグルーレコード。 |
forwards | URL 転送とメール転送。 |
hosting | 静的ホスティングと WordPress 用 Cloud:プラン、deploy_site、ファイル、WordPress のパスワード。 |
mailboxes | メールホスティングのメールボックス:購入、設定、更新、パスワード。 |
cloudflare | DNS を自分の Cloudflare アカウントに移行する機能、およびそこでのゾーン、レコード、プロキシ。 |
transfers | ドメインの移管。価格確認用の check_domain と、ゾーン用の scan_dns_records および import_dns_records が含まれます。 |
marketplace | 他の人が販売するドメイン名:Porkbun Marketplace、中古市場、クローズアウト。 |
webhooks | Webhook エンドポイント、そのシークレット、配信。 |
account | チャージと自動チャージ、アカウントのメールアドレスと電話番号の確認、請求書。 |
docs | Porkbun の API ドキュメントと、mock_call の応答例。 |
ping、get_balance、get_api_settings は常に読み込まれます。ping は最初に実行するツールであり、障害の診断にも使われます。また、5 つのツールセットに含まれるすべての購入は残高から支払われ、月間 API 支出上限に計上されます。
読み込まれているツールセットにかかわらず、購入は引き続き money に分類され、送信前に上限が確認されます。ツールセット名が無効な場合、サーバーは起動時に停止し、有効なツールセットの一覧をメッセージで表示します。src/mcp/toolsets.ts では各ツールを名前で分類しています。Porkbun のパッケージに、分類されていないツールが含まれているバージョンはテストに失敗し、起動しません。2026-10-23 に scripts/measure-tokens.ts(GPT-4 トークナイザー)で計測したところ、全ツールセットではツールが 113 個で約 44,200 トークン、dns,forwards では 23 個で 8,800 トークン、domains,account では 25 個で 12,300 トークンでした。
DNS と転送のみを読み込むには:
{
"mcpServers": {
"porkbun": {
"command": "npx",
"args": ["-y", "@foreverworks/mcp-porkbun"],
"env": {
"PORKBUN_TOOLSETS": "dns,forwards",
"PORKBUN_API_KEY_FILE": "/path/to/porkbun-api-key",
"PORKBUN_SECRET_API_KEY_FILE": "/path/to/porkbun-secret-api-key"
}
}
}
}
ツールセットはツールを除外します。MCP_MAX_ACCESS=read は一覧にあるすべてのツールを維持しつつ、書き込みを拒否します。
初回実行
- アシスタントに Porkbun の
pingを実行するよう依頼します。接続とキーのペアを確認し、キーのスコープを表示します。 - API の支出設定(
get_api_settings)と残高(get_balance)を確認するよう依頼します。アカウントが今月あといくら使えるか、購入の支払いに使われるクレジットはいくらかを確認できます。 - 購入とチャージには、確認済みのメールアドレスと電話番号が必要です。呼び出しの応答が
VERIFICATION_REQUIREDの場合、アシスタントに各確認コード(send_email_verification_code、send_phone_verification_code)を送信させ、届いたコードを読み上げて確認します。
ツール
read は何も変更しません。write はアカウント、DNS、またはホスティングを変更しますが、支出は発生せず、シークレットも渡しません。money は支出または金銭の確約を行うか、ドメインの所有者を変更するか、シークレットを渡します。クライアントは呼び出しのたびに確認を求めます。
ツールは 113 個で、read が 54 個、write が 39 個、money が 20 個です。Porkbun のパッケージに準拠するため、実行中のサーバーから生成され、すべてのツールセットが読み込まれます(どのツールセットが一緒に読み込まれるかはツールセットを参照)。各行はツールの説明文の最初の一文です。Porkbun の説明文をそのまま使うか、このサーバーとの違いに応じて修正するか、または deploy_site、get_ssl_bundle、get_invoice_pdf、export_dns_zone についてはこのサーバー独自の説明文を使用します。
| ツール | アクセス | 機能 |
|---|---|---|
buy_closeout | money | アカウントクレジットを使用するか、カードで直接支払います(pay_with_card)。 現在の価格で期限切れドメインのクローズアウトを購入し、名前を取得します。 |
cancel_transfer | money | 支払い済みの受信トランスファーをキャンセルし、注文を払い戻します。 先にユーザーに確認してください。 |
check_domain | read | 1つのドメインが登録可能かどうかと、その料金を確認します。 |
check_domains | read | 1回の呼び出しで最大25個のドメインの登録可否と料金を確認します。 |
configure_auto_topup | money | チャージ額を設定し、自動チャージをオンまたはオフにします。 |
confirm_email_verification | write | 確認メールに記載されたコードで、アカウントのメールアドレスを確認します(send_email_verification_code、または過去3日以内に受信した確認メールのコードを使用します)。 |
confirm_phone_verification | write | send_phone_verification_codeでユーザーが受け取ったコードで、アカウントの電話番号を確認します。 |
connect_domains_to_cloudflare | write | ドメインを顧客自身のCloudflareアカウントに移行するようキューに追加します。Porkbunはそのアカウントにゾーンを作成し、保持しているDNSレコードをコピーして、レジストリのネームサーバーをCloudflareに切り替えます。 |
create_cloudflare_record | write | ドメインのCloudflareゾーンにDNSレコードを作成します。 |
create_dns_record | write | 認証済みアカウントのドメインにDNSレコードを作成します。 |
create_dnssec_record | write | ドメインのDNSSEC DSレコードをレジストリに送信します。 |
create_email_forward | write | ドメインのアドレスからメールを転送します(例: |
create_glue_record | write | ドメイン上のホストにグルーレコードを作成します。 |
create_hosting | money | アカウント内のドメインにホスティングを設定します。skuで選択したSecure Static Hosting、またはCloud for WordPress(マネージドWordPressサイト)が対象です。 |
create_mailbox | money | アカウントクレジットを使用するか、カードで直接支払います(pay_with_card)。 メールホスティングのメールボックスを1つ購入し(年間36.00ドル、自動更新。現在の価格はlist_mailboxesのprice)、同じ呼び出しで設定します。 |
create_url_forward | write | ドメインにURL転送ルールを追加します。 |
create_webhook | money | Webhookエンドポイントを登録します。 |
create_wp_credentials | money | CLOUD FOR WORDPRESS ONLY. |
delete_cloudflare_record | write | ドメインのCloudflareゾーンからDNSレコードを削除します。 |
delete_dns_record | write | 数値のrecord_id(list_dns_recordsで取得)で指定したDNSレコードを1つ削除します。 |
delete_dnssec_record | write | キータグで指定したドメインのDNSSEC DSレコードをレジストリから削除します。 |
delete_email_forward | write | addressとforward_toで指定したメール転送を1つ削除します(list_email_forwardsから取得します。1つのアドレスから複数のメールボックスに転送できるため、両方の値が必要です)。 |
delete_glue_record | write | ドメイン上のホストを指定してグルーレコードを削除します。 |
delete_hosting | write | ドメインのSecure Static Hostingを解約し、提供を終了します。停止処理はPorkbunによってスケジュールされます。 |
delete_hosting_file | write | ドメインのSecure Static Hosting領域にあるpathのファイルまたはディレクトリを削除します。 |
delete_url_forward | write | id(list_url_forwardsで取得)でURL転送ルールを削除します。 |
delete_webhook | write | idでWebhookエンドポイントを削除します。 |
delete_wp_credentials | write | CLOUD FOR WORDPRESS ONLY. |
deploy_site | write | ドメインのSecure Static Hostingに静的ファイルをアップロードします。 |
diff_dns_restore_point | read | 変更を加える前に、DNSの復元ポイントと現在のゾーンを比較します。 |
disconnect_cloudflare | write | このアカウントに保存されたCloudflare接続を削除します。 |
edit_cloudflare_record | write | ドメインのCloudflareゾーンにあるDNSレコードを更新します。 |
export_dns_zone | read | ドメインのDNSレコードをBINDゾーンファイル(RFC 1035)として、このサーバーの送信ボックスに保存します。list_dns_recordsが返すすべてのレコードを含め、$ORIGIN <domain>.を指定し、ホスト名は絶対名にします。MXとSRVには優先度を付け、TXTテキストは255バイトの文字列で引用符で囲み、各レコードのメモはコメントとして記録します。 |
get_api_settings | read | アカウントのAPI支出管理設定と、実際に適用される上限額をセント単位で取得します。 |
get_auto_topup | read | アカウントの自動チャージ設定(有効かどうか、チャージが開始される残高のしきい値、追加する金額、支払い方法が実際に登録されているかどうか、現在top_up_account_creditを実行した場合の請求額を示すeffectiveAmount)を取得します。 |
get_balance | read | 認証済みPorkbunアカウントで利用可能なアカウントクレジット残高を取得します。 |
get_closeout | read | 1件のクローズアウトとtotalPriceを取得します。totalPriceは、クローズアウト価格と、それに含まれる登録年分を合計した確定金額です。 |
get_cloudflare_connection | read | このPorkbunアカウントがCloudflareアカウントに接続されているかどうかと、接続先を確認します。 |
get_cloudflare_domain_status | read | 1つのドメインのCloudflare移行状況を取得します。作成後のCloudflareゾーンIDと、Porkbunが置き換えたネームサーバー(移行を元に戻せるよう保存されています)も含まれます。 |
get_cloudflare_queue | read | このアカウントがリクエストしたCloudflare移行をすべて、ドメインごとの状態とメッセージとともに一覧表示します。 |
get_cloudflare_records | read | Cloudflareが保持するドメインの現在のDNSレコードを一覧表示します。各レコードのオレンジ色の雲(proxied)の状態と、そもそもproxiableかどうかも含まれます。 |
get_cloudflare_zone | read | Porkbunのキュー行に記録された内容ではなく、Cloudflareが現在ドメインのゾーンについて示している情報(ステータス、一時停止状態、ネームサーバー、有効化日)を取得します。 |
get_cloudflare_zone_settings | read | 移行後に重要なCloudflareゾーン設定(SSLモード、always_use_https、automatic_https_rewrites、min_tls_version、development_mode、cache_level)を読み取ります。 |
get_contacts | read | 認証済みアカウント内のドメインについて、4つの連絡先(登録者、管理者、技術担当者、請求先)と現在の各項目(名前、組織、住所、電話番号、メールアドレス)を取得します。 |
get_domain | read | 認証済みアカウント内の1つのドメインのメタデータ(ステータス、TLD、作成日、有効期限、セキュリティロック、WHOISプライバシー、自動更新、APIアクセスのオプトイン、任意でラベル)を取得します。 |
get_hosting | read | ドメインのSecure Static Hostingの状態(プラン、サーバー、トライアル、有効期限、自動更新)を取得します。ドメインにホスティングがない場合はnullを返します。 |
get_invoice | read | 1件の請求書をデータとして取得します。請求先、支払い方法(カードブランドと末尾4桁のみ)、各明細の製品、期間、処理後のドメイン有効期限とステータス、総額、返金額、差引額(いずれもセント単位)が含まれます。 |
get_invoice_pdf | read | porkbun.comの「Download PDF」と同じ請求書PDFを、このサーバーの送信ボックスに保存します。 |
get_nameservers | read | 認証済みアカウント内のドメインに設定されている現在のネームサーバーを取得します。 |
get_pricing | read | 現在のPorkbun価格(TLDごとの登録、更新、トランスファー料金を米ドルで表示)を取得します。 |
get_registration_requirements | read | TLDの登録要件をJSON Schemaとして取得します。 |
get_ssl_bundle | money | ドメインの無料のPorkbun発行TLS証明書と秘密鍵を返す代わりに、このサーバーの送信ボックスに保存します。 |
get_transfer_setup | read | 保留中の受信トランスファーの状況と待機中の項目を報告します。PENDINGDNSで保留されているか、DNSゾーンが存在するか、保持しているレコード数、ドメインが現在委任している先、次の手順が含まれます。 |
get_transfer_status | read | ドメインの特定の受信トランスファーの状態を取得します。 |
get_webhook | read | 数値のidで単一のWebhookエンドポイントを取得します。署名シークレットと配信状況(連続失敗回数、最終成功/失敗)も含まれます(このサーバーではシークレットは表示されません)。 |
get_webhook_delivery | read | idで単一のWebhook配信を取得します。送信済みまたは送信予定のJSONペイロード全体と配信状況が含まれます。 |
get_webhook_event_types | read | Webhookエンドポイントで購読できるイベントタイプを一覧表示します。 |
import_dns_records | write | 1回の呼び出しでPorkbunドメインに多数のDNSレコードを作成します。トランスファーされたドメインの稼働を維持するための、scan_dns_recordsと対になるツールです。 |
list_cloudflare_inventory | read | アカウント内のすべてのドメインとCloudflareへの移行可否を一覧表示します。stateはeligible/warn/blocked/connected/inprogressのいずれかで、判定理由(DNSSECが有効、カスタムネームサーバー、Porkbunのホスティングを使用中など)もわかりやすく示します。 |
list_dns_records | read | 認証済みアカウント内のドメインのDNSレコードをすべて一覧表示します。 |
list_dns_restore_points | read | ドメインのDNSゾーンの保存済みバージョンを、新しい順に一覧表示します。 |
list_dnssec_records | read | ドメインについて現在レジストリに送信されているDNSSEC DSレコードを一覧表示します。 |
list_doc_topics | read | Porkbun APIドキュメントで利用可能なトピックを一覧表示します。 |
list_domains | read | 認証済みPorkbunアカウント内のドメインを一覧表示します。 |
list_email_forwards | read | ドメインのメール転送を一覧表示します。ドメインの各addressと、転送先のforwardToメールボックスが含まれます(1つのアドレスから複数のメールボックスに転送できます)。 |
list_glue_records | read | ドメインのグルーレコードを一覧表示します。 |
list_hosting_files | read | ドメインのSecure Static Hosting領域にあるファイル/ディレクトリ名を、任意のpathの下で一覧表示します。 |
list_hosting_plans | read | APIで設定可能なホスティングプランを、価格(セント単位。create_hostingのacknowledged_cost_centsに指定)、期間、トライアルの長さ、機能とともに一覧表示します。 |
list_invoices | read | アカウントの請求書(注文ごとに1件)を新しい順に一覧表示します。日付、状態(PAID、PARTIALLY_REFUNDED、REFUNDEDまたはUNPAID)、差引額(セント単位)、請求書に含まれるドメインが含まれます。 |
list_mailboxes | read | ドメインのメールホスティング用メールボックス(IMAP/POPまたはウェブメールで読み取れる、ドメイン上の実際の受信トレイ)を一覧表示します。各メールボックスのstatus、address、無料のtrialかどうか、有効期限expiresが含まれます。 |
list_marketplace | read | Porkbun Marketplaceで販売中のドメインを閲覧します。新規登録ではなく、他のPorkbun顧客自身が出品した名前が対象です。 |
list_transfers | read | 認証済みアカウントの進行中および最近の受信ドメイントランスファーをすべて一覧表示します。 |
list_url_forwards | read | ドメインに設定されているすべてのURL転送ルールを一覧表示します。 |
list_webhook_deliveries | read | すべてのエンドポイントを対象に、または1つに絞り込んで、最近のWebhook配信試行を新しい順に一覧表示します。 |
list_webhooks | read | 認証済みアカウントに登録されているWebhookエンドポイントを一覧表示します(このサーバーではシークレットは表示されません)。 |
list_wp_credentials | read | CLOUD FOR WORDPRESS ONLY. |
make_hosting_dir | write | ドメインのSecure Static Hosting領域にあるpathにディレクトリを作成します(存在しない親ディレクトリも作成します)。 |
mock_call | read | 認証情報なしで、任意のAPIエンドポイントのスキーマに準拠した応答例を取得します。セットアップは不要です。 |
ping | read | Porkbun APIの接続と認証情報を確認します。 |
preflight_domain | read | ドメインに影響を与える変更を実施する前に、その変更で問題が発生しないか確認します。 |
prepare_transfer | write | 受信トランスファーが保留中のドメインにPorkbun DNSゾーンを作成し、ドメインが移行される前にレコードを追加できるようにします。 |
preview_cloudflare_move | read | キューには追加せず、ドメインのどのDNSレコードがCloudflareにコピーされ、どれが破棄されるかを正確に表示します。 |
read_doc | read | PorkbunのドキュメントページをMarkdownとして読み取ります。 |
register_domain | money | アカウントクレジットを使用するか、カードで直接支払います(pay_with_card)。 認証済みPorkbunアカウントで新しいドメインを登録します。 |
renew_domain | money | アカウントクレジットを使用するか、カードで直接支払います(pay_with_card)。 認証済みアカウント内の既存ドメインを更新します。 |
renew_mailbox | money | アカウントクレジットを使用するか、カードで直接支払います(pay_with_card)。 メールホスティングのメールボックスを今すぐ1年分更新します。料金はlist_mailboxesのrenewalPrice(36.00ドル、または現在も対象となるメールボックスには旧価格)です。 |
resend_webhook | write | 過去のWebhook配信をエンドポイントに再度キュー追加します。 |
restore_dns_zone | write | ドメインのDNSゾーンを保存済みの復元ポイントに戻します。 |
retry_cloudflare_domain | write | Cloudflareへの移行に失敗したかスキップされたドメインを再度キュー追加します。 |
rollback_cloudflare_domain | write | 完了したCloudflare移行を元に戻します。ドメインのネームサーバーをPorkbunに戻し、Porkbunが保持しているDNSを復元します。 |
rotate_webhook_secret | money | Webhookエンドポイント用の新しい署名シークレットを生成し、新しいシークレットを含むエンドポイントを返します。 |
scan_dns_records | read | ライブの権威ネームサーバーに問い合わせて、ドメインが現在公開しているDNSレコードを検出します。 |
search_aftermarket | read | アフターマーケットで販売中の登録済みドメインを検索します。Afternic、Sedo、Atom、NameBright、DAXの出品とオークション、およびPorkbun Marketplaceを対象に、名前ごとに最安値をまとめて表示します。 |
search_closeouts | read | 期限切れドメインのクローズアウトを検索します。オークションで売れず、スケジュールに従って価格が下がる固定価格で販売中の名前が対象です。 |
search_docs | read | Porkbun APIリファレンス全体をキーワード検索し、関連性の高いセクション(エンドポイント/トピック)をMarkdownで返します。 |
send_email_verification_code | write | ユーザーのPorkbunアカウントに登録されたメールアドレスに確認コードを送信し、VERIFICATION_REQUIREDを解除します(購入とチャージにはメールアドレスと電話番号の確認が必要です)。 |
send_phone_verification_code | write | ユーザーのPorkbunアカウントに登録された電話番号に確認コードをSMSで送信し、VERIFICATION_REQUIREDを解除します(購入とチャージには電話番号とメールアドレスの確認が必要です。また、新規アカウントでは登録時に電話番号の確認を求められません)。 |
set_cloudflare_proxy | write | ドメインのDNSレコードについて、Cloudflareプロキシ(オレンジ色の雲)をオンまたはオフにします。 |
set_cloudflare_zone_settings | write | 移行済みドメインのCloudflareゾーン設定を変更します。 |
set_email_password | money | メールホスティングのメールボックス(list_mailboxesにある有効なもの)のパスワードを変更します。 |
setup_mailbox | money | 設定待ちのメールボックス(支払い済み、またはドメイン登録に付属する無料トライアル)にアドレスとパスワードを設定します。 |
start_transfer | money | 保留中の受信トランスファーをレジストリに送信します。 |
test_webhook | write | エンドポイントにwebhook.testイベントを送信し、到達可能であることと署名検証が機能することを確認します。 |
top_up_account_credit | money | ユーザーの登録済み支払い方法に請求します(amount_centsはセント単位の整数です。803を指定すると8.03ドルが請求されます。先にユーザーにドル換算額を伝えてください)。金額は直ちにPorkbunアカウントのクレジットに追加されます。 |
top_up_with_card_mpp | money | エージェントのウォレット(Stripe Link Agent Wallet)にあるStripe Shared Payment Tokenを使用し、MPP(Machine Payments Protocol)経由でユーザーのカードを使ってアカウントクレジットを追加できる支払いリンクを取得します。 |
transfer_domain | money | アカウントクレジットを使用するか、カードで直接支払います(pay_with_card)。 外部のドメインをPorkbunに移管します。 |
update_auto_renew | money | 認証済みアカウント内のドメインの自動更新をオンまたはオフにします。 |
update_contacts | money | ドメインの連絡先を編集します。 |
update_dns_record | write | 数値のrecord_id(list_dns_recordsで取得)で指定した既存のDNSレコードを更新します。 |
update_glue_record | write | 既存のグルーレコードに関連付けられたIPアドレスを更新します。 |
update_nameservers | write | 認証済みアカウント内のドメインのネームサーバーを置き換えます。 |
update_transfer_auth_code | write | 認証コードの誤りが原因で停止した受信トランスファーの認証コードを置き換え、再度キュー追加します。キャンセル、払い戻し、再申請する必要はありません。 |
update_webhook | write | Webhookエンドポイントを更新します。 |
ツールの分類方法
src/mcp/policy.ts では、安全な場合にツールのクラスを判定します。Porkbun のツールが
readOnlyHint: true を指定している場合、そのツールは読み取り専用です。手動で分類するのは
MONEY と WRITE のみで、各ツールは一度だけ指定します。readOnlyHint がないツールがどちらにも
分類されていない場合、起動時にサーバーが停止します。そのため、新しい Porkbun のツールが支払いを
発生させる可能性がある場合は、リリース前に確認できます。メールと電話番号の認証は書き込み操作です。
コードはアシスタントではなく、あなたに届きます。export_dns_zone は読み取り操作です。レコードを一覧表示し、ファイルに書き込みます。
対象外
4 つのサンドボックスツール(create_sandbox_key、sandbox_topup、
sandbox_reset、sandbox_trigger_webhook)はサンドボックスキーでのみ応答しますが、
このサーバーには有効なキーが設定されています。Porkbun 自身の有効なキー用プロファイルでも、
これらのツールは対象外です。さらに 4 つのツール(src/infra/vendor/offer.ts)は意図的に
対象外としており、各購入には pay_with_usdc と usdc_checkout_id 引数が含まれます。
USDC での支払いにはサーバーの環境変数にウォレットキーが必要です。または、このサーバーから確認できない場所で
支払われたチェックアウトが必要です。アシスタントに渡した API キーは漏えいしたキーです。
| ツール | 提供しない理由 |
|---|---|
top_up_with_usdc | x402 経由で Base 上の USDC を使ってクレジットを追加しますが、このサーバーは暗号資産での支払いを行いません。 |
get_usdc_topup_status | USDC のチェックアウトを読み取りますが、このサーバーから開始できるチェックアウトはありません。 |
request_api_key | 応答(requestToken、codeVerifier)があれば、新しい有効なキーのペアを誰でも取得できます。 |
retrieve_api_key | 有効な API キーのペアをアシスタントに渡します。 |
支払い
すべての money ツールは tools/list でそのようにマークされ、クライアントは呼び出しごとに
承認を求めます(Claude Code はどの権限モードでもそうします)。MCP_CONFIRM=elicit を設定すると、
代わりにサーバー自身が、操作、ドメイン、金額を 1 行で示して確認を求めます。金額は引数にある整数のセントから、
割り算せずに計算されます。ドライランも確認対象で、行の先頭は
DRY RUN, no charge: です。例:
porkbun: register example.com for $11.08 from Porkbun account credit
porkbun: turn auto top-up ON: charge the saved card $50.00 whenever credit drops below $10.00
porkbun: DRY RUN, no charge: provision hosting PIXIESECURESTATICM2 on example.com at $3.00 per period, auto-renewing
呼び出しに食い違う 2 つの金額(cost_cents と旧式の cost)が指定されている場合、行にその旨が表示され、
Porkbun のパッケージは何も送信する前に呼び出しを拒否します。
| ツール | 支払いに該当する理由 |
|---|---|
register_domain、renew_domain、buy_closeout、transfer_domain | アカウントのクレジット、または Stripe Link 経由でカードに請求します。 |
create_mailbox、renew_mailbox | メールボックスを 1 年分購入し、自動更新します。 |
create_hosting | サブスクリプションです。ドメインで初めてプロビジョニングすると 15 日間のトライアルがあり、その後は更新のたびにプラン料金が発生します。再プロビジョニングではすぐに請求されます。 |
top_up_account_credit、top_up_with_card_mpp | 保存済みのカードに今すぐ請求するか、承認後に Stripe Link 経由でカードに請求するリンクを開きます。 |
configure_auto_topup | 残高が少なくなるたびにカードへ請求できるようにします。 |
update_auto_renew | オンにすると期限切れのたびに請求され、オフにするとドメインは失効します。 |
start_transfer、cancel_transfer | 支払い済みで保留中の移管を解除します(ドメインが現在のレジストラーを離れます)。または移管を取り消し、注文を返金します。 |
update_contacts | 登録者を変更すると、記録上の所有者が変わります。 |
get_ssl_bundle、setup_mailbox | 秘密鍵または生成されたメールボックスのパスワードを送信トレイに保存します。そこにアクセスできる人は誰でも、その秘密情報を保持できます。 |
create_wp_credentials | WordPress のアプリケーションパスワードを生成します。パスワードは一度だけ表示されます。administrator ロールではコードを実行できます。 |
set_email_password | 古いパスワードでサインインしているすべてのメールアプリが使えなくなります。 |
create_webhook、rotate_webhook_secret | エンドポイントの署名シークレットを渡します。シークレットをローテーションすると、受信側は古いシークレットでの検証ができなくなります。 |
先に確認する月間上限
Porkbun は、暦月ごとに、アカウントの API での購入額(支出上限)と、API 経由で追加するクレジット額(チャージ上限)に上限を設けています。それぞれの上限はアカウント所有者が設定した金額で、設定されていない場合は 100 ドル、または上限なしです。Porkbun は上限を超える呼び出しを受け取った時点で拒否するため、このサーバーは register_domain、renew_domain、transfer_domain、buy_closeout、create_mailbox、renew_mailbox、top_up_account_credit、top_up_with_card_mpp の実行前に上限(get_api_settings)を読み取り、残額を超える請求を拒否します。
{"error": {"kind": "over_limit", "code": "MONTHLY_SPEND_LIMIT_EXCEEDED", "cap": "spend",
"message": "register_domain would charge $11.08, more than the $5.00 left of this month's monthly API spend limit ($100.00, Porkbun's default for an account that set none; $95.00 spent so far); nothing was sent to Porkbun",
"figures": {"currency": "USD", "charge": "11.08", "limit": "100.00", "used": "95.00", "remaining": "5.00", "source": "default"}}}
code は、Porkbun が返すはずだった値です。確認対象の金額は、確認メッセージに表示されるドル額と同じ引数(src/domain/charges.ts)から取得するため、承認する内容がそのまま確認されます。上限内であれば、呼び出しは指定どおりに Porkbun に送られ、Porkbun 自身による確認も引き続き行われます。Porkbun に委ねられるのは、ドライラン(上限自体を報告します)、create_hosting(初回のプロビジョニングは無料トライアルですが、再プロビジョニングは有料で、引数からはどちらか判別できません)、amount_cents を指定しないチャージ、そして後から請求される configure_auto_topup と update_auto_renew です。上限を読み取れない場合は、推測せずに請求を拒否します。
結果に含まれるシークレット
money ツール以外では、結果内のシークレットフィールドはすべて注記に置き換えられます。対象となるのは、Porkbun が独自のアプリディレクトリ接続で非表示にしているフィールド(profiles.js の redactKeys。現在は secret)です。これは、Porkbun が読み取り専用と表示しているにもかかわらず、各エンドポイントの署名シークレットを返す list_webhooks と get_webhook で重要です。シークレットがこのサーバーから外部に送られるのは、クライアントが承認を求めた呼び出しを通じてのみです。また、アカウント所有者は porkbun.com/account/api でもシークレットを確認できます。呼び出しで渡すパスワードは会話を通じて送信されます。set_email_password ではパスワードが必要ですが、create_mailbox と setup_mailbox では Porkbun に生成させることもできます。MCP_CONFIRM=none の場合、確認は求められません。この設定を使用するデプロイメントは、そのことを受け入れているものとみなされます。
トラブルシューティング
config: "no Porkbun API key pair is configured for this server". PORKBUN_API_KEY_FILE と
PORKBUN_SECRET_API_KEY_FILE を設定してください
(API キーペアの取得)。
サーバーが起動しない:PORKBUN_TOOLSETS names "...", which is not a toolset. 名前を修正してください。メッセージに有効な名前が一覧表示されます
(ツールセット)。
アシスタントが、ツールがこのサーバーにないと言う。 そのツールセットが
PORKBUN_TOOLSETS にありません。追加するか、この変数の設定を解除してすべて読み込んでください。
config に PORKBUN_OUTBOX_DIR が示される。 ツールはファイルを保存しようとしていますが、保存先がありません。サーバーが書き込み可能なディレクトリを変数に設定してください。パスワードを生成するメールボックス呼び出しは、Porkbun ではそのパスワードが一度しか表示されないため、購入前に拒否されます。
一部のドメインでのみ api が失敗し、他のドメインでは動作する。 そのドメインでは API アクセスが有効になっていません。Domain Management で有効にするか、API ページで Opt In All Domains を選択してください。
IP_NOT_ALLOWED、DOMAIN_NOT_ALLOWED、または
INSUFFICIENT_SCOPE を伴う api。 キー自体に設定された制限によって呼び出しが拒否されました。porkbun.com/account/api で変更してください。
INSUFFICIENT_FUNDS を伴う api。 メッセージに記載された金額分、クレジットが不足しています。pay_with_card: true を指定して呼び出しを繰り返すか、チャージ後に再試行してください(top_up_account_credit、または
porkbun.com/account/credit)。
VERIFICATION_REQUIRED を伴う api。 アカウントのメールアドレスと電話番号を確認してください
(初回実行、手順 3)。
over_limit。 何も送信されていません。上限を引き上げられるのはアカウント所有者のみです。porkbun.com/account/api で変更してください。それまでは支出を減らすか、翌月までお待ちください。
input または refused。 このサーバー独自のチェック(長さが正しくない DS ダイジェスト、解析できない DKIM キー)または Porkbun のパッケージ(2 つの金額が一致しない)によって、引数が拒否されました。メッセージに変更すべき内容が示されます。何も送信されていません。
bad_bundle。 Porkbun から送信された秘密鍵が証明書のものと一致しないため、何も保存されていません。時間をおいて再試行してください。解決しない場合は、porkbun.com からバンドルをダウンロードし(Domain Management、SSL)、確認してください。
drift。 Porkbun の応答に、このサーバーが読み取るフィールド(バンドルの
privatekey、請求書の contentBase64、caps)がありません。何も保存も課金もされていません。報告してください。
network は Porkbun から応答がなかったことを意味します。1 分後に再試行してください。egress
は MCP_EGRESS_ALLOW の対象外のホストを意味します。この設定には api.porkbun.com と
porkbun.com が必要です。
仕組み
移植ではなくラップ
このリポジトリの他のサーバーはすべて、API を手作業または公開スキーマからモデル化しています。このサーバーは意図的に、Porkbun のパッケージをラップしています。
- API の所有者は Porkbun です。 ツールの説明には、Porkbun 独自のルール(登録時にそのまま返す必要がある正確な価格、保留中の移管で障害を回避する方法、
INSUFFICIENT_FUNDSの意味)が記載されています。移植すると二重管理になり、常に少しずつ遅れます。 - 更新が速いです。 npm では、0.22.0 から 0.52.0 までの期間が 7 週間でした。
- 不足しているのはツールの周辺部分です。 キーの取得方法、呼び出し可能なユーザー、ログに記録される内容、クライアントが確認すべき内容、エラーの読み方です。
そのため、名前、説明、入力スキーマ、アノテーション、ハンドラーはすべて Porkbun のものを使用し、起動時に固定バージョンのパッケージから読み込みます(src/infra/vendor.ts)。パッケージには型宣言が含まれていないため、使用する各エクスポートを解析します。形状が変わるバージョンでは、推測で実行するのではなく、サーバーを停止します。結果は Porkbun の JSON です。エラーは
{ "error": { kind, message, remedy, code?, status? } } 形式で、Porkbun のエラーテキストを src/infra/porkbunPort/vendorErrors.ts で分類します。Porkbun のサーバー指示は、変更せず初期化時に送信されます。
バイトを直接入力する代わりにファイルを使う
Porkbun の 10 個のツールがラップされており(src/mcp/register.ts の WRAPPED)、起動時に Porkbun のツールがラッパーから送られる内容を引き続き受け付けるかをそれぞれ確認します。そのうち 4 つは、バイトデータをモデルに渡さずに処理します。
deploy_site:Porkbun のツールでは、各ファイルを引数内の base64 として渡します。文字を 1 つ間違えるだけで、壊れたアセットが気付かれないまま公開されるおそれがあります。ここではファイルを{ path, local_path }(サーバーのファイルルート内)または{ path, content_base64, sha256 }(スクリプトで書き込み、ハッシュを検証)として指定します。上限は 10 MB です。応答には、各ファイルの送信時の sha256 とサイズを示すsent_filesが追加されます。読み取れないファイル、または一致しないファイルはアップロードされません。get_ssl_bundle:秘密鍵はリーフ証明書に対応している必要があります。両方とも<domain>.fullchain.pemと<domain>.privkey.pemとして保存されます(save_dirが指定されていれば、これは出力先フォルダー内に保存されます)。応答には各ファイルのパス、サイズ、sha256 と、証明書のサブジェクト、名前、発行者、有効期間、フィンガープリントが含まれます。get_invoice_pdf:数万文字に及ぶ Porkbun の base64 を厳密にデコードし、PDF 形式で始まることと Porkbun が示すサイズに一致することを確認してから、Porkbun のファイル名で保存します。15 分間有効なdownloadUrlを含め、Porkbun のその他のフィールドもそのまま保持されます。create_mailboxとsetup_mailbox:Porkbun が生成したパスワードは<address>.passwordとして保存され、応答のpasswordには保存先が示されます。パスワードそのものは含まれません。パスワードマネージャーに移して、ファイルを削除してください。
証明書、請求書、ゾーンファイルは結果内でリンク(resource_link)されるため、クライアントは JSON を読み込まずに開けます。メールボックスのパスワードは意図的にリンクされません。
送信前の検証
create_dnssec_record:ゾーンの鍵と一致しない DS レコードは、検証を行うすべてのリゾルバーでドメインを使用できなくします。dnskey(署名ツールが出力する行)が指定されている場合、ここで安価な鍵の検証を行ったうえで DS を計算します(RFC 4034 5.1.4)。ECDSA 鍵はその曲線上にある必要があり、Ed25519 または Ed448 鍵は正しい長さである必要があります。RSA の法は 512~4096 ビットである必要があります。入力された DS フィールドは鍵と一致しなければならず、Porkbun の 4 つのkeyData*フィールドも同様です。鍵が指定されていない場合、フィールドの形式を検証します(キータグ、アルゴリズム、ダイジェストタイプ、40、64、または 96 文字の 16 進ダイジェスト)。RFC 4034、4509、6605 の例に対してテスト済みです。- DKIM と SPF:
create_dns_record、update_dns_record、およびimport_dns_recordsのすべてのレコードで、v=DKIM1レコードには解析可能な鍵が含まれている必要があります(1024 ビット以上の RSA 鍵、または 32 バイトの ed25519 鍵。空のp=は失効を意味します)。v=spf1レコードには明らかな誤りがない必要があります。不明なメカニズム、不正なアドレスまたはプレフィックス、ドメインのない include、allの後の項目、2 つ目のv=spf1またはredirect=、10 件を超えるルックアップは許可されません。 import_dns_recordsは、インライン入力されたレコードの代わりに、records_file(JSON 配列)またはzone_file(下記)も受け付けます。Porkbun 独自のレコードスキーマで解析され、応答にはファイルの sha256、サイズ、件数が追加されます。update_nameserversは各名前を検証します(RFC 1123 に準拠した完全修飾名であること、IP アドレスではないこと、重複がないこと)。応答にはnameservers: { before, after }が含まれます。
ゾーンファイル
export_dns_zone は list_dns_records が返す内容を <domain>.zone
(RFC 1035)として保存し、そのパス、サイズ、sha256、タイプごとの件数を返します。大規模な変更前のバックアップ、経時比較用のゾーン、別の DNS ホストへの移行に使えます。オーナー名は $ORIGIN <domain>. からの相対名で、SOA はありません(Porkbun が独自に提供します)。同じレコードなら常に同じバイト列になるため、2 つのエクスポートを diff で比較できます。
import_dns_records に zone_file を指定すると、このようなファイルや別のホストからのエクスポートを読み込みます。対応する構文は、$ORIGIN、単位付きの $TTL、@、相対名、オーナー名の省略、括弧、コメント、エスケープされた引用文字列です。SOA、NS、DNSSEC 署名データは除外され、zone_file.ignored に一覧表示されます。一部だけがインポートされることはありません。ドメイン外の名前、Porkbun で保持できないタイプ(A、AAAA、CNAME、ALIAS、MX、TXT、SRV、CAA、TLSA、SSHFP、HTTPS、SVCB を受け付けます)、IN 以外のクラス、$INCLUDE、$GENERATE、または解析できない行がある場合、問題と行番号をすべて示してファイル全体を拒否します。
固定バージョンの更新
package.json では "@porkbunllc/mcp-server": "0.52.0" が厳密に固定されています。また、サーバーが要求することのない USDC 支払いに署名するためだけに読み込まれる @x402/core、@x402/evm、viem も含まれています。Porkbun には変更履歴がありません。各バージョンは、コミットメッセージがバージョン番号で始まるコミットです。oborseth/Porkbun-MCP を参照してください。
- それらのコミットと公開された差分(
npm diff --diff=@porkbunllc/[email protected] --diff=@porkbunllc/mcp-server@<new>)を読みます。特に、新規または変更された説明はすべて確認してください。支払いを実行する、カードに請求する、または秘密情報を返すツールは、アノテーションの内容にかかわらずMONEYに分類します。新しい支払い方法やキーを渡すツールがある場合は、offer.tsの確認が必要です。認識できない表現で USDC を提示するバージョンでは、起動時にサーバーが停止します。 npm install -w @foreverworks/mcp-porkbun --save-exact @porkbunllc/mcp-server@<new>npm run checkを実行し、続けてnpx tsx scripts/check-docs.ts --write porkbunを実行します。分類されていないツール、古い名前、または Porkbun 側の購入・チャージ・秘密情報ツールのリストと金銭関連クラスの不一致があると、ポリシーテストが失敗します。エラーメッセージが言い換えられていると、vendorErrors.test.tsが失敗します。
npx tsx scripts/smoke.ts は、キーのペアを使ってビルド済みサーバーを読み取り専用で動作させます。実行するのは ping、list_domains、get_balance であり、書き込みツールや金銭関連ツールは、ドライランであっても実行しません。
制限事項
- 結果はそのまま中継され、モデル化されません。 Porkbun が削除するフィールドは結果から欠落します。ただし、
get_ssl_bundle、get_invoice_pdf、および請求前に読み取る上限値ではdriftになります。 - チェックで検出できるのは文字の欠落であり、すべての変更ではありません。 RSA キー(DKIM、DNSKEY)内の文字が変わっても別のキーとして解析される一方、ECDSA キーはほとんどの場合、曲線上にない値になります。型付きダイジェストをまるごと削除する
dnskeyの使用を推奨します。DS は SHA-1、SHA-256、SHA-384 について計算されます。GOST または SM3 ダイジェストは形式のみをチェックします。 - SPF は記述どおりにチェックされます。
includeの参照先は追跡されず、ここでは DNS クエリも実行されません。その他のレコードタイプの検証は Porkbun が行います。また、スキャンによるインポートでは、Porkbun が検出した内容が、このサーバーから見えないままインポートされます。 - ゾーンファイル。 CAA、TLSA、SSHFP、HTTPS、SVCB は記述どおりに保持されます。Porkbun がエクスポートする ALIAS は、すべての DNS サーバーが読み取れるタイプではありません。メモはエクスポート時にコメントになりますが、再読み込みされません。
- 有効なキーのペアは 1 つのみです。 サンドボックスツールには、サンドボックスキーを使った Porkbun 独自のサーバーが必要です。USDC 支払いと API キーの発行は提供されません。クレジットまたはカードで支払い、キーは porkbun.com/account/api で作成してください。
Porkbun 向けのその他のサーバー
2026-10-15 に検索しました。Porkbun は独自のサーバーを公開しており、このサーバーが実行するのもそのサーバーです。
@porkbunllc/mcp-server(MCP Registry ではcom.porkbun/mcp)、Porkbun 提供:stdio 対応で、環境変数にキーのペアを設定します。Porkbun は Streamable HTTP 経由でもホストしており、OAuth サインインによって、クライアントごとに専用の API キーが発行されます(スコープの設定や失効が可能)。ただし、購入やチャージを含まない、より限定的なエンドポイントが使われます。アカウント側ではさらに、月ごとの支出上限、ドライラン、IP、ドメイン、権限で制限されたキーを設定できます。
コミュニティ製サーバーは、同じ API の一部をカバーしています。
- PyPI の
porkbun-mcp:ドメイン、DNS、DNSSEC、SSL に対応。書き込みを許可する変数を設定しない限り、読み取り専用です。 - npm の
porkbun-mcp:デフォルトでは読み取り専用です。 - GitHub の
porkbun-mcp-server。
このサーバーでは、Porkbun のサーバーがクライアント側に任せている処理を追加しています。すべてのツールを分類し、金銭が関係する各呼び出しを1行で確認できる機能(金銭、請求を送信する前の月ごとの上限チェック、結果にシークレットを含めない機能(結果内のシークレット、モデルが入力する base64 ではなくパスでファイルを扱う機能(型付きバイト列の代わりにファイル、ペイロードの検証(送信前のチェック、ゾーンファイルのエクスポートとインポート(ゾーンファイルに加え、キーのファイル保存や、HTTP 経由でのクライアントごとのトークン発行、呼び出しごとの監査ログ記録といった独自のサービスも提供します。
一方、Porkbun のホスト型エンドポイントでは接続ごとに専用のキーが発行されます。そのため、アカウントの支出上限と組み合わせると、このサーバーの1組のキーよりも細かく権限を付与できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。