mcpField
D
domainavail

domainavail

ローカル
github.com/CloudCorpRecordsクラウド・インフラ01 週間前に更新

domainavail について

domainavailは、ドメイン登録前に候補名を調べる人向けのツールです。DNS、RDAP、WHOISで一括確認し、利用可能に見える名前の登録確認や価格表示も行いますが、登録はしません。

主な機能

  1. 01ドメイン候補の一括確認
  2. 02DNS、RDAP、WHOISの利用
  3. 03利用状況と確認根拠の報告
  4. 04レジストラの価格とオファー表示
  5. 05TLD展開と保存名への対応

活用シーン

  1. 01設定したTLDで候補名を絞り込む場面
  2. 02利用可能な名前の購入先を比較する場面

MCP 対応

MCP サーバーは一括確認用の `check_domains` ツールを公開します。TLD、レジストラ確認、詳細な根拠、保存済みドメインを指定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-domainavail": {
"command": "npx",
"args": [
"-y",
"@reneturcios/domainavail"
]
}
}
}
起動コマンドnpx -y @reneturcios/domainavail

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/domainavail0.1.0
ocighcr.io/cloudcorprecords/domainavail:0.1.0

ツール

1

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
tldsarrayいいえこの呼び出しの tlds。
savedarrayいいえこの呼び出しで保存された内容。
confirmbooleanいいえこの呼び出しの確認フラグ。
detailsbooleanいいえこの呼び出しの詳細。
domainsarrayはいこの呼び出しのドメイン。

詳細

domainavail

候補にしたい名前のリストがあるとします。その中で実際に登録できるのはどれでしょうか。domainavail はリスト全体を一度に確認します。候補名を渡すと、それぞれに一連の公開チェックを行い、空いているように見える名前、すでに取得されている名前、そして空いている名前については価格と購入先を知らせます。完全な読み取り専用で、登録、予約、変更は一切行いません。

名前の確認方法

まず名前を正規化します(スキームとパスを取り除き、小文字に変換します)。ドットのない名前は、設定済みの各 TLD に展開します。完全なドメイン名はそのまま確認します。展開された各名前は、次の手順で確認されます。

  1. DNS 委任 — 名前に NS レコードがある場合は委任されているため、taken になります。ENOTFOUND/ENODATA は委任されていないことを示します。それ以外の DNS エラーが発生した場合は、名前は不明のままです。
  2. RDAP — 200 は名前が登録済みであることを示し(taken)、有効期限イベントは expires として報告されます。削除保留中のステータスには、being deleted; may become available soon という注記が付きます。404 は名前が空いているように見えることを示します。
  3. WHOIS フォールバック — TLD に RDAP がない場合、または RDAP が失敗した場合に使用します。No match/NOT FOUND/No Data Found に一致するテキストは空いているように見えることを示し、レコードがあれば taken、WHOIS の失敗は unknown になります。
  4. レジストラによる確認 — 空いているように見える名前は、設定済みのレジストラが確認しない限り likely_available のままです。レジストラには Name.com → Cloudflare → Spaceship → Porkbun の順で問い合わせ、いずれかが確定的な回答を返すまで続けます。その場合、名前は available になり(レジストラがプレミアムと判定した場合は premium: true が付き、価格が提示されていればその価格も付きます)、reserved、または taken になります。

ステータスは available、likely_available、taken、reserved、unknown です。

出力は 1 つの JSON オブジェクトです。ステータスごとの件数を含む summary、入力順の results(ただし、saved ドメインは saved: true としてマークされ、先頭に表示されます)、ドメイン名ではない入力や展開上限を超えた入力の skipped リスト、そして warnings が含まれます。details: true を指定すると、各結果には evidence も含まれます。これは DNS、RDAP、WHOIS、レジストラが返した内容を手順ごとに記録したものです。

設定

