Skip to main content
Glama

domain-whois-mcp

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.


Install

Claude Code — Marketplace (single command, auto-install)

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-marketplace

Or in the Claude Code UI: /plugin > Browse marketplaces > Add marketplace > paste kemalabuteliyte/domain-whois-mcp > install domain-whois-mcp.

Claude Code — CLI (one command)

claude mcp add domain-whois -- npx -y github:kemalabuteliyte/domain-whois-mcp

Claude Code — UI

  1. Open Claude Code

  2. Go to Settings (gear icon or /settings)

  3. Navigate to MCP Servers

  4. Click "Add MCP Server" (or "Add Custom Server")

  5. Fill in:

    • Name: domain-whois

    • Command: npx

    • Arguments: -y github:kemalabuteliyte/domain-whois-mcp

  6. Click Save

The server starts automatically — all 8 tools become available immediately.

Claude Code — JSON config

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

Claude Desktop

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 (after npm publish)

npm login
npm publish
# then anyone can install with:
claude mcp add domain-whois -- npx -y domain-whois-mcp

The npm package name domain-whois-mcp is available and reserved for this project.


Related MCP server: Domain Checker MCP Server

What's Inside

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>


Finding a name for your next project

The headline workflow. Type:

/find-name ai invoicing

The project-name-finder skill (or the domain-strategist agent) will:

  1. Brainstorm 15–30 candidates inspired by your concept.

  2. Fan out across .com .io .dev .ai .app .co — usually 100+ lookups.

  3. Run bulk_domain_check with concurrency 5.

  4. Rank by .com availability, length, and multi-TLD coverage.

  5. Return a top-5 table:

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.


What It Does

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.

How It Works Under the Hood

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              │
        └──────────────────────────────┘
  1. Built-in DB of 80+ known WHOIS servers is checked first (zero latency)

  2. IANA discovery kicks in for unknown TLDs — queries whois.iana.org via TCP

  3. RDAP bootstrap fetched from IANA and cached 24h for modern protocol lookups

  4. Referral following — thin WHOIS (Verisign) automatically follows to thick registrar WHOIS

  5. Smart parsing — 15+ "not found" patterns recognized across registries worldwide


Why It's Useful

For developers and startups

  • Find available domains — "Check if these 20 brand name variations are available across .com, .io, .dev, .ai"

  • Due diligence — "When does competitor.com expire? Who's their registrar?"

  • DNS debugging — "What nameservers does our domain point to? Is DNSSEC enabled?"

For domain investors

  • Bulk availability scanning — Check 50 domains in one shot with concurrent lookups

  • Expiry monitoring — Find expiration dates for domains you're watching

  • TLD research — Explore which TLDs support RDAP, find WHOIS servers for exotic ccTLDs

For security researchers

  • OSINT — Look up registration details, registrar info, domain status flags

  • Infrastructure mapping — Raw WHOIS queries for IP blocks, ASN lookups

  • Abuse investigation — Check domain registration patterns and history

For AI coding agents

  • Domain validation — Agents building web apps can verify domain configuration

  • Automated checks — CI/CD pipelines can verify domain status before deployments

  • Research automation — Agents doing competitive analysis can pull domain intel


Usage Examples with Claude

Once 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"


AI Coding Agent Integration

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 Workflow: New Project Setup

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 landscape

Agent Workflow: Competitive Research

Agent 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 report

Agent Workflow: Domain Portfolio Audit

Agent 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 list

Programmatic Tool Usage (for agent developers)

Each 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" }

Tool Reference

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


Architecture

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 interfaces

Zero 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.


Development

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 directly

Protocol Details

