domain-mcp
Click on "Deploy 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-mcpCheck if 'zenith' is available across tech TLDs like .io and .ai"
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.
domain-mcp
A CLI and MCP (Model Context Protocol) server for reliably checking domain name availability. Uses both DNS and WHOIS lookups for high-confidence results.
Features
Dual verification: Combines DNS and WHOIS checks for reliable results
Confidence levels: Reports high/medium/low confidence based on verification methods
Alternative TLD search: Find available domains across multiple TLDs
Domain suggestions: Generate variations with common prefixes/suffixes
MCP server: Use with Claude and other MCP-compatible AI assistants
CLI tool: Command-line interface for quick lookups
Related MCP server: AgentDomainService MCP Server
Installation
# Install globally from GitHub
npm install -g github:cfenzo/domain-mcp
# Or use directly with npx (no install needed)
npx github:cfenzo/domain-mcp --helpCLI Usage
# Check a single domain
domain-check example.com
# Check across popular TLDs
domain-check myapp --alt
# Check tech-focused TLDs (io, dev, app, ai, etc.)
domain-check startup --alt --tech
# Check specific TLDs
domain-check mybrand --tlds com,io,dev,app
# JSON output
domain-check example.com --json
# Only show available domains
domain-check myapp --alt --available-onlyOr with npx (no installation):
npx -p github:cfenzo/domain-mcp domain-check example.com --altClaude Code MCP Server
Add to your Claude Code configuration (~/.claude.json):
{
"mcpServers": {
"domain-checker": {
"command": "npx",
"args": ["-y", "-p", "github:cfenzo/domain-mcp", "domain-mcp"]
}
}
}Available MCP Tools
check_domain: Check a single domain's availability
check_alternative_tlds: Check availability across multiple TLDs
suggest_domains: Generate and check domain name variations
list_tlds: List available TLD categories
How It Works
DNS Check: Queries DNS for A records. If found, domain is definitely taken.
WHOIS Check: Queries WHOIS servers for registration data.
Confidence Scoring:
High: Both methods agree (DNS exists + WHOIS registered, or no DNS + WHOIS available)
Medium: Only one method provided data
Low: Errors or ambiguous results
TLD Categories
General: com, net, org, io, co, dev, app, ai, xyz, me, info, biz, tech, online, site, cloud
Tech: io, dev, app, ai, tech, cloud, software, systems, digital, code
Country: uk, de, fr, nl, es, it, pl, ru, jp, cn, au, ca, us, in, br
Available Tools
4 toolscheck_alternative_tldsA
Check domain availability across multiple TLDs. Useful for finding available alternatives when the primary TLD is taken.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The domain name without TLD (e.g., 'example') | |
| tlds | No | List of TLDs to check. If not provided, checks popular TLDs. | |
| category | No | Category of TLDs to check if 'tlds' not provided. Default: general |
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. While it mentions the tool checks availability, it doesn't describe what happens during execution (e.g., whether it makes external API calls, has rate limits, requires authentication, or returns structured data). For a tool that likely queries external services, this lack of behavioral context is a significant gap.
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 perfectly concise with just two sentences that each earn their place. The first sentence states the core functionality, and the second provides valuable usage context. There's no wasted language, and information is front-loaded effectively.
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 (3 parameters, no output schema, no annotations), the description is adequate but incomplete. It explains the purpose and usage context well, but lacks details about behavioral traits (e.g., execution characteristics) and output format. Without annotations or an output schema, the agent has insufficient information about what the tool returns or how it behaves operationally.
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 description adds no parameter-specific information beyond what's already in the input schema, which has 100% description coverage. The schema fully documents all three parameters (name, tlds, category) with clear descriptions and an enum for category. Since the schema does the heavy lifting, the baseline score of 3 is appropriate, as the description doesn't compensate with additional semantic context.
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 domain availability') and resource ('across multiple TLDs'). It distinguishes from sibling tools by focusing on TLD alternatives rather than single-domain checking (check_domain), listing TLDs (list_tlds), or suggesting domain names (suggest_domains). The phrase 'when the primary TLD is taken' further clarifies the specific use case.
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 clear context for when to use this tool ('Useful for finding available alternatives when the primary TLD is taken'), which implicitly suggests it's an alternative to check_domain when that tool indicates unavailability. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the siblings, keeping it from a perfect score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_domainA
Check if a single domain name is available for registration. Uses both DNS and WHOIS lookups for reliability.
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | The full domain to check (e.g., 'example.com') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the methodology ('Uses both DNS and WHOIS lookups for reliability'), which adds useful context beyond basic functionality. However, it lacks details on behavioral traits like rate limits, error handling, or response format, which are important for a tool with no output schema.
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 two sentences with zero waste: the first states the purpose and scope, the second adds methodological context. It's front-loaded with the core functionality and appropriately sized for a simple tool with one parameter.
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 low complexity (1 parameter, no annotations, no output schema), the description is minimally complete. It covers purpose and methodology but lacks output details (e.g., what 'available' means or response structure) and behavioral context like reliability guarantees. This is adequate but leaves gaps for an agent to interpret results.
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 100%, with the single parameter 'domain' fully documented in the schema. The description doesn't add any parameter-specific details beyond what the schema provides (e.g., format examples or validation rules). Baseline 3 is appropriate as the schema handles parameter documentation adequately.
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 specific action ('Check if... is available for registration'), the resource ('a single domain name'), and the methodology ('Uses both DNS and WHOIS lookups'). It distinguishes from siblings like 'check_alternative_tlds' (which checks multiple TLDs) and 'suggest_domains' (which generates suggestions) by focusing on availability verification for one domain.
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 implies usage context ('Check if... is available for registration'), suggesting it's for domain availability verification before registration. However, it doesn't explicitly state when NOT to use it (e.g., for bulk checks or TLD suggestions) or name alternatives like 'check_alternative_tlds' for related tasks, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tldsC
List available TLD categories and their contents.
| Name | Required | Description | Default |
|---|---|---|---|
| category | No | Category to list. Default: all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it lists categories and contents. It doesn't disclose behavioral traits like whether it's read-only, requires authentication, has rate limits, or what format the output takes (e.g., list, structured data). This leaves significant gaps for a tool with potential complexity.
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 a single, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 no annotations and no output schema, the description is incomplete. It doesn't explain what 'contents' means (e.g., TLD names, descriptions, counts) or the return format, leaving the agent unsure about the tool's behavior and output, which is inadequate for a tool that might return complex data.
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 input schema has 100% coverage, fully documenting the 'category' parameter with enum values and default. The description adds no additional meaning beyond implying categories exist, so it meets the baseline of 3 where the schema does the heavy lifting without compensating for gaps.
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 action ('List') and the resource ('available TLD categories and their contents'), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'check_alternative_tlds' or 'suggest_domains', which also involve TLDs/domains, so it misses full sibling distinction.
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 no guidance on when to use this tool versus alternatives like 'check_domain' or 'suggest_domains'. It lacks context about scenarios where listing TLD categories is appropriate, such as for domain selection or research, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_domainsA
Suggest available domain names based on a keyword or phrase. Checks multiple variations and TLDs.
| Name | Required | Description | Default |
|---|---|---|---|
| keyword | Yes | The keyword or phrase to base suggestions on | |
| category | No | Category of TLDs to check. Default: general | |
| includeVariations | No | Include variations like adding 'app', 'hq', 'get' prefixes/suffixes. Default: true |
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 mentions the tool 'checks multiple variations and TLDs', which gives some context about its scope, but fails to describe critical behaviors like response format (e.g., list of suggestions with availability status), rate limits, authentication needs, or whether it performs actual availability checks vs. generating names only. This leaves significant gaps for a tool with potential external dependencies.
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 a single, efficient sentence that front-loads the core purpose ('suggest available domain names') and adds essential context ('based on a keyword or phrase' and 'checks multiple variations and TLDs') without any wasted words. Every part earns its place.
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 3 parameters with full schema coverage and no output schema, the description is adequate for a read-only suggestion tool but incomplete. It lacks details on behavioral aspects (e.g., response format, rate limits) and doesn't leverage the absence of annotations to compensate, leaving the agent with gaps in understanding how to interpret results or handle errors.
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?
Schema description coverage is 100%, so the schema fully documents all parameters (keyword, category, includeVariations). The description adds no additional parameter semantics beyond what's in the schema, such as examples of variations or TLD categories. Baseline 3 is appropriate as the schema handles the heavy lifting.
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 ('suggest') and resource ('available domain names'), and distinguishes it from siblings by specifying it checks 'multiple variations and TLDs' based on a keyword/phrase, unlike check_domain (likely single domain verification) or list_tlds (listing TLDs only).
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 implies usage context by mentioning 'based on a keyword or phrase' and 'checks multiple variations and TLDs', suggesting it's for brainstorming domain ideas. However, it lacks explicit guidance on when to use this vs. alternatives like check_alternative_tlds or check_domain, and doesn't mention prerequisites or exclusions.
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.
4 tool updates
v1.0.0- First observed
check_alternative_tlds - First observed
check_domain - First observed
list_tlds - First observed
suggest_domains
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose with no overlap: check_alternative_tlds focuses on alternative TLDs when a primary is taken, check_domain verifies availability for a single domain, list_tlds provides TLD categories, and suggest_domains generates suggestions based on keywords. An agent can easily differentiate between them.
All tool names follow a consistent verb_noun pattern with snake_case: check_alternative_tlds, check_domain, list_tlds, and suggest_domains. This predictability makes the set easy to navigate and understand.
With 4 tools, this server is well-scoped for domain checking and suggestion tasks. Each tool earns its place by covering distinct aspects of the domain, avoiding bloat while providing essential functionality for the domain management domain.
The toolset covers core domain availability and suggestion workflows effectively, including checking single domains, alternatives, TLD listings, and keyword-based suggestions. A minor gap might be the lack of tools for domain registration or management post-availability check, but the available tools handle the primary discovery phase well.
Maintenance
Related MCP Connectors
AI-powered domain & business name generation with real-time availability checks.
AI-powered domain & business name generation with real-time availability checks.
Confidence-scored domain availability checking for AI agents via CanYouGrab.it
Watch domains and forecast when they drop; check a name's domain, handles, and trademark.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables checking domain name availability using WHOIS lookups and DNS resolution. Supports both single and batch domain checking with detailed availability analysis.-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to check domain availability across multiple TLDs with real-time pricing, brainstorm creative domain names, analyze domains for brandability and SEO potential, and search for domains by price and category without CAPTCHAs.5 npm3MIT
- AlicenseAqualityDmaintenanceEnables AI agents to check domain availability, perform batch domain lookups, and generate intelligent domain name suggestions across multiple TLDs using WHOIS integration.3MIT
- AlicenseNot gradedqualityNot gradedmaintenanceEnables 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-