Domain Check

io.github.saidutt46由 GitHub 帳號 saidutt46 發布v1.2.1更新於 Oct 25, 2026

Fast domain availability checker with RDAP/WHOIS — batch checks, TLD presets, and name generation.

發布方自己的服務:check.tattoo: tattoo size and placement guide

概覽

AI 產生的概覽

透過 RDAP/WHOIS 查詢網域是否可註冊,支援批次檢查、TLD 預設組合、名稱產生與註冊商資訊,供 AI 助理使用。

可以做什麼
  • 檢查單一或批次網域的可用狀態,可選擇偵測是否待售
  • 依內建 TLD 預設組合檢查名稱,或列出可用的預設組合
  • 依樣式、前綴與後綴產生候選名稱
  • 查詢網域的註冊商、建立/到期日期與狀態碼
適用情境
適合為產品或品牌命名時讓助理測試多個 TLD 下的候選網域、對商標做全 TLD 盤查,或在購買前核對註冊商與到期資訊。
執行需求
以本機 stdio 程序執行,可從對應平台的 MCP 安裝包或透過 Cargo 安裝。需要連線至 RDAP 與 WHOIS 伺服器的網路;不需帳號、API 金鑰或已宣告的環境變數。可選環境變數 DC_DNS_SERVER 用來指定 DNS 伺服器。
安裝前請注意
結果取決於網路與註冊局行為,可能回傳 UNKNOWN,包括沒有公開 WHOIS 的註冊局。待售資訊會標示為未經驗證。對大量 TLD 的大批次查詢會向註冊局與 WHOIS 伺服器發出大量外部請求。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Domain Check,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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]

[domain-check demo]

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. 34 hardcoded TLDs work offline as fallback.
  • Dual-protocol engine — RDAP-first with automatic WHOIS fallback. IANA server discovery covers ~189 ccTLDs that lack RDAP (.it, .co, .eu, .jp). WHOIS is built in, so no system whois tool is needed on any platform.
  • Fast — up to 100 concurrent checks, streaming results as they complete. 3.4 MB release binary.
  • Domain generation — pattern expansion (\w=letter, \d=digit, ?=either), prefix/suffix permutations, and --dry-run to preview before checking.
  • 11 curated presets — startup, tech, creative, finance, ecommerce, and more. Or define your own in config.
  • For-sale detection — --for-sale reads RFC 10023 _for-sale records, so you can see when a registered domain is actually on the market (asking price and contact, sanitized, never auto-opened).
  • 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 domaindomain-check example.com
# Expand a base name across TLDsdomain-check mystartup -t com,org,io,dev
# Use a curated presetdomain-check myapp --preset startup --pretty
# Generate names with a pattern (preview only)domain-check --pattern "app\d" -t com --dry-run
# Add prefixes and suffixesdomain-check myapp --prefix get,try --suffix hub,ly -t com,io
# Get registrar and date infodomain-check target.com --info
# Is a taken domain for sale? (RFC 10023)domain-check example.nl --for-sale
# Check every known TLDdomain-check brand --all --batch

Pretty output:

text
domain-check v1.2.1 — Checking 8 domainsPreset: 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 branddomain-check coolname --preset startup --pretty
# Brand protection — audit every TLD for your trademarkdomain-check mybrand --all --json > audit.json
# Pre-purchase validation — check registrar and expiry before buyingdomain-check target.com --info
# Bulk pipeline — feed a list, export resultsdomain-check --file ideas.txt --preset tech --csv > results.csv
# Name generation — explore prefix/suffix combosdomain-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 TAKENmyapp.io AVAILABLEmyapp.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,methodmyapp.com,TAKEN,RDAPmyapp.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 listsdomain-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 = 25preset = "startup"pretty = truetimeout = "8s"bootstrap = truefor_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"]

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,devDC_PRETTY=true       DC_TIMEOUT=10s       DC_BOOTSTRAP=trueDC_PREFIX=get,my     DC_SUFFIX=hub,ly     DC_FILE=domains.txtDC_FOR_SALE=true     DC_DNS_SERVER=1.1.1.1

Automation & CI

bash
# Non-interactive structured outputdomain-check --file required-domains.txt --json
# Pipe to jqdomain-check --pattern "app\d" -t com --yes --json | jq '.[] | select(.available==true)'
# Stream live results for long runsdomain-check --file large-list.txt --concurrency 75 --streaming
# Large batch with no promptsdomain-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 34 hardcoded TLDs

Automation guide: docs/AUTOMATION.md

Library

Use domain-check-lib directly in Rust projects:

toml
[dependencies]domain-check-lib = "1.2.1"
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
# Installcargo 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".

The check tools take an optional check_for_sale parameter, and domain_info always includes RFC 10023 for-sale info when the holder publishes it. Responses mark that data as unverified and report failed lookups in for_sale_errors. Set DC_DNS_SERVER in the MCP client's env to choose the DNS server.

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. domain-check reads the reply formats of 40+ registries and answers UNKNOWN rather than guess. Some registries (.es, .gr, .vn, …) offer no public WHOIS, so their domains show UNKNOWN when RDAP can't answer.
  • 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.

來源:README.md,提交 7d4e413

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

5
  1. v1.2.1最新Oct 25, 2026
  2. v1.2.0Oct 12, 2026
  3. v1.1.0Oct 8, 2026
  4. v1.0.3Sep 28, 2026
  5. v1.0.2Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。

其他 Check 整合