Skip to main content
Glama
yenyifu

MCP Domain Availability Server

by yenyifu

MCP Domain Availability Server

A Model Context Protocol (MCP) server for checking domain name availability using DNS, RDAP, and WHOIS lookups. This server provides AI assistants with the ability to check if domain names are available for registration.

Features

  • Single Domain Checking: Check availability of individual domains

  • Bulk Domain Checking: Check up to 50 domains simultaneously

  • Multi-Protocol Lookups: Uses DNS-over-HTTPS (DoH), RDAP, and WHOIS for accurate results

  • Robust Error Handling: Handles timeouts, rate limits, and network errors gracefully

  • Security Limits: Built-in protection against abuse with request limits and timeouts

Related MCP server: Domain Checker

Installation

For Cursor IDE

Add the following to your ~/.cursor/mcp.json (or %APPDATA%\Cursor\mcp.json on Windows):

{
  "mcpServers": {
    "domain-availability": {
      "command": "npx",
      "args": ["-y", "mcp-domain-availability"]
    }
  }
}

Restart Cursor to activate the server.

For Other MCP Clients

The server can be used with any MCP-compatible client. Install globally:

npm install -g mcp-domain-availability

Then configure your MCP client to run:

mcp-domain-availability

Usage

Tool 1: check_domain_availability

Check if a single domain is available for registration.

Input:

{
  "domain": "example.com"
}

Output:

{
  "domain": "example.com",
  "available": false,
  "status": "registered",
  "registered": true,
  "details": {
    "availability": "registered",
    "registrar": "Example Registrar",
    "registrationDate": "2020-01-01",
    "expirationDate": "2025-01-01"
  }
}

Possible status values:

  • unregistered - Domain is available for registration

  • registered - Domain is already registered

  • unknown - Unable to determine status

Tool 2: check_multiple_domains

Check availability for multiple domains at once (up to 50 domains).

Input:

{
  "domains": ["example.com", "test.io", "available-domain.xyz"]
}

Output:

{
  "results": [
    {
      "domain": "example.com",
      "available": false,
      "status": "registered",
      "registered": true,
      "error": null
    },
    {
      "domain": "test.io",
      "available": true,
      "status": "unregistered",
      "registered": false,
      "error": null
    },
    {
      "domain": "available-domain.xyz",
      "available": false,
      "status": "error",
      "registered": false,
      "error": "Network error occurred",
      "errorType": "network"
    }
  ],
  "summary": {
    "total": 3,
    "available": 1,
    "registered": 1,
    "errors": 1,
    "unknown": 0
  }
}

Error Handling

The server handles various error scenarios:

  • Timeout Errors: Domain checks timeout after 30 seconds

  • Rate Limiting: Detects and reports rate limit errors from WHOIS/DNS providers

  • Network Errors: Handles connection failures gracefully

  • Invalid Input: Validates domain format and length before checking

Error Response Format

{
  "error": "Error message",
  "domain": "example.com",
  "suggestion": "Helpful suggestion for the user"
}

Requirements

  • Node.js >= 18.0.0

  • npm or compatible package manager

Limitations

  • Rate Limiting: WHOIS and DNS providers may rate limit requests. The server detects and reports these errors.

  • Timeout: Each domain check has a 30-second timeout to prevent hanging requests.

  • Bulk Limit: Maximum 50 domains per bulk request to prevent abuse.

  • TLD Support: Supports all standard TLDs. Some newer or less common TLDs may have limited information available.

Troubleshooting

Server not starting

  • Verify Node.js version: node --version (should be >= 18.0.0)

  • Check that the package is installed: npx -y mcp-domain-availability

  • Review Cursor logs for error messages

