Domain Checker MCP Server
Checks domain name availability using the WhoisJSON API, returning registration details for registered domains.
README
Domain Checker MCP Server
A Model Context Protocol (MCP) server that checks domain name availability using the WhoisJSON API.
Features
- Check if domain names are available for registration
- Get detailed registration information for registered domains
- Easy-to-use HTTP API for testing
- Built with TypeScript for type safety and readability
API Limits
- Rate Limit: 20 requests per minute
- Monthly Limit: 1000 requests per month
Setup
Initial Setup
- Install dependencies:
npm install
- Create a
.envfile with your WhoisJSON API key:
WHOISJSON_API_KEY=your-api-key-here
PORT=6005
- Build the project:
npm run build
Usage
Option 1: Testing with HTTP Server
The HTTP mode is for testing only - it runs a REST API on port 6005 so you can verify everything works.
Start the HTTP server:
npm run start:http
Test it:
# Health check
curl http://localhost:6005/health
# Check a domain
curl http://localhost:6005/check/example.com
Stop the server when done testing (Ctrl+C).
Option 2: Using with Claude Desktop (MCP Mode)
This is the main use case - Claude Desktop will automatically start and manage the server.
Important: MCP mode uses stdio (not HTTP/ports), so there are no port conflicts. Claude starts the server automatically when it launches.
Steps to Configure:
- Build the project (if not already done):
npm run build
- Add to Claude Desktop config:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Mac:
{
"mcpServers": {
"domain-checker": {
"command": "node",
"args": [
"/FULL/PATH/TO/domain-checker-mcp/dist/index.js"
],
"env": {
"WHOISJSON_API_KEY": "your-api-key-here"
}
}
}
}
-
Replace the paths:
- Change
/FULL/PATH/TO/domain-checker-mcpto your actual project path - Change
your-api-key-hereto your WhoisJSON API key
- Change
-
Restart Claude Desktop
-
Test it: Ask Claude "Is example.com available?"
Moving to a Different Machine
To use this MCP server on another machine:
- Copy the project to the new machine
- Install dependencies:
npm install - Build:
npm run build - Update Claude Desktop config on the new machine with the correct path and API key
- Restart Claude Desktop
How It Works: HTTP vs MCP Mode
- HTTP Mode (
npm run start:http): Uses port 6005, for testing with curl/browser - MCP Mode (
npm startor run by Claude): Uses stdio (no ports), for AI integration
These are completely separate - MCP mode does NOT use HTTP or ports, so they never conflict. Claude Desktop automatically starts the server in MCP mode when it launches.
MCP Tool: check_domain
Input:
domain(string, required): The domain name to check (e.g., "example.com", "mysite.org")
Output:
If domain is available:
{
"available": true,
"registered": false,
"domain": "myawesomesite123.com"
}
If domain is registered:
{
"available": false,
"registered": true,
"domain": "EXAMPLE.COM",
"created": "1995-08-14 04:00:00",
"expires": "2026-08-13 04:00:00",
"registrar": "RESERVED-Internet Assigned Numbers Authority",
"nameservers": ["elliott.ns.cloudflare.com", "hera.ns.cloudflare.com"],
"daysUntilExpiry": 125
}
Code Structure
src/index.ts- Main server code with clear, documented functions.env- Environment configuration (API key, port)tsconfig.json- TypeScript configuration
Development
Watch mode (auto-restart on changes):
npm run dev
Build:
npm run build
How It Works
- checkDomainAvailability() - Queries the WhoisJSON API with the domain name
- createMCPServer() - Sets up the MCP server with the
check_domaintool - createExpressServer() - Creates an HTTP server for easy testing
- main() - Entry point that starts either HTTP or MCP mode based on arguments
The code is written to be easy to read and understand, with clear function names, comments, and TypeScript types.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.