hooks — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited hooks (Hook) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Give your AI agent real-time domain intelligence. WHOIS, RDAP, availability checking, bulk lookups — all via native protocols, zero API keys.
An MCP server that lets Claude (and any MCP-compatible AI) look up domain registration data, check availability, and explore TLD infrastructure using the native WHOIS (RFC 3912) and RDAP (RFC 7482) protocols directly — no third-party APIs, no rate-limited web scrapers, no API keys.
This repo is its own Claude Code plugin marketplace. Add it in one step:
/plugin marketplace add kemalabuteliyte/domain-whois-mcp
/plugin install domain-whois-mcp@domain-whois-marketplaceOr in the Claude Code UI: `/plugin` > Browse marketplaces > Add marketplace > paste kemalabuteliyte/domain-whois-mcp > install domain-whois-mcp.
claude mcp add domain-whois -- npx -y github:kemalabuteliyte/domain-whois-mcp/settings)domain-whoisnpx-y github:kemalabuteliyte/domain-whois-mcpThe server starts automatically — all 8 tools become available immediately.
You can also add it directly to your project's .mcp.json:
{
"mcpServers": {
"domain-whois": {
"command": "npx",
"args": ["-y", "github:kemalabuteliyte/domain-whois-mcp"]
}
}
}Or to your user config at ~/.claude.json:
{
"mcpServers": {
"domain-whois": {
"command": "npx",
"args": ["-y", "github:kemalabuteliyte/domain-whois-mcp"]
}
}
}Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"domain-whois": {
"command": "npx",
"args": ["-y", "github:kemalabuteliyte/domain-whois-mcp"]
}
}
}Restart Claude Desktop after saving.
npm publish)npm login
npm publish
# then anyone can install with:
claude mcp add domain-whois -- npx -y domain-whois-mcpThe npm package name domain-whois-mcp is available and reserved for this project.
This is a full Claude Code plugin — not just an MCP connector. Installing it adds five surfaces:
| Surface | What you get |
|---|---|
| 8 MCP tools | whois_lookup, rdap_lookup, domain_check, bulk_domain_check, tld_info, whois_raw, find_whois_server, rdap_bootstrap_info |
| 4 skills | domain-lookup (general WHOIS/RDAP), project-name-finder (brainstorm + bulk-check names), domain-monitor (expiry tracking), tld-advisor (pick the right TLD) |
| 4 slash commands | /check-domain <domain>, /find-name <concept>, /domain-info <domain>, /tld <tld> |
| 1 agent | domain-strategist — dedicated subagent for multi-step naming research |
| 2 hooks | UserPromptSubmit matcher that hints about domain checks when you say "starting a new project"; PreToolUse hook that watches Bash for npm create / git init / cargo new etc. and suggests /find-name <project> |
The headline workflow. Type:
/find-name ai invoicingThe project-name-finder skill (or the domain-strategist agent) will:
.com .io .dev .ai .app .co — usually 100+ lookups.bulk_domain_check with concurrency 5..com availability, length, and multi-TLD coverage.| Rank | Name | Available on | Why it works |
|---|---|---|---|
| 1 | billr | .com, .io, .dev | 5 chars, memorable, available on all three |
| 2 | invio | .io, .dev, .ai | short, pronounceable |
| ... | ... | ... | ... |
You can also just ask naturally — "I'm starting an AI invoicing SaaS, help me find a name" — and the skill triggers automatically.
This MCP server gives your AI agent 8 tools for complete domain name intelligence:
| Tool | What it does |
|---|---|
| `whois_lookup` | Full WHOIS lookup via native TCP protocol. Returns parsed structured data (registrar, dates, nameservers, contacts) + raw text. Automatically follows referrals for complete data. |
| `rdap_lookup` | Modern RDAP lookup returning structured JSON. RDAP is the successor to WHOIS with better data quality. |
| `domain_check` | Check if a domain is available for registration. Tries RDAP first (faster), falls back to WHOIS. |
| `bulk_domain_check` | Check up to 50 domains at once with configurable parallelism (1-10 concurrent). Perfect for finding available names across TLDs. |
| `tld_info` | Get information about any TLD from IANA — which WHOIS/RDAP servers handle it, registry details. |
| `whois_raw` | Send raw WHOIS queries to any server. Works for IP addresses, ASN lookups, and debugging. |
| `find_whois_server` | Discover which WHOIS and RDAP servers handle a domain or TLD. |
| `rdap_bootstrap_info` | Browse the IANA RDAP bootstrap — see which TLDs support RDAP and their endpoints. |
You ask Claude: "Is cool-startup.com available?"
│
┌─────▼──────┐
│ MCP Server │
└─────┬──────┘
│
┌───────────┼───────────┐
▼ ▼ ▼
┌──────────┐ ┌────────┐ ┌─────────┐
│ WHOIS │ │ RDAP │ │ IANA │
│ TCP:43 │ │ HTTPS │ │Registry │
└────┬─────┘ └───┬────┘ └────┬────┘
│ │ │
Raw socket to HTTP GET to Discovers
whois server rdap server servers for
on port 43 with JSON unknown TLDs
│ │ │
▼ ▼ ▼
┌──────────────────────────────┐
│ Parsed, structured result │
│ back to Claude │
└──────────────────────────────┘whois.iana.org via TCPOnce installed, just talk to Claude naturally:
Check availability:
"Is my-cool-app.com available? Also check .io and .dev"
Get WHOIS info:
"Look up the WHOIS for github.com — who's the registrar and when does it expire?"
Bulk check:
"I'm naming my startup 'Nexora'. Check nexora.com, nexora.io, nexora.dev, nexora.ai, nexora.co, getnexora.com, nexorahq.com"
TLD research:
"Which WHOIS server handles .tr domains? Does .ai support RDAP?"
Raw queries:
"Send a raw WHOIS query for 8.8.8.8 to whois.arin.net"
RDAP lookup:
"Get the RDAP data for cloudflare.com"
This MCP is designed to be used by autonomous coding agents (Claude Code, Cursor, Windsurf, or any MCP-compatible agent). Here's how agents can leverage it:
Agent task: "Set up the domain and hosting for our new SaaS product"
1. Agent uses bulk_domain_check to find available domains
2. Agent uses whois_lookup to verify the chosen domain's status
3. Agent uses tld_info to check which protocols the TLD supports
4. Agent proceeds with DNS configuration knowing the domain landscapeAgent task: "Research our top 5 competitors' web infrastructure"
1. Agent uses whois_lookup on each competitor domain
2. Extracts registrar, nameservers, creation dates
3. Uses rdap_lookup for structured data where available
4. Compiles infrastructure comparison reportAgent task: "Audit all our company domains and flag any expiring within 90 days"
1. Agent uses bulk_domain_check with all company domains
2. Parses expiration dates from results
3. Flags domains expiring soon
4. Generates renewal priority listEach tool accepts structured JSON parameters:
// whois_lookup
{ "domain": "example.com", "follow_referrals": true, "timeout": 15000 }
// bulk_domain_check
{ "domains": ["a.com", "b.io", "c.dev"], "concurrency": 5, "method": "auto" }
// whois_raw (for IP/ASN lookups)
{ "query": "AS13335", "server": "whois.radb.net" }whois_lookup| Parameter | Type | Default | Description |
|---|---|---|---|
domain | string | required | Domain to look up (e.g., example.com) |
server | string | auto | Override WHOIS server |
follow_referrals | boolean | true | Follow thin WHOIS referrals |
timeout | number | 15000 | Timeout in ms |
rdap_lookup| Parameter | Type | Default | Description |
|---|---|---|---|
domain | string | required | Domain to look up |
server | string | auto | Override RDAP server URL |
timeout | number | 15000 | Timeout in ms |
domain_check| Parameter | Type | Default | Description | |||
|---|---|---|---|---|---|---|
domain | string | required | Domain to check | |||
method | auto \ | whois \ | rdap \ | both | auto | Lookup method |
timeout | number | 15000 | Timeout in ms |
bulk_domain_check| Parameter | Type | Default | Description | ||
|---|---|---|---|---|---|
domains | string[] | required | Domains to check (max 50) | ||
concurrency | number | 5 | Parallel lookups (1-10) | ||
method | auto \ | whois \ | rdap | auto | Lookup method |
timeout | number | 15000 | Per-domain timeout |
tld_info| Parameter | Type | Description |
|---|---|---|
tld | string | TLD without dot (e.g., com, xyz, co.uk) |
whois_raw| Parameter | Type | Default | Description |
|---|---|---|---|
query | string | required | Query string (domain, IP, ASN) |
server | string | required | WHOIS server hostname |
port | number | 43 | Server port |
timeout | number | 15000 | Timeout in ms |
find_whois_server| Parameter | Type | Description |
|---|---|---|
domain | string | Domain or TLD to find servers for |
rdap_bootstrap_info| Parameter | Type | Description |
|---|---|---|
filter | string | Optional: filter TLDs by substring |
src/
├── index.ts # MCP server — 8 tools, stdio transport
├── whois-client.ts # Native WHOIS TCP client (RFC 3912)
│ # Referral following, TLD-specific query formats
├── whois-parser.ts # Parses WHOIS text → structured data
│ # 15+ not-found patterns, contact extraction
├── rdap-client.ts # RDAP HTTP client (RFC 7482/7483)
│ # IANA bootstrap, JSON response parsing
├── iana.ts # IANA TLD registry integration
│ # 80+ built-in servers, dynamic discovery, caching
└── types.ts # TypeScript interfacesZero external dependencies beyond the MCP SDK and Zod. WHOIS uses Node.js net module for raw TCP. RDAP uses built-in fetch. No WHOIS npm packages, no API wrappers.
git clone https://github.com/kemalabuteliyte/domain-whois-mcp.git
cd domain-whois-mcp
npm install
npm run build # compile TypeScript → dist/
npm run dev # watch mode
node dist/index.js # run directlyWHOIS (RFC 3912): Opens TCP to port 43, sends domain\r\n, reads until close. Handles TLD-specific formats (DENIC: -T dn,ace, JPRS: /e suffix, Verisign: domain prefix).
RDAP (RFC 7482/7483): HTTP GET to {server}/domain/{name} with Accept: application/rdap+json. Follows redirects. Returns structured JSON.
MIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.