Domain checks failing

  • Check your internet connection

  • Some domains may be rate-limited - wait a few moments and try again

  • Verify domain format is correct (e.g., example.com, not http://example.com)

Rate limit errors

If you encounter rate limit errors:

  • Wait a few minutes before making more requests

  • Reduce the number of domains checked in bulk operations

  • Consider checking domains individually with delays between requests

License

MIT License - see LICENSE file for details.

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Acknowledgments

Available Tools

2 tools
check_domain_availabilityA

Check if a domain name is available for registration. Uses DNS, RDAP, and WHOIS lookups. Returns availability status and details.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainYesThe domain name to check (e.g., "example.com")

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds valuable context beyond basic functionality by specifying the methods used ('DNS, RDAP, and WHOIS lookups') and the return information ('availability status and details'). However, it lacks details on rate limits, error handling, or authentication needs, which would be beneficial for a tool performing external lookups.

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 appropriately sized and front-loaded, consisting of two concise sentences that directly state the tool's purpose, methods, and return values without any redundant information. Every sentence earns its place by providing essential details efficiently.

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?

Given the tool's moderate complexity (single parameter, no output schema, no annotations), the description is fairly complete. It covers the purpose, methods, and return information adequately. However, without an output schema, it could benefit from more details on the structure of 'availability status and details' to fully guide the agent, but it provides enough context for basic use.

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 has 100% description coverage, with the single parameter 'domain' clearly documented in the schema. The description does not add any additional meaning or syntax details beyond what the schema provides, such as format examples or validation rules. Given the high schema coverage, the baseline score of 3 is appropriate as the schema handles the parameter documentation effectively.

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 clearly states the specific action ('Check if a domain name is available for registration'), identifies the resource ('domain name'), and distinguishes it from its sibling 'check_multiple_domains' by implying this tool handles single domains. The verb 'check' and resource 'domain name' are precise and unambiguous.

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 usage context through 'Check if a domain name is available for registration,' suggesting this tool is for availability verification. However, it does not explicitly state when to use this versus the sibling 'check_multiple_domains' or provide any exclusions or prerequisites. The guidance is implied but not detailed.

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

check_multiple_domainsB

Check availability for multiple domains at once (up to 50 domains). Returns results for all domains with summary statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainsYesArray of domain names to check (e.g., ["example.com", "test.io"]). Maximum 50 domains.

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the tool returns 'results for all domains with summary statistics,' which adds some behavioral context about output. However, it lacks details on rate limits, error handling, authentication needs, or what 'availability' means (e.g., registration status). For a tool with no annotations, this is a significant gap in 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?

The description is highly concise and front-loaded, consisting of two sentences that efficiently convey the tool's purpose and output. Every sentence earns its place by providing essential information without waste, making it easy to understand quickly.

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?

Given the tool's moderate complexity (batch domain checking), no annotations, and no output schema, the description is minimally adequate. It covers the basic purpose and output format but lacks details on behavioral traits, error cases, or deeper context. With no output schema, it should ideally explain return values more, but it provides enough to be functional with clear gaps.

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 has 100% description coverage, with the 'domains' parameter fully documented in the schema. The description adds marginal value by reinforcing the 'up to 50 domains' limit, which is already in the schema description. No additional parameter semantics are provided beyond what the schema covers, so the baseline score of 3 is appropriate.

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 clearly states the tool's purpose: 'Check availability for multiple domains at once' with a specific verb ('check') and resource ('domains'), and mentions the batch capability ('up to 50 domains'). It distinguishes from the sibling 'check_domain_availability' by emphasizing 'multiple domains at once,' but doesn't explicitly contrast them. The purpose is clear but lacks explicit sibling differentiation.

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 usage context by stating 'at once' and 'up to 50 domains,' suggesting it's for batch operations. However, it doesn't explicitly say when to use this tool versus the sibling 'check_domain_availability' (e.g., for single vs. multiple domains) or provide any exclusions or alternatives. Usage is implied but not clearly defined.

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. Dates show when Glama detected each change.

  1. 2 tool updates
    • First observedcheck_domain_availability
    • First observedcheck_multiple_domains

TDQS

A3.5/5.0
Disambiguation4/5

The two tools have clearly distinct purposes: one checks a single domain, while the other handles multiple domains. The descriptions reinforce this distinction, making misselection unlikely. However, the similarity in core functionality could cause minor confusion if an agent needs to decide between them for a single domain.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern with 'check_' prefix and snake_case naming. The naming is predictable and readable, with no deviations in style or convention across the tool set.

Tool Count3/5

With only 2 tools, the server feels thin for a domain availability service. While the tools cover basic availability checks, the scope is limited, and more operations (e.g., domain suggestion, registration status, or pricing) might be expected. This borderline count could hinder agent workflows.

Completeness2/5

The tool set is significantly incomplete for a domain availability server. It lacks essential operations such as domain suggestion, registration initiation, pricing lookup, or WHOIS details retrieval. Agents will face dead ends when trying to perform common domain-related tasks beyond basic availability checks.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    57
    21
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables checking domain name availability using WHOIS lookups and DNS resolution. Supports both single and batch domain checking with detailed availability analysis.
    -
  • 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.
    4
    3
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables users to check domain name availability across 877 TLDs, generate intelligent suggestions, and retrieve WHOIS registration information. It supports bulk domain checks and cross-TLD searches through natural language interfaces.
    0
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yenyifu/mcp-domain-availability'

If you have feedback or need assistance with the MCP directory API, please join our Discord server