Skip to main content
Glama
imprvhub

Domain Availability Checker MCP

by imprvhub

MCP Domain Availability Checker

Features

  • Domain Availability Checking

    • Check availability across 50+ popular TLD extensions

    • Support for popular (.com, .io, .ai), country (.us, .uk, .de), and new TLDs (.app, .dev, .tech)

    • Dual verification using DNS and WHOIS for accuracy

    • Smart TLD suggestions organized by popularity

  • Search Capabilities

    • Check specific domains with exact TLD matching

    • Bulk checking across supported extensions for a given name

    • Parallel processing for faster domain queries

    • Organized results by TLD categories

  • MCP Integration

    • Easy setup with uvx package management

    • Seamless integration with Claude Desktop

    • Real-time availability status updates

    • Performance metrics and timing information

  • AI Assistant Features

    • Natural language domain queries through Claude

    • Automated domain suggestion workflows

    • Smart recommendations based on availability

Demo

00:00 - Checking google.com availability
Testing a well-known premium domain to demonstrate the domain checking functionality and alternative TLD suggestions.

00:20 - Testing myawesomesite.com
Verifying availability for a custom domain name and exploring alternative extension options.

00:40 - Verifying techstartup2026.io
Exploring tech startup domain options and checking availability across multiple TLD extensions.

01:00 - Analyzing aitools domain
Checking competitive AI industry domains and analyzing market availability for startup naming.

Requirements

  • Python 3.10 or higher

  • Claude Desktop

  • uv package manager

Dependencies Installation

Install uv package manager using one of these methods:

Official installer (recommended):

curl -LsSf https://astral.sh/uv/install.sh | sh

Homebrew (macOS/Linux):

brew install uv

Install Homebrew (if needed):

  • Visit https://brew.sh for installation instructions on all operating systems

  • Or run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

The MCP server automatically manages Python dependencies through uvx.

Installation

The MCP Domain Availability Checker supports direct installation without cloning repositories, using uvx for package management.

Configuration

The Claude Desktop configuration file is located at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Edit this file to add the Domain Availability MCP configuration:

{
  "mcpServers": {
    "mcp-domain-availability": {
      "command": "uvx",
      "args": [
        "--python=3.10",
        "--from",
        "git+https://github.com/imprvhub/mcp-domain-availability",
        "mcp-domain-availability"
      ]
    }
  }
}

If you already have other MCPs configured, simply add the "mcp-domain-availability" section inside the "mcpServers" object:

{
  "mcpServers": {
    "otherMcp": {
      "command": "...",
      "args": ["..."]
    },
    "mcp-domain-availability": {
      "command": "uvx",
      "args": [
        "--python=3.10",
        "--from",
        "git+https://github.com/imprvhub/mcp-domain-availability",
        "mcp-domain-availability"
      ]
    }
  }
}

Installing via Smithery

To install mcp-domain-availability for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @imprvhub/mcp-domain-availability --client claude

Manual Installation

For development or local testing:

  1. Clone the repository:

git clone https://github.com/imprvhub/mcp-domain-availability
cd mcp-domain-availability
  1. Install dependencies:

uv sync
  1. Run locally:

uv run src/mcp_domain_availability/main.py

Deploying with Docker to Google Cloud Run

The MCP server supports two transport modes:

  • stdio (default): For Claude Desktop integration via stdin/stdout

  • sse: For HTTP/web deployments like Google Cloud Run

When deploying to Cloud Run, the MCP_TRANSPORT environment variable must be set to sse.

Prerequisites:

  • Google Cloud SDK installed and authenticated (gcloud auth login)

  • Docker installed and running

  • A Google Cloud Project with the Cloud Run and Container Registry APIs enabled

Using the Deployment Script

The easiest way to deploy is to use the deploy.sh script.

  1. Edit the script: Open deploy.sh and replace ... with your Google Cloud PROJECT_ID. You can also change the REGION if needed.

  2. Run the script: Make the script executable and run it.

    chmod +x deploy.sh
    ./deploy.sh