WHOIS (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.

License

MIT

Available Tools

8 tools
bulk_domain_checkB

Check multiple domains for availability concurrently. Supports parallel processing with configurable concurrency. Useful for finding available domains across multiple TLDs or name variations.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNoLookup method for all domainsauto
domainsYesArray of domain names to check (max 50)
timeoutNoPer-domain timeout in milliseconds (default: 15000)
concurrencyNoNumber of concurrent lookups (1-10, default: 5)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the behavioral disclosure burden. It does mention concurrent/parallel processing and configurable concurrency, which is useful behavioral context. However, it does not describe failure behavior, timeout handling, whether network requests are made, or how results are returned, leaving notable gaps for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short and front-loaded with the core purpose in the first sentence. The second sentence adds relevant detail about configurable parallelism but is somewhat redundant with the word 'concurrently.' Overall, it is efficient with minimal fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, yet the description never explains what the tool returns or how availability results are structured. It also omits important operational behavior such as rate limits, error cases, and how the 'auto' method selects between WHOIS and RDAP. For a bulk network tool, this is a meaningful completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters (method, domains, timeout, concurrency) are already documented structurally. The description adds only general context about multiple domains and parallel processing, not meaningfully new parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear, specific action: checking multiple domains for availability, and highlights the concurrent nature. It distinguishes itself from single-domain or lookup-specific siblings like domain_check, whois_lookup, and rdap_lookup through 'multiple domains' and 'concurrently,' though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a useful context clue: 'Useful for finding available domains across multiple TLDs or name variations.' However, it does not explicitly explain when to choose this tool over domain_check or the other lookup siblings, nor does it state conditions where a single-domain lookup would be preferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

domain_checkA

Check if a domain name is available for registration. Tries RDAP first (faster, structured), falls back to WHOIS. Returns availability status and full registration data if registered.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to check (e.g., "mydomain.com")
methodNoLookup method: auto (RDAP→WHOIS), whois, rdap, or bothauto
timeoutNoQuery timeout in milliseconds (default: 15000)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses the lookup order ('Tries RDAP first... falls back to WHOIS') and the return payload ('availability status and full registration data if registered'). It does not cover edge behavior such as timeouts, errors, or how method='both' changes behavior, but the core behavioral traits are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: purpose, algorithm, and return value. The most important information is front-loaded, and there is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description gives a solid core outline but leaves gaps: no output schema exists, so the phrase 'availability status and full registration data' is vague about the actual response shape. It also does not mention error behavior, timeout implications, or how this relates to sibling tools like bulk_domain_check and whois_raw.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds the rationale that RDAP is faster and structured, which is useful, but it does not meaningfully extend the parameter semantics beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Check if a domain name is available for registration.' It also clarifies the tool's combined RDAP→WHOIS behavior and distinguishes it from raw lookup siblings by emphasizing availability status as the primary outcome.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intended use case is implied clearly: use this when you need an availability check. However, the description does not explicitly mention alternatives like whois_lookup, rdap_lookup, bulk_domain_check, or when the lower-level tools should be preferred instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_whois_serverA

Discover the WHOIS and RDAP servers for a domain or TLD. Checks the built-in database first, then queries IANA for unknown TLDs. Returns both WHOIS and RDAP server information.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name or TLD to find servers for (e.g., "example.com" or "com")

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. It discloses the two-step behavior (checking the built-in database first, then querying IANA for unknown TLDs) and the returned information type. This provides meaningful behavioral context beyond the schema, though it stops short of mentioning error handling or exact response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: what the tool returns, the lookup algorithm, and the result composition. The primary purpose is front-loaded, and there is no redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, read-only discovery tool, the description is largely complete: it states the input, the lookup strategy, and the output focus. It is slightly thin on the exact shape of the return value since there is no output schema, but the high-level 'both WHOIS and RDAP server information' is sufficient for basic selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully describes the single parameter with an example ('example.com' or 'com'), so schema coverage is 100%. The description reuses the domain-or-TLD concept but adds no additional parameter semantics, matching the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it discovers WHOIS and RDAP servers for a domain or TLD. It also clarifies the output scope by mentioning both server types, making the tool's purpose unambiguous even among siblings like whois_lookup and rdap_lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus siblings such as rdap_bootstrap_info or whois_lookup. The description explains the internal lookup order but does not tell an agent when this tool is the right choice or when a sibling would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rdap_bootstrap_infoA

Show the IANA RDAP bootstrap data — lists all TLDs that support RDAP and their service URLs. Useful for understanding RDAP coverage across TLDs.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoOptional filter: only show TLDs matching this substring

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description clearly presents a read-only listing behavior and specifies what the agent should expect as output: TLDs plus their service URLs. It does not mention whether data is fetched live from IANA or cached, but for a simple informational tool this is a minor gap rather than a transparency failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the key action and output front-loaded; the second sentence adds a practical use case. There is no filler or tautology.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one optional parameter, zero required parameters, and no output schema. The description covers what the tool shows and why it is useful, which is enough for an agent to select and invoke it, though it could optionally hint at output structure or data freshness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the only parameter, 'filter', including its optional status and substring-matching behavior. The description itself adds no parameter details, which is acceptable because schema description coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the exact resource (IANA RDAP bootstrap data) and states the tool's output (list of TLDs supporting RDAP and their service URLs). This clearly differentiates it from sibling lookup tools like rdap_lookup or tld_info by emphasizing global coverage rather than per-domain or per-TLD lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a clear use case: understanding RDAP coverage across TLDs. However, it never states when not to use it or points to alternatives such as rdap_lookup or tld_info, so an agent must infer the correct choice from the sibling tool names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rdap_lookupA

Look up RDAP (Registration Data Access Protocol) information for a domain. RDAP is the modern successor to WHOIS, providing structured JSON responses. Automatically discovers the RDAP server via IANA bootstrap. Not all TLDs support RDAP — falls back with a clear error message.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to look up (e.g., "example.com")
serverNoOverride RDAP server base URL (optional, auto-discovered)
timeoutNoQuery timeout in milliseconds (default: 15000)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral disclosure burden. It adds value beyond the schema by stating the return shape ('structured JSON responses'), the discovery mechanism ('Automatically discovers the RDAP server via IANA bootstrap'), and the failure behavior ('falls back with a clear error message'). It doesn't cover auth/rate limits, but for a read-only lookup this is noticeably transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with purpose, and every sentence contributes distinct information: what the tool does, protocol context, server discovery, and limitation/error behavior. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-required-parameter lookup with no output schema, the description covers the essential invocation context: purpose, output format, auto-discovery, and fallback error behavior. It is slightly short of a 5 because it doesn't hint at what fields the structured JSON contains or how the optional server override affects behavior, but those are minor for agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters already have schema descriptions, so the baseline is 3. The description adds a little extra meaning by explaining the IANA bootstrap behavior behind the optional server override, but the timeout and domain parameters gain nothing beyond their schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description opens with a specific verb and resource: 'Look up RDAP information for a domain.' It further clarifies the protocol as modern successor to WHOIS. However, it does not explicitly contrast itself with siblings like whois_lookup or whois_raw, so it misses the top tier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it by explaining RDAP is the modern successor to WHOIS and warns that 'Not all TLDs support RDAP.' It does not explicitly name alternatives or state 'use whois_lookup for legacy/fallback cases,' so guidance remains implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tld_infoA

Get information about a TLD (Top-Level Domain) from IANA. Returns the authoritative WHOIS server, RDAP server, and IANA registry data. Works for gTLDs (.com, .org), new gTLDs (.app, .xyz), and ccTLDs (.uk, .de).

ParametersJSON Schema
NameRequiredDescriptionDefault
tldYesTLD to look up (e.g., "com", "co.uk", "xyz"). Omit the leading dot.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of explaining behavior. It usefully states that the data comes from IANA and that the tool returns authoritative WHOIS server, RDAP server, and registry data. It does not mention whether the lookup is live or cached, error behavior, or response format, but for a simple read-only metadata lookup this is acceptable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two compact sentences with no redundant wording. The core action and expected outputs are front-loaded, and the supported TLD classes are stated efficiently in a single follow-up sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description provides the essential context: data source, returned content, and TLD scope. It could be more complete by describing the return shape or possible failure modes, but it still gives an agent enough to understand what the tool does and when to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully documents the tld parameter with examples and the rule to omit the leading dot, so schema coverage is 100%. The description adds some context about supported TLD categories but does not significantly enrich the parameter meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('Get information about a TLD... from IANA') and lists concrete outputs such as the authoritative WHOIS server, RDAP server, and IANA registry data. It is clear about what the tool does, though it does not explicitly differentiate itself from sibling tools like whois_lookup or find_whois_server by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for TLD-level metadata lookups rather than domain-level WHOIS/RDAP queries, and the 'Works for...' line indicates broad applicability. However, it gives no explicit guidance on when to prefer this tool over the sibling alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whois_lookupA

Look up WHOIS information for a domain name using native WHOIS protocol (TCP port 43). Automatically discovers the correct WHOIS server via IANA if not known. Follows referrals from thin WHOIS to thick WHOIS for complete data. Returns parsed structured data + raw WHOIS text.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesDomain name to look up (e.g., "example.com", "google.co.uk")
serverNoOverride WHOIS server (optional, auto-discovered if not set)
timeoutNoQuery timeout in milliseconds (default: 15000)
follow_referralsNoFollow WHOIS referrals for complete data (default: true)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the behavioral burden. It discloses meaningful behavior: uses TCP port 43, auto-discovers the WHOIS server via IANA, follows thin-to-thick referrals, and returns both parsed and raw data. It does not cover error handling, rate limits, or network failure modes, but for a read-only public lookup tool this is strong transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, each earning its place: what it does, how servers are discovered, how referrals are handled, and what the return includes. Front-loaded with the core action and no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the tool's core operation, behavior, and return value shape, which matters because there is no output schema. Parameter semantics are already in the schema. It could be more complete by explicitly contrasting with rdap_lookup and whois_raw, but an agent has enough information to invoke this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all four parameters are already documented in the input schema. The description adds contextual value by mentioning IANA auto-discovery and referral following, but it does not need to re-explain parameter meanings. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: "Look up WHOIS information for a domain name using native WHOIS protocol." It clearly differentiates from siblings like rdap_lookup (different protocol) and whois_raw (raw-only output) by stating it returns "parsed structured data + raw WHOIS text" and follows referrals.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: this is the native-WHOIS lookup tool with automatic server discovery and referral following. It implies use for complete WHOIS data, but it does not explicitly state when to choose rdap_lookup or whois_raw instead. It is clear enough for selection, but lacks explicit exclusions or alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whois_rawA

Send a raw WHOIS query to a specific server and return the unprocessed response. Useful for debugging, querying IP WHOIS (rwhois), or non-standard WHOIS servers.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoWHOIS server port (default: 43)
queryYesQuery string to send (domain, IP, ASN, etc.)
serverYesWHOIS server hostname (e.g., "whois.verisign-grs.com")
timeoutNoQuery timeout in milliseconds (default: 15000)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose the key behavioral trait: the query is sent raw to a specified server and the response is returned unprocessed, meaning no parsing or transformation should be expected. It could add error or response-format detail, but the core behavior is explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences carry all necessary information: the action, the unprocessed nature of the output, and the relevant use cases. Every sentence earns its place and the main action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple raw network query tool, the description plus a fully documented schema is sufficient for an agent to select and invoke it. Required parameters are in the schema, defaults for port and timeout are provided, and the return value is defined as the unprocessed response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters with defaults and examples. The description adds no parameter-level semantics beyond the rwhois use case, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a precise action ('Send a raw WHOIS query'), a specific target ('a specific server'), and the output ('return the unprocessed response'). This clearly distinguishes it from the sibling whois_lookup, which implies a standard, processed lookup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use contexts: 'debugging, querying IP WHOIS (rwhois), or non-standard WHOIS servers.' This tells an agent when the raw variant is appropriate. It does not explicitly name the standard alternative, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.1.0
    • First observedbulk_domain_check
    • First observeddomain_check
    • First observedfind_whois_server
    • First observedrdap_bootstrap_info
    • First observedrdap_lookup
    • First observedtld_info
    • First observedwhois_lookup
    • First observedwhois_raw

TDQS

A3.8/5.0

Scored across 8 tools

Disambiguation3/5

Most tools are distinct (whois_lookup vs rdap_lookup vs domain_check), but find_whois_server, tld_info, and rdap_bootstrap_info overlap in surfacing server/bootstrap information and could be confused by an agent. whois_lookup and whois_raw also both query WHOIS, differing only in parsing and server targeting.

Naming Consistency3/5

Names are uniformly snake_case but follow mixed patterns: whois_lookup/rdap_lookup use verb_noun, domain_check/bulk_domain_check use noun_check, while tld_info and rdap_bootstrap_info are noun phrases. The inconsistency is readable but not predictable across the set.

Tool Count5/5

8 tools is well-scoped for a WHOIS/RDAP domain lookup server. Each tool covers a distinct protocol, use case, or operational need without unnecessary bloat.

Completeness5/5

The tool set covers WHOIS lookup, RDAP lookup, raw queries, server discovery, TLD metadata, single-domain availability, and bulk availability. This forms a complete surface for domain registration information and WHOIS/RDAP troubleshooting.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to perform WHOIS lookups to retrieve domain registration details, including ownership, registration dates, and availability status without requiring browser searches.
    4
    15 npm
    21
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to check domain availability, perform batch domain lookups, and generate intelligent domain name suggestions across multiple TLDs using WHOIS integration.
    3
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to check domain availability, purchase domains via Stripe, and perform full DNS and nameserver management. It facilitates automated domain lifecycle tasks like record updates and transfer locks without requiring CAPTCHAs.
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Confidence-scored domain availability checking for AI agents via real-time DNS and WHOIS lookups. Bulk check up to 100 domains, WHOIS enrichment, and quota monitoring. All tools are read-only.
    3
    1
    MIT