mcp-domain-checker

jsgv/mcp-domain-checker

3.2

If you are the rightful owner of mcp-domain-checker and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Domain Checker is a server that provides domain availability checking functionality using the Namecheap API.

Tools
1
Resources
0
Prompts
0

MCP Domain Checker

A Model Context Protocol (MCP) server that provides domain availability checking functionality using the Namecheap API.

Features

  • Check domain registration status for multiple domains (up to 50 per request)
  • Built as an MCP server for integration with Claude and other MCP-compatible clients
  • RESTful HTTP interface with Server-Sent Events (SSE) support
  • Premium domain pricing information and ICANN fees
  • Docker support for easy deployment

Installation

Prerequisites

  • Go 1.24+
  • Docker (optional)
  • Namecheap API credentials (required for functionality)

Building from Source

# Clone the repository
git clone https://github.com/jsgv/mcp-domain-checker.git
cd mcp-domain-checker

# Build the application
go build cmd/app/*.go

# Or use just
just build

Using Docker

# Build Docker image
docker build -t jsgv/mcp-domain-checker:latest .

# Run container
docker run --rm -p 8080:8080 \
  -e NAMECHEAP_API_USER="your-api-username" \
  -e NAMECHEAP_API_KEY="your-api-key" \
  -e NAMECHEAP_USERNAME="your-username" \
  -e NAMECHEAP_CLIENT_IP="your-whitelisted-ip" \
  jsgv/mcp-domain-checker

Configuration

Environment Variables

The following environment variables are required for Namecheap API integration:

NAMECHEAP_API_USER="your-api-username"
NAMECHEAP_API_KEY="your-api-key" 
NAMECHEAP_USERNAME="your-username"
NAMECHEAP_CLIENT_IP="your-whitelisted-ip"
NAMECHEAP_ENDPOINT="https://api.namecheap.com/xml.response"  # or sandbox URL

Optional configuration:

LOG_LEVEL="info"          # debug, info, warn, error, fatal, panic
LOG_FORMAT="production"   # production or development

Usage

Running the Server

# Run directly
go run cmd/app/*.go

# Or using just
just run

# Using Docker
just run-docker

The server will start on http://localhost:8080 with the MCP SSE endpoint available at http://localhost:8080/sse.

MCP Tool Usage

The server provides a single MCP tool:

  • Tool Name: check_availability_namecheap
  • Description: Check domain availability using Namecheap API
  • Parameters:
    • domains (array of strings): List of domains to check (e.g., ["example.com", "example.org"])
    • Maximum 50 domains per request

Testing with MCP Inspector

# List available tools
just tools-list

# Or manually
npx @modelcontextprotocol/inspector --cli http://localhost:8080/sse --transport http --method tools/list

Development

Commands

# Build the project
just build

# Run the project
just run

# Lint the code
just lint

# Build Docker image
just build-docker

# Run Docker container
just run-docker

Project Structure

ā”œā”€ā”€ cmd/app/          # Application entry point
│   ā”œā”€ā”€ config.go     # Configuration and logging setup
│   └── main.go       # Main application server
ā”œā”€ā”€ internal/pkg/     # Internal packages
│   ā”œā”€ā”€ namecheap/    # Namecheap API client implementation
│   │   └── namecheap.go      # API service and types
│   └── tools/        # MCP tool implementations
│       ā”œā”€ā”€ domain_checker.go      # Factory for domain tools
│       └── namecheap_handler.go   # MCP handler for Namecheap tool
ā”œā”€ā”€ Dockerfile        # Docker configuration
ā”œā”€ā”€ justfile          # Task runner configuration
ā”œā”€ā”€ go.mod            # Go module definition
ā”œā”€ā”€ LICENSE           # MIT License
└── README.md         # This file

License

This project is licensed under the MIT License.