The script will build the Docker image, push it to Google Container Registry, and deploy it to Cloud Run with `MCP_TRANSPORT=sse`.

Manual Deployment

Alternatively, you can run the commands manually.

  1. Set environment variables:

    export PROJECT_ID="<YOUR_PROJECT_ID>"
    export REGION="<YOUR_REGION>"
    export IMAGE="gcr.io/$PROJECT_ID/mcp-domain-availability:latest"
  1. Build and push the Docker image:

    docker buildx build --platform linux/amd64 -t $IMAGE --push .
  1. Deploy to Google Cloud Run:

    gcloud run deploy mcp-domain-availability \
      --image $IMAGE \
      --region $REGION \
      --platform managed \
      --allow-unauthenticated \
      --port 8080 \
      --set-env-vars MCP_TRANSPORT=sse \
      --project $PROJECT_ID

Note: For local Claude Desktop usage, no environment variables are needed. The server defaults to stdio transport mode.

How It Works

The MCP Domain Availability Checker uses multiple verification methods to determine domain availability:

  1. DNS Resolution: Checks if the domain resolves to an IP address

  2. WHOIS Lookup: Queries WHOIS databases for registration information

  3. Socket Connection: Falls back to socket-based checking when other methods aren't available

The tool combines results from these methods to provide accurate availability status, with parallel processing for checking multiple domains simultaneously.

Available Tools

Domain Checking

Tool Name

Description

Usage

check_domain

Check domain availability with --domain flag

mysite.com --domain or mysite --domain

Supported TLD Categories

com, net, org, io, ai, app, dev, co, xyz, me, info, biz

Country TLDs (35)

us, uk, ca, au, de, fr, it, es, nl, jp, kr, cn, in, br, mx, ar, cl, co, pe, ru, pl, cz, ch, at, se, no, dk, fi, be, pt, gr, tr, za, eg, ma, ng, ke

New TLDs

tech, online, site, website, store, shop, cloud, digital, blog, news & more.

Example Usage

Here are examples of how to use the MCP Domain Availability Checker with Claude:

Single Domain Check

Check if mysite.com is available using --domain

Domain Name Research

Check availability for "startup" across all TLDs using --domain

Specific Domain Verification

Is awesome.io available? Use --domain to check

Output Format

The tool provides comprehensive results including:

  • Requested Domain: Status of the exact domain queried (if specific TLD provided)

  • Available Domains: List of available domains sorted alphabetically

  • Unavailable Domains: List of registered domains

  • Summary Statistics: Breakdown by TLD categories (Popular, Country, New TLDs)

  • Performance Metrics: Check duration for each domain

Troubleshooting

"Server disconnected" error

If you see connection errors in Claude Desktop:

  1. Verify uvx installation:

    • Run uvx --version to ensure uvx is properly installed

    • Reinstall uv if necessary: curl -LsSf https://astral.sh/uv/install.sh | sh

  2. Check Python version:

    • Ensure Python 3.10+ is available: python3 --version

DNS resolution issues

If domain checks are failing:

  1. Network connectivity:

    • Verify internet connection is stable

    • Check if DNS servers are accessible

  2. Rate limiting:

    • Large bulk checks may hit rate limits from DNS/WHOIS services

    • The tool uses a semaphore to limit concurrent requests to 20

Configuration issues

If the MCP server isn't starting:

  1. Verify configuration syntax:

    • Ensure JSON syntax is valid in claude_desktop_config.json

    • Check that all brackets and quotes are properly matched

  2. Restart Claude Desktop:

    • Close and restart Claude Desktop after configuration changes

Related MCP server: Domain Finder MCP Server

Development

Project Structure

  • main.py: Main entry point with MCP server and domain checking logic

  • Domain checking functions with DNS, WHOIS, and socket fallback methods

  • TLD management with categorized lists

  • Async processing for parallel domain checks

Building

uv build

Testing

uv run pytest

Local Development

uv run main.py

Security Considerations

