Skip to main content
Glama
README.md
# domain-mcp

An MCP (Model Context Protocol) server for domain name availability checking, WHOIS lookups, and domain suggestions — **no API key required**.

Uses [RDAP](https://about.rdap.org/) for availability checks, real [WHOIS](https://en.wikipedia.org/wiki/WHOIS) servers via TCP port 43 for registration records, and [domainr.com](https://domainr.com/) for domain suggestions.

## Features

- **Search Domains** — Get domain suggestions across 25+ popular TLDs (.com, .io, .dev, .ai, etc.) with availability
- **Check Domain** — Detailed availability status via RDAP — registrar, creation/expiry dates, nameservers
- **Bulk Check** — Check up to 20 domains at once in a comparison table
- **WHOIS Lookup** — Full WHOIS records via TCP port 43 — registrar, registrant, dates, status, nameservers, abuse contacts
- **Zero Config** — No API key, no sign-up, works out of the box

## Setup

### 1. Install & Build

```bash
cd domain-mcp
npm install
npm run build
```

### 2. Add to MCP Client

Add to your VS Code `settings.json` or Claude Desktop config:

```json
{
  "mcpServers": {
    "domain-mcp": {
      "command": "node",
      "args": ["path/to/domain-mcp/dist/index.js"]
    }
  }
}
```

No environment variables or API keys needed.

## Tools

### `search_domains`
Search for domain name suggestions with availability status.

| Parameter | Type     | Required | Description                                     |
|-----------|----------|----------|-------------------------------------------------|
| query     | string   | ✅       | Brand name, keyword, or domain to search        |
| tlds      | string[] | —        | Optional TLDs to check (e.g. `["com", "io"]`)   |

### `check_domain`
Check availability and registration details of a specific domain via RDAP.

| Parameter | Type   | Required | Description                          |
|-----------|--------|----------|--------------------------------------|
| domain    | string | ✅       | Full domain name (e.g. `example.io`) |

### `check_multiple_domains`
Bulk check multiple domains at once.

| Parameter | Type     | Required | Description                        |
|-----------|----------|----------|------------------------------------|
| domains   | string[] | ✅       | Array of domains to check (max 20) |

### `whois_lookup`
Perform a WHOIS lookup via TCP port 43. Returns registrar, registrant, dates, nameservers, status flags, and abuse contacts.

| Parameter | Type    | Required | Description                                       |
|-----------|---------|----------|---------------------------------------------------|
| domain    | string  | ✅       | Full domain name (e.g. `google.com`)               |
| raw       | boolean | —        | If `true`, returns the full raw WHOIS text dump    |

## How It Works

1. **Domain suggestions** are fetched from [domainr.com](https://domainr.com/) (the same free web UI). Falls back to generating popular TLD combinations.
2. **Availability checks** use [RDAP](https://about.rdap.org/) — the official, free, open replacement for WHOIS. If RDAP has no record, a DNS lookup confirms the domain doesn't exist.
3. **Registration details** (registrar, dates, nameservers) come from the RDAP response for registered domains.
4. **WHOIS records** are fetched via direct TCP connections to WHOIS servers on port 43 — the same protocol used by the `whois` CLI tool. Supports 45+ TLDs out of the box and auto-discovers others via IANA. Automatically follows referral servers (e.g. Verisign → registrar-specific WHOIS).

## License

MIT

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: domain search suggestions, single availability check, bulk availability check, and WHOIS lookup. Even though check_domain and whois_lookup both return registration details, one focuses on availability and RDAP while the other provides full WHOIS data, avoiding confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case: search_domains, check_domain, check_multiple_domains, whois_lookup. The naming is predictable and uniform.

Tool Count5/5

With 4 tools, the server is well-scoped for domain search and lookup operations. Each tool serves a core function without redundancy, fitting the typical 3-15 tool range.

Completeness4/5

The tool set covers search, single and bulk availability checks, and detailed WHOIS data—covering the main domain lookup needs. A minor gap is the absence of DNS record lookup, but for a domain availability and WHOIS server, this is acceptable.