Domain Availability Checker MCP
Check domain availability across 50+ TLDs using DNS and WHOIS verification through Claude Desktop.
Capabilities:
Single Domain Checking: Verify availability for specific domains (e.g.,
mysite.com)Bulk TLD Checking: Check a domain name across all supported TLD extensions simultaneously (e.g.,
mysitechecks .com, .io, .ai, etc.)Multi-Category TLD Support: Supports Popular (.com, .io, .ai), Country (.us, .uk, .de), and New TLDs (.app, .dev, .tech)
Dual Verification: Uses DNS resolution and WHOIS lookups with socket connection fallback for accurate, reliable results
Parallel Processing: Performs concurrent checks (up to 20 simultaneous) for faster bulk operations
Natural Language Queries: Interact conversationally through Claude with automated suggestion workflows
Comprehensive Results: Returns availability status, available/unavailable domain lists, summary statistics by TLD category, and performance metrics
The primary function is exposed via the check_domain tool, which accepts a domain query string.
Supports installation of the required uv package manager through Homebrew, enabling easier setup on macOS/Linux systems.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Domain Availability Checker MCPcheck if myawesomesite.com is available"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 | shHomebrew (macOS/Linux):
brew install uvInstall 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
Zero-Clone Installation (Recommended)
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.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.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 claudeManual Installation
For development or local testing:
Clone the repository:
git clone https://github.com/imprvhub/mcp-domain-availability
cd mcp-domain-availabilityInstall dependencies:
uv syncRun locally:
uv run src/mcp_domain_availability/main.pyDeploying 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.
Edit the script: Open
deploy.shand replace...with your Google CloudPROJECT_ID. You can also change theREGIONif needed.Run the script: Make the script executable and run it.
chmod +x deploy.sh
./deploy.shThe 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.
Set environment variables:
export PROJECT_ID="<YOUR_PROJECT_ID>"
export REGION="<YOUR_REGION>"
export IMAGE="gcr.io/$PROJECT_ID/mcp-domain-availability:latest"Build and push the Docker image:
docker buildx build --platform linux/amd64 -t $IMAGE --push .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_IDNote: 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:
DNS Resolution: Checks if the domain resolves to an IP address
WHOIS Lookup: Queries WHOIS databases for registration information
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 availability with --domain flag |
|
Supported TLD Categories
Popular TLDs (12)
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 --domainDomain Name Research
Check availability for "startup" across all TLDs using --domainSpecific Domain Verification
Is awesome.io available? Use --domain to checkOutput 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:
Verify uvx installation:
Run
uvx --versionto ensure uvx is properly installedReinstall uv if necessary:
curl -LsSf https://astral.sh/uv/install.sh | sh
Check Python version:
Ensure Python 3.10+ is available:
python3 --version
DNS resolution issues
If domain checks are failing:
Network connectivity:
Verify internet connection is stable
Check if DNS servers are accessible
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:
Verify configuration syntax:
Ensure JSON syntax is valid in
claude_desktop_config.jsonCheck that all brackets and quotes are properly matched
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 logicDomain checking functions with DNS, WHOIS, and socket fallback methods
TLD management with categorized lists
Async processing for parallel domain checks
Building
uv buildTesting
uv run pytestLocal Development
uv run main.pySecurity 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.
Related Links
Available Tools
1 toolcheck_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
| Name | Required | Description | Default |
|---|---|---|---|
| domain_query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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 tool update
v1.0.0- First observed
check_domain
TDQS
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.
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.
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.
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
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
- sentinelOAuthio.rootstuff
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Domains MCP — domain registration lookup + availability search over live
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Onymu is an MCP server for domain name search, domain availability checking, and social media username lookup. Check a domain name against hundreds of TLDs in one call, including .com, .io, .ai, .co, and country-code extensions. Generate brandable startup names, business names, and product names from a keyword, and instantly see which ones are still available to register. Check username availability across major social networks so a brand name comes with matching handles. Save domains, set favorite TLDs, and recall recent searches to keep name research organized across sessions.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI assistants to check domain name availability using WHOIS lookups.174ISC
- AlicenseNot gradedqualityDmaintenanceIntelligent domain name suggestion service that checks real-time availability across multiple providers and works with MCP-compatible tools like Cursor and Claude Code.13Apache 2.0
- FlicenseNot gradedqualityCmaintenanceA 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.-
- AlicenseAqualityCmaintenanceAn 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.799MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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