The MCP Domain Availability Checker makes external network requests to DNS servers and WHOIS services. Users should be aware that:

  • Domain queries may be logged by DNS providers

  • WHOIS queries are typically logged and may be rate-limited

  • No personal information is transmitted beyond the domain names being checked

  • All queries are read-only and do not modify any external systems

Contributing

Contributions are welcome! Areas for improvement include:

  • Adding support for additional TLD categories

  • Implementing caching mechanisms for faster repeated queries

  • Enhancing WHOIS parsing for more detailed domain information

  • Improving error handling and retry mechanisms

License

This project is licensed under the Mozilla Public License 2.0 - see the LICENSE file for details.

Available Tools

1 tool
check_domainA
Check domain availability. 

Usage examples:
- "mysite.com --domain" - checks exact domain
- "mysite --domain" - checks mysite across all popular TLDs
- "test.io --domain" - checks test.io exactly, plus test across all TLDs

Args:
    domain_query (str): Domain to check with --domain flag
    
Returns:
    Dict containing availability results for the domain and suggested alternatives
ParametersJSON Schema
NameRequiredDescriptionDefault
domain_queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/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 effectively describes what the tool does (checks availability, returns results and alternatives) and provides usage examples that clarify behavior with different input formats. However, it doesn't mention rate limits, authentication needs, or error conditions.

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 well-structured with clear sections (purpose statement, usage examples, args, returns) and every sentence adds value. It's appropriately sized for a single-parameter tool with complex behavior, avoiding unnecessary verbosity while being comprehensive.

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?

Given the tool's moderate complexity (domain checking with TLD variations), no annotations, and an output schema present, the description provides excellent context. It explains the tool's behavior, parameter usage, and return format, making it complete enough for effective use without needing to reference the output schema for basic understanding.

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

Parameters5/5

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

The schema description coverage is 0%, so the description must fully compensate. It successfully explains the single parameter's purpose ('Domain to check'), provides multiple usage examples showing how different inputs affect behavior, and clarifies the --domain flag context, adding significant value beyond the bare schema.

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 tool's purpose with a specific verb ('Check') and resource ('domain availability'), making it immediately understandable. It distinguishes this as a domain checking tool, which is unambiguous even without sibling tools for comparison.

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 provides usage examples that imply when to use the tool (for domain availability checks), but it doesn't explicitly state when NOT to use it or mention alternatives. Without sibling tools, this is less critical, but the guidance remains implicit rather than explicit.

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. 1 tool updatev1.0.0
    • First observedcheck_domain

TDQS

A4.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools. The single tool 'check_domain' has a clear, distinct purpose that cannot be mistaken for any other functionality.

Naming Consistency5/5

The naming is perfectly consistent as there is only one tool following a clear verb_noun pattern ('check_domain'). No mixed conventions or deviations exist to evaluate.

Tool Count2/5

A single tool is too few for a server that appears to handle domain availability checking, as this domain typically involves related operations like bulk checks, WHOIS lookups, or domain suggestion generation. The tool count feels thin and incomplete for the apparent scope.

Completeness2/5

The tool surface is severely incomplete for domain availability checking. While 'check_domain' covers basic availability queries, there are significant gaps such as no tools for WHOIS information, bulk domain checks, domain suggestion algorithms, or TLD-specific searches, which are common in this domain and will limit agent effectiveness.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

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
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to check domain name availability using WHOIS lookups.
    17
    4
    ISC
  • A
    license
    Not graded
    quality
    D
    maintenance
    Intelligent domain name suggestion service that checks real-time availability across multiple providers and works with MCP-compatible tools like Cursor and Claude Code.
    13
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that exposes the full WhoisFreaks API suite as AI-callable tools. Works with Claude Desktop, Cursor, Windsurf, VS Code, Continue, Zed, and any other MCP-compatible AI client.
    -
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for domain intelligence — WHOIS, DNS records, SSL certificate inspection, SPF/DMARC validation, security-header audits, and blacklist/reputation checks, callable by AI agents. Powered by domainintel.app; runs server-side, no local setup.
    7
    99
    MIT

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/imprvhub/mcp-domain-availability'

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