Skip to main content
ClaudeWave

Fast, universal domain availability checker - 1,200+ TLDs, pattern generation, RDAP with WHOIS fallback. CLI + Rust library + MCP server for AI agents.

MCP ServersOfficial Registry308 stars21 forks● RustNOASSERTIONUpdated today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Actively maintained (<30d)
  • ✓Healthy fork ratio
  • ✓Clear description
  • ✓Topics declared
  • ✓Mature repo (>1y old)
  • ✓Documented (README)
Flags
  • !Licence file present but not machine-readable
Last scanned: 10/12/2026
Install in Claude Code / Claude Desktop
Method: Manual · domain-check
Claude Code CLI
git clone https://github.com/saidutt46/domain-check
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "domain-check": {
      "command": "domain-check"
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Install the binary first: cargo install domain-check (or build from https://github.com/saidutt46/domain-check).
Use cases

MCP Servers overview

# 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](https://img.shields.io/homebrew/v/domain-check?label=Homebrew)](https://formulae.brew.sh/formula/domain-check)
[![CLI Crate](https://img.shields.io/crates/v/domain-check.svg?label=CLI)](https://crates.io/crates/domain-check)
[![Library Crate](https://img.shields.io/crates/v/domain-check-lib.svg?label=Library)](https://crates.io/crates/domain-check-lib)
[![MCP Server](https://img.shields.io/crates/v/domain-check-mcp.svg?label=MCP)](https://crates.io/crates/domain-check-mcp)
[![Downloads](https://img.shields.io/crates/d/domain-check.svg)](https://crates.io/crates/domain-check)
[![License: MIT OR Apache-2.0](https://img.shields.io/badge/License-MIT%20OR%20Apache--2.0-blue.svg)](#license)

<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](#installation) | [Quick Start](#quick-start) | [Use Cases](#use-cases) | [Output Formats](#output-formats) | [Presets](#smart-presets) | [Configuration](#configuration) | [Automation](#automation--ci) | [Library](#library) | [MCP Server](#mcp-server) | [FAQ](https://github.com/saidutt46/domain-check/blob/main/docs/FAQ.md) | [Contributing](https://github.com/saidutt46/domain-check/blob/main/CONTRIBUTING.md)

## 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](https://www.rfc-editor.org/info/rfc10023) `_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`](https://crates.io/crates/domain-check-lib) (Rust library), and [`domain-check-mcp`](https://crates.io/crates/domain-check-mcp) (MCP server).

## Installation

| Method | Command | Notes |
|---|---|---|
| Homebrew (macOS) | `brew install domain-check` | Easiest install for macOS users |
| Cargo (CLI) | `cargo install domain-check` | Works on all Rust-supported platforms |
| Cargo (MCP) | `cargo install domain-check-mcp` | MCP server for AI agents |
| GitHub Releases | [Download binaries](https://github.com/saidutt46/domain-check/releases) | CLI + 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

# Is a taken domain for sale? (RFC 10023)
domain-check example.nl --for-sale

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

Pretty output:

```text
domain-check v1.2.0 — 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](https://github.com/saidutt46/domain-check/blob/main/docs/CLI.md)

## Smart Presets

11 built-in presets covering common domains strategies:

| Preset | TLDs | Use case |
|---|---|---|
| `startup` | com, org, io, ai, tech, app, dev, xyz | Tech startups |
| `popular` | com, net, org, io, ai, app, dev, tech, me, co, xyz | General coverage |
| `classic` | com, net, org, info, biz | Traditional gTLDs |
| `enterprise` | com, org, net, info, biz, us | Business and government |
| `tech` | io, ai, app, dev, tech, cloud, software, + 5 more | Developer tools |
| `creative` | design, art, studio, media, photography, + 5 more | Artists and media |
| `ecommerce` | shop, store, market, sale, deals, + 3 more | Online retail |
| `finance` | finance, capital, fund, money, investments, + 4 more | Fintech |
| `web` | web, site, website, online, blog, page, + 3 more | Web services |
| `trendy` | xyz, online, site, top, icu, fun, space, + 6 more | New gTLDs |
| `country` | us, uk, de, fr, ca, au, br, in, nl | International |

```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
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"]
```

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
DC_FOR_SALE=true     DC_DNS_SERVER=1.1.1.1
```

## 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 34 hardcoded TLDs

Automation guide: [docs/AUTOMATION.md](https://github.com/saidutt46/domain-check/blob/main/docs/AUTOMATION.md)

## Library

Use `domain-check-lib` directly in Rust projects:

```toml
[dependencies]
domain-check-lib = "1.2.0"
```

```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](https://github.com/saidutt46/domain-check/blob/main/domain-check-lib/README.md) | [docs.rs](https://docs.rs/domain-check-lib)

## MCP Server

`domain-check-mcp` exposes domain checking as tools for AI coding agents via the [Model Context Protocol](https://modelcontextprotocol.io). Works with any MCP-compatible client.

```bash
# Install
cargo install domain-check-mcp

# A
asynccliconcurrencydomain-checkdomain-check-libdomainslibraryrdaprustrust-cratewhois

What people ask about domain-check

What is saidutt46/domain-check?

+

saidutt46/domain-check is mcp servers for the Claude AI ecosystem. Fast, universal domain availability checker - 1,200+ TLDs, pattern generation, RDAP with WHOIS fallback. CLI + Rust library + MCP server for AI agents. It has 308 GitHub stars and its last recorded update is dated 2026-10-11.

How do I install domain-check?

+

You can install domain-check by cloning the repository (https://github.com/saidutt46/domain-check) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is saidutt46/domain-check safe to use?

+

Our security agent has analyzed saidutt46/domain-check and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains saidutt46/domain-check?

+

saidutt46/domain-check is maintained by saidutt46. The last recorded GitHub activity is dated 2026-10-11, with 4 open issues.

Are there alternatives to domain-check?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy domain-check to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: saidutt46/domain-check
[![Featured on ClaudeWave](https://claudewave.com/api/badge/saidutt46-domain-check)](https://claudewave.com/repo/saidutt46-domain-check)
<a href="https://claudewave.com/repo/saidutt46-domain-check"><img src="https://claudewave.com/api/badge/saidutt46-domain-check" alt="Featured on ClaudeWave: saidutt46/domain-check" width="320" height="64" /></a>

More MCP Servers

domain-check alternatives