すべての設定は DOMAINSCOUT_* 環境変数で行います。

  • DOMAINSCOUT_TLDS — 短い名前を展開する TLD(デフォルトは com,net,ai)。呼び出しごとの tlds 引数で上書きできます。
  • DOMAINSCOUT_REGISTRARS — オファーと確認に使用するレジストラを絞り込むカンマ区切りリスト。
  • DOMAINSCOUT_MAX_CONCURRENCY — 並列チェック数(デフォルトは 10)。
  • DOMAINSCOUT_PER_HOST_CONCURRENCY — デフォルトは 2。この再構築版では値を解析しますが、個別には適用されません(明示的な簡略化)。
  • DOMAINSCOUT_TIMEOUT_MS — リクエストごとのタイムアウト(デフォルトは 10000)。
  • DOMAINSCOUT_MAX_DOMAINS — 展開上限(デフォルトは 500、最大 10000)。超過した名前は、理由 over DOMAINSCOUT_MAX_DOMAINS とともに skipped に追加されます。
  • DOMAINSCOUT_CONFIRM_MAX — 1 回の呼び出しでレジストラに確認する名前の最大数(デフォルトは 50)。
  • DOMAINSCOUT_DNS — DNS 手順のオン/オフ(デフォルトはオン)。DOMAINSCOUT_DNS_SERVERS — カスタム DNS サーバー。
  • DOMAINSCOUT_PRICES — 価格オファーのオン/オフ(デフォルトはオン)。
  • DOMAINSCOUT_AFFILIATE — 受け付けます(デフォルトはオン)。ここでの購入リンクは通常のリンクで、アフィリエイト用テンプレートは含まれません。
  • レジストラのキー:DOMAINSCOUT_NAMECOM_USERNAME/DOMAINSCOUT_NAMECOM_TOKEN、DOMAINSCOUT_CLOUDFLARE_ACCOUNT_ID/DOMAINSCOUT_CLOUDFLARE_API_TOKEN、DOMAINSCOUT_SPACESHIP_API_KEY/DOMAINSCOUT_SPACESHIP_API_SECRET、DOMAINSCOUT_PORKBUN_API_KEY/DOMAINSCOUT_PORKBUN_SECRET_KEY。各レジストラのキーは、そのレジストラにのみ送信されます。

価格は Porkbun の公開価格 API と Cloudflare の価格ミラーから取得し、安い順に並べられます。オファーは {registrar, price, renewal?, url} です。

エンドポイントの出典

RDAP の検索では https://rdap.org/domain/<domain> を使用します (エンドポイントの選択として明記)。レジストラの確認用 エンドポイントと 2 つの価格情報ソースの URL は 再構成したものであり、その旨を明記しています。Cloudflare の検索 URL https://www.cloudflare.com/domains/search/?q=<domain> は文書化された例で、Porkbun のチェックアウト URL は 同じ考え方に基づいてこちらで作成したものです。

ツール

  • check_domains — ドメイン名が登録可能かどうかを、価格と登録可能な ドメインの購入先とともに確認します。引数:domains(必須の文字列配列、 1~1,000 件)、tlds(任意の文字列配列)、 confirm(任意のブール値、デフォルトは true)、details (任意のブール値、デフォルトは false)、saved (任意の文字列配列)。検証に失敗すると domains must be an array of 1 to 1000 names が返されます。正規化後に 空になるエントリーは、理由 not a domain name とともに skipped に 含まれます。

CLI

npx @reneturcios/domainavail check_domains '{"domains":["example","widget.com"],"details":true}'
npx @reneturcios/domainavail --version

出力はツールの結果テキストです(上記の JSON)。終了コード:成功時は 0、実行時エラー(検証エラーを含む)時は 1、使用方法のエラー時は 2。

MCP サーバー

npx -y @reneturcios/domainavail mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "domainavail": {
      "command": "npx",
      "args": ["-y", "@reneturcios/domainavail", "mcp"]
    }
  }
}

Docker

docker run -i ghcr.io/cloudcorprecords/domainavail
docker run --rm ghcr.io/cloudcorprecords/domainavail check_domains '{"domains":["widget.com"]}'

開発

npm install
npm run build   # tsc -> dist/
npm test        # tsx --test test/*.test.ts (injected fakes only, no network)
npm run dev     # run the CLI from source

ライセンス

MIT — Copyright (c) 2026 Rene Turcios

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。