mcpField
D
domains

domains

github.com/vercelクラウド・DevOps321104 回インストール1 日前に更新
リポジトリ

domains について

Vercel Registrar API と CLI でドメインを調査・管理するスキルです。公開検索と、認証が必要なプロジェクト、DNS、登録、移管、更新の操作を分け、変更確認や課金時の安全な手順も示します。

主な機能

  1. 01ドメイン名をまとめて空き状況と価格を確認
  2. 02CLIでキーワードとTLDの候補を生成
  3. 03ドメインの確認とプロジェクトへの接続
  4. 04DNSと所有権確認の問題を診断
  5. 05登録の購入、移管、更新

活用シーン

  1. 01購入前に空き状況と期間別価格を比較
  2. 02既存ドメインをVercelプロジェクトに接続
  3. 03DNSレコードとドメイン確認の問題を調査
  4. 04許可された移管、更新、チーム所有権を管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vercel/vercel-plugin --skill domains

インストール後、Claude Code で/domainsを入力して読み込まれたか確認します。

同梱ファイル.vercel.approvers

詳細

ドメイン

認証なしでの調査には、公開 Registrar API を使用します。アカウントやプロジェクトの操作には、インストール済みの Vercel CLI を使用するか、構造化された自動化には REST API を使用します。vc と vercel は同じものです。

ドメインの登録、Vercel チームの所有権、プロジェクトへの割り当て、権威 DNS はそれぞれ別のものです。すでに所有しているドメインを接続するために、購入や登録の移管は必要ありません。

認証情報を求める前に検索する

まず、空き状況と価格をまとめて取得するリクエストを 1 回送り、完全一致する名前を調査します。

curl --fail-with-body --silent --show-error \
  https://api.vercel.com/v1/registrar/domains/search \
  --header 'Content-Type: application/json' \
  --data '{"domains":["example.com","example.dev","example.app"]}'

1 回のリクエストで、完全一致するドメイン名を 1~200 件送信できます。エンドポイントは指定された名前を確認しますが、候補は生成しません。ユーザーの命名条件に基づいて候補を生成し、まとめてリクエストします。Vercel アカウント、トークン、プロジェクトへのリンクは不要です。

結果は入力順を維持します。利用可能なエントリには、domain、available、years、price、renewalPrice、premium が含まれます。価格は、返された登録期間に対する米ドル建てです。その期間の登録費用と更新費用を報告し、プレミアムドメインにはフラグを付けます。available: false は、利用不可、または空き状況を確認できなかったことを意味します。その名前が誰かに所有されていることを証明するものではありません。価格が欠落している場合、価格は不明であり、ゼロではありません。購入までに空き状況や見積もりが変わる可能性があります。

キーワードや TLD から候補を探す場合、最近の CLI では候補を生成できます。

vercel domains search acme --tld com --tld dev --available --format=json
vercel domains check example.com example.dev --format=json
vercel domains price example.com --format=json

インストールされているバージョンに対して、vercel domains --help と、選択したサブコマンドの --help を確認してください。候補の検索ができない場合や、CLI からログインを求められる場合は、公開エンドポイントを直接使用します。CLI の search はキーワードを受け付けますが、API の search は完全一致する名前を受け付けます。入力形式を取り違えないでください。

既存ドメインを接続して診断する

認証が必要な作業では、vercel whoami を確認し、チームを選択するときに --scope <team> を使用します。ドメインを変更する前に、対象のプロジェクトを特定してください。

vercel domains ls --scope my-team
vercel domains inspect example.com --scope my-team
vercel domains add example.com my-project --scope my-team
vercel domains verify example.com --project my-project --format=json --scope my-team

そのドメインとプロジェクトについて返された、実際に必要な DNS レコードと所有権確認値を使用してください。汎用の A レコードや CNAME のターゲットをハードコードしないでください。レコードは権威 DNS プロバイダーで設定してください。vercel dns が変更するのは Vercel DNS のみです。特に MX レコードやメール確認用 TXT レコードなど、関係のないレコードは保持してください。ネームサーバーを変更する場合は、そのゾーンに必要なレコードを引き継いでください。

タスクCLI
DNS レコードを一覧表示するvercel dns ls example.com
レコードを確認するvercel dns inspect <record-id> --format=json
必要な TXT レコードを追加するvercel dns add example.com <record-name> TXT <record-value>
既存のレコードを更新するvercel dns update <record-id> --value <record-value>
特定のレコードを削除するvercel dns rm <record-id>
チームの所有権を移動するvercel domains move example.com <destination-team>
チームの所有権を削除するvercel domains rm example.com

