Domain Availability Checker 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 Availability Checker MCPcheck if example.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.
Domain Availability Checker MCP
An MCP (Model Context Protocol) server that checks domain availability for registration using RDAP APIs.
Supported TLDs
Currently supported:
.com- via Verisign RDAP API.net- via Verisign RDAP API
The architecture is extensible - see Adding a New TLD below.
Related MCP server: Domain Checker
Installation
Usage with Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"domain-checker": {
"command": "npx",
"args": ["-y", "github:gotchykid/domain-availability-checker-mcp"]
}
}
}From Source
# Clone the repository
git clone https://github.com/gotchykid/domain-availability-checker-mcp.git
cd domain-availability-checker-mcp
# Install dependencies
npm install
# Build
npm run buildThen add to Claude Desktop config:
{
"mcpServers": {
"domain-checker": {
"command": "node",
"args": ["/path/to/domain-availability-checker-mcp/build/index.js"]
}
}
}Tools
check_domain
Check if a domain is available for registration.
Parameters:
domain(string): Domain name to check (e.g., "example.com" or "example.net")
Returns:
Domain availability status
If registered: registrar, creation date, expiration date, nameservers, and status
Development
# Watch mode for development
npm run watch
# Test with MCP Inspector
npm run inspectorAdding a New TLD
To add support for a new TLD (e.g., .org):
Create a new file
src/checkers/org.tsImplement the
DomainCheckerinterfaceExport the checker as
default
Example:
import { DomainChecker, DomainCheckResult } from "../types.js";
import {
RdapResponse,
parseRdapResponse,
createAvailableResult,
} from "./rdap-utils.js";
const RDAP_BASE_URL = "https://rdap.publicinterestregistry.org/rdap/domain/";
const TLD = "org";
const orgChecker: DomainChecker = {
tld: TLD,
async check(domain: string): Promise<DomainCheckResult> {
const normalizedDomain =
domain.toLowerCase().replace(/\.org$/, "") + ".org";
try {
const response = await fetch(`${RDAP_BASE_URL}${normalizedDomain}`);
if (response.status === 404) {
return createAvailableResult(normalizedDomain, TLD);
}
if (!response.ok) {
throw new Error(`RDAP request failed with status ${response.status}`);
}
const data: RdapResponse = await response.json();
return parseRdapResponse(data, normalizedDomain, TLD);
} catch (error) {
if (error instanceof Error && error.message.includes("404")) {
return createAvailableResult(normalizedDomain, TLD);
}
throw error;
}
},
};
export default orgChecker;The registry auto-discovers checker files on startup - no other changes needed.
License
MIT
Available Tools
1 toolcheck_domainA
Check if a domain is available for registration. Supported TLDs: .com, .net
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Domain name to check (e.g., 'example.com' or 'example.net'). Supported TLDs: .com, .net |
TDQS
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 states the core check behavior and supported TLDs, but does not disclose what the response looks like, whether any network lookup occurs, whether the check is real-time, or any edge cases like premium/restricted domains. This leaves important behavioral context undisclosed.
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 sentence that front-loads the action and object, then immediately lists TLD constraints. No filler or repetition exists.
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?
For a single-parameter, no-annotation tool with no output schema, the description is minimally viable: it states the action, the input scope, and a key constraint. However, it does not explain the result format or semantics of 'unavailable', so agents cannot fully anticipate the tool's response.
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%, and the schema already documents the domain parameter with an example and supported TLDs. The tool description essentially repeats that limitation without adding new parameter-level meaning, so the baseline of 3 applies.
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 uses a specific verb ('check') followed by a clear resource ('whether a domain is available for registration') and states the supported TLDs. This leaves no ambiguity about what the tool does, even without sibling context.
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 the tool is for domain availability checks but provides no guidance about when to use it versus alternatives, nor any exclusions or prerequisites. Since there are no siblings, the lack of explicit routing is acceptable but the guidance remains only implicit.
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.
1 tool update
v1.0.0- First observed
check_domain
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of confusion between tools. The tool's purpose is entirely clear and distinct.
The single tool name follows a clear verb_noun convention ('check_domain'). With only one tool, naming consistency is inherently maintained.
A single tool is on the borderline for a server. While it serves the narrow scope of checking domain availability, the surface feels thin with no supporting tools for related operations like bulk checks or WHOIS lookups.
For the stated purpose of checking domain availability, the tool fully covers the core operation. There are no missing lifecycle steps or dead ends for this narrow domain.
Maintenance
Related MCP Connectors
Check domain name availability via RDAP. Single, bulk, and smart suggestions. No API key needed.
Free, keyless domain registration lookup via RDAP: registered, available, registrar, expiration.
Domain availability over RDAP, watchlists with daily checks, change history and email alerts.
Domain search MCP: .com names verified available live via Verisign RDAP - not AI guess lists
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 gradedqualityFmaintenanceCheck domain name availability via RDAP. Single lookups, bulk checks (up to 50), and smart name suggestions with registration links. No API key needed.MIT
- FlicenseNot gradedqualityDmaintenanceEnables checking domain availability using WHOIS and DNS resolution, with support for single and batch queries.28-
- AlicenseNot gradedqualityDmaintenanceEnables checking domain name availability for .com, .ai, and .net TLDs using WHOIS, DNS, and RDAP lookups.MIT