io.github.saidutt46/domain-check

编码与调试

by saidutt46

基于 RDAP/WHOIS 的快速域名可用性检查工具,支持批量查询、TLD 预设以及候选名称生成,适合高效筛选和注册前评估。

想高效筛域名时很省心,基于 RDAP/WHOIS 快速查可用性,还支持批量查询、TLD 预设和候选名称生成,注册前评估效率更高。

什么是 io.github.saidutt46/domain-check

基于 RDAP/WHOIS 的快速域名可用性检查工具,支持批量查询、TLD 预设以及候选名称生成,适合高效筛选和注册前评估。

README

domain-check

Universal domain exploration engine: fast domain availability checks across the internet — as a CLI, Rust library, and MCP server for AI agents.

Homebrew CLI Crate Library Crate MCP Server Downloads License: MIT OR Apache-2.0

<p align="center"> <img src="https://raw.githubusercontent.com/saidutt46/domain-check/main/assets/demo.svg" alt="domain-check demo" width="700"/> </p>

Quick Links: Installation | Quick Start | Use Cases | Output Formats | Presets | Configuration | Automation | Library | MCP Server | FAQ | Contributing

Why domain-check

  • 1,200+ TLDs out of the box — IANA bootstrap loads the full registry automatically. No config needed. 32 hardcoded TLDs work offline as fallback.
  • Dual-protocol engine — RDAP-first with automatic WHOIS fallback. IANA server discovery covers ~189 ccTLDs that lack RDAP (.es, .co, .eu, .jp).
  • Fast — up to 100 concurrent checks, streaming results as they complete. 2.7 MB release binary.
  • Domain generation — pattern expansion (\w=letter, \d=digit, ?=either), prefix/suffix permutations, and --dry-run to preview before checking.
  • 11 curated presetsstartup, tech, creative, finance, ecommerce, and more. Or define your own in config.
  • Rich output — grouped pretty display, JSON, CSV. Registrar info, creation/expiration dates, and status codes with --info.
  • CI and automation friendly--json/--csv to stdout, --yes to skip prompts, --force for large runs, automatic non-TTY detection.
  • Configurable — TOML config files, DC_* environment variables, custom presets, and clear precedence rules.
  • Agent-native — MCP server exposes all tools to AI coding agents (Claude, Codex, Gemini, Cursor, VS Code Copilot, and any MCP client).
  • CLI + library + MCP — same engine powers the CLI, domain-check-lib (Rust library), and domain-check-mcp (MCP server).

Installation

MethodCommandNotes
Homebrew (macOS)brew install domain-checkEasiest install for macOS users
Cargo (CLI)cargo install domain-checkWorks on all Rust-supported platforms
Cargo (MCP)cargo install domain-check-mcpMCP server for AI agents
GitHub ReleasesDownload binariesCLI + MCP binaries for macOS, Linux, Windows

Quick Start

bash
# 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

# Check every known TLD
domain-check brand --all --batch

Pretty output:

text
domain-check v0.9.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

Use Cases

bash
# 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

Output Formats

Default — one line per domain, colored status:

text
myapp.com TAKEN
myapp.io AVAILABLE
myapp.dev TAKEN

Pretty (--pretty) — grouped by status with summary:

text
── Available (1) ──────────────────────────────
  myapp.io

── Taken (2) ──────────────────────────────────
  myapp.com
  myapp.dev

3 domains in 0.4s  |  1 available  |  2 taken  |  0 unknown

JSON (--json) — structured, pipe to jq:

json
[
  {
    "domain": "myapp.com",
    "available": false,
    "method": "RDAP"
  },
  {
    "domain": "myapp.io",
    "available": true,
    "method": "RDAP"
  }
]

CSV (--csv) — import into spreadsheets or databases:

text
domain,status,method
myapp.com,TAKEN,RDAP
myapp.io,AVAILABLE,RDAP

Info (--info) — registrar, dates, and status codes:

text
myapp.com TAKEN
  Registrar: Example Registrar, Inc.
  Created: 2015-03-12  Expires: 2026-03-12
  Status: clientTransferProhibited

