domain-check について
domain-checkは、ドメインの空き状況確認や名前生成を行うCLI、Rustライブラリ、MCPサーバーです。開発者やエージェント向けに、RDAPを優先し、必要に応じて内蔵WHOISへ切り替えます。
主な機能
- 01並列バッチによるドメイン空き状況確認
- 02RDAP優先とWHOISへの自動フォールバック
- 03パターン、接頭辞、接尾辞による名前生成
- 0411種類のTLDプリセットと独自設定
- 05テキスト、JSON、CSV、登録情報の出力
活用シーン
- 01スタートアップ名の複数TLDでの候補調査
- 02各TLDにおけるブランド登録状況の確認
- 03購入前のレジストラや日付の確認
- 04CIでのJSONまたはCSVによる一括確認
MCP 対応
domain-check-mcpは、ドメイン確認、一括確認、プリセットによる確認、名前生成、プリセット一覧、ドメイン情報をMCPクライアント向けのツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
domain-check
ユニバーサルなドメイン探索エンジン。CLI、Rust ライブラリ、AI エージェント向けの MCP サーバーとして、インターネット上のドメインの空き状況をすばやく確認できます。
クイックリンク:インストール | クイックスタート | ユースケース | 出力形式 | プリセット | 設定 | 自動化 | ライブラリ | MCP サーバー | FAQ | コントリビューション
domain-check を選ぶ理由
- 1,200 以上の TLD に標準対応 — IANA ブートストラップにより、レジストリ全体を自動で読み込みます。設定は不要です。フォールバックとして、ハードコードされた 34 個の TLD をオフラインで利用できます。
- デュアルプロトコルエンジン — RDAP を優先し、自動で WHOIS にフォールバックします。IANA サーバーの検出により、RDAP に対応していない約 189 個の ccTLD(
.it、.co、.eu、.jp)をカバーします。WHOIS は組み込みのため、どのプラットフォームでもシステムのwhoisツールは不要です。 - 高速 — 最大 100 件のチェックを並行実行し、完了した結果から順次ストリーミングします。リリースバイナリは 3.4 MB です。
- ドメイン生成 — パターン展開(
\w=英字、\d=数字、?=どちらか)、接頭辞/接尾辞の組み合わせに対応し、--dry-runでチェック前にプレビューできます。 - 厳選された 11 個のプリセット —
startup、tech、creative、finance、ecommerceなどを用意しています。設定で独自のプリセットを定義することもできます。 - 販売中のドメインを検出 —
--for-saleは RFC 10023 の_for-saleレコードを読み取り、登録済みのドメインが実際に売りに出されているか確認できます(希望価格と連絡先は無害化され、自動で開かれることはありません)。 - 豊富な出力 — グループ化された見やすい表示、JSON、CSV に対応しています。
--infoでレジストラ情報、作成日/有効期限、ステータスコードを確認できます。 - CI と自動化に最適 — 標準出力への
--json/--csv、プロンプトを省略する--yes、大量実行向けの--forceに対応し、TTY 以外も自動検出します。 - 設定可能 — TOML 設定ファイル、
DC_*環境変数、カスタムプリセット、明確な優先順位ルールに対応しています。 - エージェントネイティブ — MCP サーバーは、AI コーディングエージェント(Claude、Codex、Gemini、Cursor、VS Code Copilot、およびあらゆる MCP クライアント)にすべてのツールを提供します。
- CLI + ライブラリ + MCP — 同じエンジンが CLI、
domain-check-lib(Rust ライブラリ)、domain-check-mcp(MCP サーバー)を支えています。
インストール
| 方法 | コマンド | 備考 |
|---|---|---|
| Homebrew(macOS) | brew install domain-check | macOS ユーザーに最も簡単なインストール方法 |
| Cargo(CLI) | cargo install domain-check | Rust 対応のすべてのプラットフォームで動作します |
| Cargo(MCP) | cargo install domain-check-mcp | AI エージェント向け MCP サーバー |
| GitHub Releases | バイナリをダウンロード | macOS、Linux、Windows 向けの CLI + MCP バイナリ |
クイックスタート
# Check a single domain
domain-check example.com
# Expand a base name across TLDs
domain-check mystartup -t com,org,io,dev
# Use a curated preset
domain-check myapp --preset startup --pretty
# Generate names with a pattern (preview only)
domain-check --pattern "app\d" -t com --dry-run
# Add prefixes and suffixes
domain-check myapp --prefix get,try --suffix hub,ly -t com,io
# Get registrar and date info
domain-check target.com --info
# Is a taken domain for sale? (RFC 10023)
domain-check example.nl --for-sale
# Check every known TLD
domain-check brand --all --batch
見やすい出力:
domain-check v1.2.1 — Checking 8 domains
Preset: startup | Concurrency: 20
── Available (3) ──────────────────────────────
rustcloud.org
rustcloud.ai
rustcloud.app
── Taken (5) ──────────────────────────────────
rustcloud.com
rustcloud.io
rustcloud.tech
rustcloud.dev
rustcloud.xyz
8 domains in 0.8s | 3 available | 5 taken | 0 unknown
ユースケース
# Startup naming — scan tech TLDs for your brand
domain-check coolname --preset startup --pretty
# Brand protection — audit every TLD for your trademark
domain-check mybrand --all --json > audit.json
# Pre-purchase validation — check registrar and expiry before buying
domain-check target.com --info
# Bulk pipeline — feed a list, export results
domain-check --file ideas.txt --preset tech --csv > results.csv
# Name generation — explore prefix/suffix combos
domain-check app --prefix get,my,try --suffix hub,ly -t com,io --dry-run
出力形式
デフォルト — ドメインごとに1行、色付きのステータス:
myapp.com TAKEN
myapp.io AVAILABLE
myapp.dev TAKEN
Pretty(--pretty)— ステータス別にグループ化し、概要を表示:
── Available (1) ──────────────────────────────
myapp.io
── Taken (2) ──────────────────────────────────
myapp.com
myapp.dev
3 domains in 0.4s | 1 available | 2 taken | 0 unknown
JSON(--json)— 構造化データ。jq にパイプできます:
[
{
"domain": "myapp.com",
"available": false,
"method": "RDAP"
},
{
"domain": "myapp.io",
"available": true,
"method": "RDAP"
}
]
CSV(--csv)— スプレッドシートやデータベースにインポートできます:
domain,status,method
myapp.com,TAKEN,RDAP
myapp.io,AVAILABLE,RDAP
Info(--info)— レジストラ、日付、ステータスコードを表示:
myapp.com TAKEN
Registrar: Example Registrar, Inc.
Created: 2015-03-12 Expires: 2026-03-12
Status: clientTransferProhibited
全リファレンス:docs/CLI.md
スマートプリセット
一般的なドメイン戦略を網羅する、11種類の組み込みプリセット:
| プリセット | TLD | 用途 |
|---|---|---|
startup | com, org, io, ai, tech, app, dev, xyz | テック系スタートアップ |
popular | com, net, org, io, ai, app, dev, tech, me, co, xyz | 一般的な用途 |
classic | com, net, org, info, biz | 従来のgTLD |
enterprise | com, org, net, info, biz, us | ビジネスおよび政府機関 |
tech | io, ai, app, dev, tech, cloud, software, + 5 more | 開発者向けツール |
creative | design, art, studio, media, photography, + 5 more | アーティストおよびメディア |
ecommerce | shop, store, market, sale, deals, + 3 more | オンライン小売 |
finance | finance, capital, fund, money, investments, + 4 more | フィンテック |
web | web, site, website, online, blog, page, + 3 more | ウェブサービス |
trendy | xyz, online, site, top, icu, fun, space, + 6 more | 新しいgTLD |
country | us, uk, de, fr, ca, au, br, in, nl | 国際向け |
domain-check --list-presets # See all presets with full TLD lists
domain-check mybrand --preset creative --pretty # Use a preset
設定ファイルでカスタムプリセットを定義できます:
[custom_presets]
my_stack = ["com", "io", "dev", "app"]
設定
プロジェクトディレクトリに domain-check.toml を作成します:
[defaults]
concurrency = 25
preset = "startup"
pretty = true
timeout = "8s"
bootstrap = true
for_sale = false # set true to always check registered domains for RFC 10023 for-sale records
[custom_presets]
my_startup = ["com", "io", "ai", "dev", "app"]
[generation]
prefixes = ["get", "my"]
suffixes = ["hub", "ly"]
設定ファイルの検索順:
./domain-check.toml > ~/.domain-check.toml > ~/.config/domain-check/config.toml
よく使われる環境変数:
DC_CONCURRENCY=50 DC_PRESET=startup DC_TLD=com,io,dev
DC_PRETTY=true DC_TIMEOUT=10s DC_BOOTSTRAP=true
DC_PREFIX=get,my DC_SUFFIX=hub,ly DC_FILE=domains.txt
DC_FOR_SALE=true DC_DNS_SERVER=1.1.1.1
自動化と CI
# Non-interactive structured output
domain-check --file required-domains.txt --json
# Pipe to jq
domain-check --pattern "app\d" -t com --yes --json | jq '.[] | select(.available==true)'
# Stream live results for long runs
domain-check --file large-list.txt --concurrency 75 --streaming
# Large batch with no prompts
domain-check --file huge-list.txt --all --force --yes --csv > results.csv
CI に適した動作:
--yes/--forceを指定すると、すべての確認プロンプトをスキップします- 非 TTY 環境(パイプ経由、CI)ではプロンプトが表示されず、スクリプトが停止することはありません
- スピナーは stderr に出力されます。stdout はパイプ処理用にクリーンな状態を保ちます
--no-bootstrapを指定すると、ハードコードされた34個の TLD に対する、決定的でオフラインでも安全なチェックを実行します
自動化ガイド:docs/AUTOMATION.md
ライブラリ
Rust プロジェクトで domain-check-lib を直接使用できます:
[dependencies]
domain-check-lib = "1.2.1"
use domain_check_lib::DomainChecker;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let checker = DomainChecker::new();
let result = checker.check_domain("example.com").await?;
println!("{} -> {:?}", result.domain, result.available);
Ok(())
}
ライブラリのドキュメント:domain-check-lib/README.md | docs.rs
MCP サーバー
domain-check-mcp は、Model Context Protocol を介して、AI コーディングエージェント向けにドメインチェックをツールとして提供します。MCP 互換のあらゆるクライアントで動作します。
# Install
cargo install domain-check-mcp
# Add to your agent (Claude Code example — works similarly for Codex, Gemini CLI, etc.)
claude mcp add domain-check -- domain-check-mcp
6つのツールを利用できます:check_domain、check_domains、check_with_preset、generate_names、list_presets、domain_info。
エージェントには、「coolstartup.com は利用可能ですか?」や「startup プリセットで mybrand をチェックして」のように自然に尋ねるだけです。
チェックツールでは check_for_sale パラメーターを任意で指定できます。また、domain_info には、保有者が公開している場合、RFC 10023 の販売情報が常に含まれます。レスポンスでは、このデータが未検証であることが示され、失敗した検索は for_sale_errors に報告されます。DNS サーバーを選択するには、MCP クライアントの env に DC_DNS_SERVER を設定します。
対応環境:Claude Code、Claude Desktop、VS Code Copilot、Cursor、Windsurf、JetBrains、OpenAI Codex CLI、Gemini CLI、および MCP stdio クライアント全般。
セットアップの詳細:domain-check-mcp/README.md
信頼性に関する注意事項
- ドメインのステータスは、ネットワークおよびレジストリに依存します。一時的なエラーにより、
UNKNOWN状態になることがあります。 - WHOIS の出力は、RDAP よりも標準化されていません。domain-check は 40 以上のレジストリの応答形式を読み取り、推測せずに
UNKNOWNを返します。一部のレジストリ(.es、.gr、.vn、…)は公開 WHOIS を提供していないため、RDAP で応答を取得できない場合、それらのドメインはUNKNOWNと表示されます。 - 再現可能な CI ワークフローには、明示的なフラグ(
--batch、--json、--no-bootstrap、--concurrency)で動作を固定してください。
トラブルシューティングと想定されるエッジケースについては、docs/FAQ.md を参照してください。
プロジェクトのドキュメント
- CLI リファレンス:docs/CLI.md
- ライブラリ:domain-check-lib/README.md | docs.rs
- MCP サーバー:domain-check-mcp/README.md
- 例とワークフロー:docs/EXAMPLES.md
- 自動化での使用方法:docs/AUTOMATION.md
- FAQ:docs/FAQ.md
- 変更履歴:CHANGELOG.md
- 貢献方法:CONTRIBUTING.md
- セキュリティポリシー:SECURITY.md
ライセンス
以下のいずれかのライセンスが適用されます。
お好きな方を選択できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。