mcpField
D
Domain Checker MCP

Domain Checker MCP

Local
github.com/unitythemakerDeveloper Tools0Updated 74w ago

About Domain Checker MCP

Domain Checker MCP checks domain availability and registration details for individuals or teams comparing names. It uses RDAP first and falls back to WHOIS, with tools for single, batch, and extension-based checks.

Key features

  1. 01Single-domain availability checks
  2. 02Parallel batch domain checks
  3. 03Checks across multiple extensions
  4. 04RDAP lookup with WHOIS fallback
  5. 05Status and registration detail detection
  6. 06Configurable concurrency and retries

Use cases

  1. 01Check whether a proposed domain is available
  2. 02Compare many candidate names in parallel
  3. 03Review registrar and expiration information

MCP support

An MCP server exposing tools for individual domain checks, batch checks, and checks across one or more name extensions.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"domain-checker": {
"command": "npx",
"args": [
"-y",
"domain-checker-mcp"
]
}
}
}
Run commandnpx -y domain-checker-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmdomain-checker-mcp

Tools

4

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
domainstringYesThe domain name to check (e.g., example.com)
includeRawResponsebooleanNoInclude raw RDAP/WHOIS response data (default: false)

Details

From the project README

Domain Checker MCP

An MCP (Model Context Protocol) server that checks domain availability using RDAP (Registration Data Access Protocol) with WHOIS fallback.

Features

  • Check single domain availability
  • Batch check multiple domains in parallel
  • Prioritizes RDAP for domain lookups
  • Falls back to WHOIS when RDAP is unavailable
  • Configurable parallel workers (default: 4)
  • Retry mechanism with exponential backoff for rate-limited responses
  • Enhanced domain status detection (available, taken, unknown, rate_limited)
  • Extract domain information (registrar, expiration date, days until expiration)
  • Null registrationData detection for better availability accuracy
  • Efficient response mode - raw RDAP/WHOIS data excluded by default for faster responses

MCP Configuration

Using npm package

Add this server to your MCP client configuration:

{
  "mcpServers": {
    "domain-checker": {
      "command": "npx",
      "args": ["-y", "domain-checker-mcp"]
    }
  }
}
Using local installation
{
  "mcpServers": {
    "domain-checker": {
      "command": "node",
      "args": ["/path/to/domain-checker-mcp/dist/index.js"]
    }
  }
}

Installation

From npm
npm install -g domain-checker-mcp
From source
git clone https://github.com/yourusername/domain-checker-mcp.git
cd domain-checker-mcp
pnpm install
pnpm build

Usage

Running the MCP server
pnpm start
Available Tools

All tools support an optional includeRawResponse parameter (boolean, default: false) to control whether raw RDAP/WHOIS data is included in responses. Raw responses are automatically included for suspicious cases (unknown status, rate limits, errors).

  1. check_domain - Check if a single domain is available

    • Input:
      • domain (string) - The domain name to check
      • includeRawResponse (boolean, optional) - Include raw response data (default: false)
  2. check_domains_batch - Check multiple domains in parallel

    • Input:
      • domains (string[]) - Array of domain names to check
      • concurrency (number, optional) - Number of parallel workers (1-10, default: 4)
      • includeRawResponse (boolean, optional) - Include raw response data (default: false)
  3. check_name_extensions - Check a single name with multiple extensions

    • Input:
      • name (string) - The domain name without extension (e.g., "example")
      • extensions (string[]) - Array of extensions to check (e.g., ["com", "net", "org"])
      • concurrency (number, optional) - Number of parallel workers (1-10, default: 4)
      • includeRawResponse (boolean, optional) - Include raw response data (default: false)
  4. check_names_extensions - Check multiple names with multiple extensions

    • Input:
      • names (string[]) - Array of domain names without extensions
      • extensions (string[]) - Array of extensions to check for each name
      • concurrency (number, optional) - Number of parallel workers (1-10, default: 4)
      • includeRawResponse (boolean, optional) - Include raw response data (default: false)
Response Format

Single domain check returns:

{
  "domain": "example.com",
  "available": false,
  "status": "taken",
  "method": "rdap",
  "registrationData": { ... },
  "domainInfo": {
    "registrar": "Example Registrar Inc.",
    "expirationDate": "2025-12-31T23:59:59Z",
    "daysUntilExpiration": 365,
    "creationDate": "2020-01-01T00:00:00Z",
    "lastUpdated": "2024-01-15T12:00:00Z"
  }
}

Batch check returns:

{
  "total": 5,
  "available": 2,
  "taken": 2,
  "errors": 0,
  "rateLimited": 1,
  "unknown": 0,
  "results": [...]
}

Name with extensions check returns:

{
  "name": "example",
  "total": 3,
  "available": 1,
  "taken": 2,
  "errors": 0,
  "rateLimited": 0,
  "unknown": 0,
  "results": [...]
}

Multiple names with extensions returns:

{
  "totalNames": 2,
  "totalExtensions": 3,
  "totalChecks": 6,
  "availableTotal": 2,
  "takenTotal": 3,
  "errorsTotal": 0,
  "rateLimitedTotal": 1,
  "unknownTotal": 0,
  "resultsByName": {
    "example": {
      "total": 3,
      "available": 1,
      "taken": 2,
      "errors": 0,
      "rateLimited": 0,
      "unknown": 0,
      "domains": [...]
    },
    ...
  }
}

Publishing

To publish a new version:

  1. Update the version in package.json
  2. Commit your changes
  3. Create and push a new tag:
    git tag v0.1.0
    git push origin v0.1.0
    
  4. GitHub Actions will automatically publish to npm
Requirements
  • Set NPM_TOKEN secret in your GitHub repository settings
  • Tag must start with 'v' (e.g., v0.1.0, v1.0.0)

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.