変更後は、domains verify を再実行し、DNS の伝播と HTTPS を確認してください。不一致を説明する有用な JSON が返されても、検証がゼロ以外の終了コードを返すことがあります。DNS 書き込みが受け付けられたからといって、DNS が伝播したことや証明書の準備が整ったことにはなりません。domains add --force はドメインを別のプロジェクトから切り離すことがあります。その再割り当てが意図されている場合にのみ使用してください。チームの所有権を削除しても、登録事業者への移管や登録のキャンセルにはなりません。

購入、移管、更新

ドメイン、契約期間、価格、自動更新の設定がすべて正確に指定された既存の承認を使用してください。これらの選択が未確定の場合は、確認を求める前に現在の見積もりを取得してください。調査の依頼を購入の許可として扱わないでください。ユーザーから提供された実際の登録者情報を使用し、トークン、連絡先データ、移管コードをログやコミット済みファイルに含めないでください。

タスクCLI
ドメインを登録するvercel domains buy example.com
別のレジストラーから移管するvercel domains transfer-in example.com
登録を更新するvercel domains renew example.com
自動更新を有効または無効にするvercel domains auto-renew example.com on / off

移管フローでは対話形式の入力が必要になる場合があります。Vercel CLI 63.1.0 以降では、domains buy と domains renew はプロンプトなしで実行されます。課金せずに価格、契約期間、次のコマンドを取得するには、--amount を指定せずに --scope <team> --json を渡してください。担当者の承認後、返されたコマンドを --amount <approved-price-in-USD> とともに実行してください(購入には登録者情報のフラグと、--auto-renew / --no-auto-renew のいずれか一方も必要です)。CLI は課金を再試行しません。結果が不明な場合は、再試行する前に domains inspect を実行してください。古い CLI では、CLI フラグを独自に作らず、必要なペイロードを使用して Registrar API を利用してください。Vercel のチーム間で移動する場合は、transfer-in ではなく domains move を使用します。

Registrar API

ベース URL:https://api.vercel.com。変更リクエストを作成する前に、選択した操作のリクエストフィールドとレスポンスフィールドをライブの OpenAPI スキーマで確認してください。

公開情報の検索

TLD の公開メタデータ、契約期間別のドメイン価格、利用可否、連絡先の要件については、Registrar API リファレンスを参照してください。これらの操作に認証は不要です。一括での利用可否確認と価格照会では 1~50 件のドメインを指定でき、検索では 1~200 件を指定できます。

TLD の基本価格では、プレミアムドメインの見積もりはできません。指定された契約期間について、ドメイン固有の価格を使用してください。価格エンドポイントは purchasePrice を返しますが、検索では price が返されます。一部の価格フィールドは数値ではなく文字列の場合があります。そのような値を expectedPrice として送信しないでください。

認証が必要な操作

Authorization: Bearer <token> を送信し、対象チームには ?teamId=<team-id> を使用してください。JSON の本文には Content-Type: application/json を使用してください。安全に利用できるトークンを再利用し、公開情報の検索でトークンを求めないでください。

購入、移管、更新、自動更新、ネームサーバー、連絡先の確認には、ライブスキーマで選択した操作を使用してください。非同期の結果は GET /v1/registrar/orders/{orderId} で確認してください。空のネームサーバー配列を指定すると Vercel のデフォルトが選択されます。連絡先の確認は購入後30分間は利用できません。

購入時は、連絡先スキーマを取得し、TLD 固有の必須値を購入ペイロードの contactInformation.additional フィールドで指定してください。移管では、その操作のライブスキーマで受け付けられる連絡先フィールドのみを使用してください。購入専用の additional フィールドは受け付けられません。Punycode で購入するには、対応する languageCode が必要です。TLD メタデータを確認してください。操作と期間を正確に見積もり、その数値を expectedPrice として使用してください。価格が一致しない場合は、値上げを黙って受け入れず、ユーザーが承認した支出額に照らして再評価してください。

購入、更新、移管は非同期で完了する場合があります。返された注文 ID を保存し、注文と各ドメインのステータスを確認して、保留中または失敗した結果を正確に報告してください。送信がタイムアウトした場合は、課金を伴う再送信の前に注文ステータスを照合してください。完了または失敗するまでポーリングを続けてください。一定回数の確認後も保留中の場合は、注文 ID と次回のステータス確認方法を返してください。必要な登録者のメールアドレス確認を完了してください。

レジストラ操作には、提供終了予定の従来の購入、価格、利用可能状況、移管エンドポイントではなく、/v1/registrar/* を使用してください。既存のプロジェクトドメイン API と DNS API はそれぞれ別の用途を持ちます。レジストラ API はこれらに取って代わるものではありません。

コメント