Full reference: docs/CLI.md

Smart Presets

11 built-in presets covering common domains strategies:

PresetTLDsUse case
startupcom, org, io, ai, tech, app, dev, xyzTech startups
popularcom, net, org, io, ai, app, dev, tech, me, co, xyzGeneral coverage
classiccom, net, org, info, bizTraditional gTLDs
enterprisecom, org, net, info, biz, usBusiness and government
techio, ai, app, dev, tech, cloud, software, + 5 moreDeveloper tools
creativedesign, art, studio, media, photography, + 5 moreArtists and media
ecommerceshop, store, market, sale, deals, + 3 moreOnline retail
financefinance, capital, fund, money, investments, + 4 moreFintech
webweb, site, website, online, blog, page, + 3 moreWeb services
trendyxyz, online, site, top, icu, fun, space, + 6 moreNew gTLDs
countryus, uk, de, fr, ca, au, br, in, nlInternational
bash
domain-check --list-presets                          # See all presets with full TLD lists
domain-check mybrand --preset creative --pretty      # Use a preset

Define custom presets in your config file:

toml
[custom_presets]
my_stack = ["com", "io", "dev", "app"]

Configuration

Create domain-check.toml in your project directory:

toml
[defaults]
concurrency = 25
preset = "startup"
pretty = true
timeout = "8s"
bootstrap = true

[custom_presets]
my_startup = ["com", "io", "ai", "dev", "app"]

[generation]
prefixes = ["get", "my"]
suffixes = ["hub", "ly"]

Config lookup order: ./domain-check.toml > ~/.domain-check.toml > ~/.config/domain-check/config.toml

Common environment variables:

bash
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

Automation & CI

bash
# 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-friendly behavior:

  • --yes / --force skip all confirmation prompts
  • Non-TTY environments (piped, CI) never prompt — scripts are never blocked
  • Spinner writes to stderr; stdout stays clean for piping
  • --no-bootstrap for deterministic, offline-safe checks against 32 hardcoded TLDs

Automation guide: docs/AUTOMATION.md

Library

Use domain-check-lib directly in Rust projects:

toml
[dependencies]
domain-check-lib = "1.0.2"
rust
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(())
}

Library docs: domain-check-lib/README.md | docs.rs

MCP Server

domain-check-mcp exposes domain checking as tools for AI coding agents via the Model Context Protocol. Works with any MCP-compatible client.

bash
# 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 tools available: check_domain, check_domains, check_with_preset, generate_names, list_presets, domain_info.

Then ask your agent naturally: "Is coolstartup.com available?" or "Check mybrand across the startup preset".

Supports: Claude Code, Claude Desktop, VS Code Copilot, Cursor, Windsurf, JetBrains, OpenAI Codex CLI, Gemini CLI, and any MCP stdio client.

Full setup: domain-check-mcp/README.md

Reliability Notes

  • Domain status is network- and registry-dependent. Temporary errors can produce UNKNOWN states.
  • WHOIS output is less standardized than RDAP; parsing quality varies by registry.
  • For repeatable CI workflows, pin behavior with explicit flags (--batch, --json, --no-bootstrap, --concurrency).

Troubleshooting and expected edge cases: docs/FAQ.md

Project Docs

License

Licensed under either of

at your option.

常见问题

io.github.saidutt46/domain-check 是什么?

基于 RDAP/WHOIS 的快速域名可用性检查工具,支持批量查询、TLD 预设以及候选名称生成,适合高效筛选和注册前评估。

相关 Skills

前端设计

by anthropics

Universal
热门

面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。

想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。

编码与调试
未扫描137.2k

网页应用测试

by anthropics

Universal
热门

用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。

借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。

编码与调试
未扫描137.2k

网页构建器

by anthropics

Universal
热门

面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。

在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。

编码与调试
未扫描137.2k

相关 MCP Server

GitHub

编辑精选

by GitHub

热门

GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。

这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。

编码与调试
85.9k

by Context7

热门

Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。

它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。

编码与调试
55.6k

by tldraw

热门

tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。

这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。

编码与调试
47.1k

评论