MCP Domain Availability Server
Integrates with the GoDaddy OTE (Operational Test Environment) API to check domain availability and pricing. Provides tools for checking individual domains or bulk domain availability across multiple TLD suffixes, with support for fast and full check modes.
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., "@MCP Domain Availability Server check if myawesomesite.com and myawesomesite.org are 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 Server
A Model Context Protocol (MCP) server for checking domain availability and pricing using the GoDaddy OTE (Operational Test Environment) API.
Features
Check domain availability and pricing via GoDaddy OTE sandbox
Support for multiple TLD suffixes
Fast and Full check modes
Support for bulk domain checking
Rate limiting (60 calls per minute)
Normalized pricing in dollars with 2 decimal places
Consistent field naming and data structures
Period normalization (stored in months, displayed in years)
Related MCP server: Domain Checker
Installation
Using uv (Recommended)
# Install dependencies
uv add "mcp[cli]"
# Run with MCP Inspector for testing
DOMAIN_API_KEY="your-key:your-secret" mcp dev domain_availability/server.pyManual Installation
pip install -e .Configuration
Environment Variables
DOMAIN_API_KEY: Your GoDaddy OTE API credentials in format"key:secret"(required)
Note: The server uses GoDaddy OTE (sandbox) API by default: https://api.ote-godaddy.com
GoDaddy OTE Setup
Sign up for GoDaddy Developer account
Get OTE (sandbox) API credentials
Set the environment variable:
DOMAIN_API_KEY="your-ote-key:your-ote-secret"
MCP Configuration
Add this to your MCP client configuration (e.g., Claude Desktop's claude_desktop_config.json):
{
"mcpServers": {
"domain-availability": {
"command": "uv",
"args": ["run", "mcp-domain-availability"],
"env": {
"DOMAIN_API_KEY": "your-ote-key:your-ote-secret"
}
}
}
}Usage
Development & Testing
# Start MCP Inspector for testing
DOMAIN_API_KEY="your-key:your-secret" mcp dev domain_availability/server.pyThis will start the MCP Inspector at http://localhost:6274 for interactive testing.
Tools Available
The server provides one tool: check_domain_availability
Parameters
Option 1: Direct domain list
domains: Array of domain names to check (e.g.,["example.com", "example.org"])
Option 2: Base name with TLD suffixes
base_name: Base domain name (e.g.,"example")tld_suffixes: Array of TLD suffixes (e.g.,[".com", ".org", ".net", ".io"])
Optional
checkType:"FAST"or"FULL"(default:"FAST")FAST: Optimized for speedFULL: Optimized for accuracy
Examples
Check specific domains
{
"domains": ["example.com", "example.org", "example.net"],
"checkType": "FAST"
}Check base name with multiple TLDs
{
"base_name": "myawesomesite",
"tld_suffixes": [".com", ".org", ".net", ".io", ".dev", ".app"],
"checkType": "FULL"
}Response Format
Text Response:
Domain Availability Check Results:
✅ AVAILABLE DOMAINS:
• example.com - $12.99 USD for 1 year (Definitive)
• example.org - $8.99 USD for 2 years (Preliminary)
❌ UNAVAILABLE DOMAINS:
• example.net - Not available - Domain already registeredJSON Response (normalized fields):
{
"domains": [
{
"domain_name": "example.com",
"is_available": true,
"price_dollars": 12.99,
"currency_code": "USD",
"is_definitive": true,
"registration_period_months": 12
},
{
"domain_name": "example.net",
"is_available": false,
"price_dollars": 0.00,
"currency_code": "USD",
"is_definitive": true,
"registration_period_months": 12,
"error_message": "Domain already registered"
}
],
"errors": []
}Data Normalization
Price Normalization
Input: GoDaddy API returns prices in micro-units (1/1,000,000 of currency)
Output: Converted to dollars with 2 decimal places
Example:
12000000micro-units →$12.00 USD
Period Normalization
Storage: Period stored in months for consistency
Display: Converted to years for user-friendly display
Example:
12 months→"1 year",24 months→"2 years"
Field Naming
Consistent, explicit field names:
domain_name(instead ofdomain)is_available(instead ofavailable)price_dollars(instead ofprice)currency_code(instead ofcurrency)is_definitive(instead ofdefinitive)registration_period_months(instead ofperiod)error_message(instead oferror)
API Integration
This server integrates with GoDaddy OTE API:
Base URL:
https://api.ote-godaddy.comEndpoint:
GET /v1/domains/available?domain={domain}Headers:
Authorization: sso-key {key}:{secret}Rate Limit: 60 requests per minute
Authentication Format
Authorization: sso-key your-key:your-secretError Handling
The server handles various error conditions:
Missing API key
Invalid domains
API rate limits (429) - with retry guidance
Partial responses (203)
Authentication errors (401, 403)
Server errors (500)
Network timeouts
Development
Setup Development Environment
# Clone and setup
git clone <repository>
cd mcp-free-domain
uv add "mcp[cli]"
# Run tests
pytest
# Start development server
DOMAIN_API_KEY="test-key:test-secret" mcp dev domain_availability/server.pyTesting with MCP Inspector
Set your OTE credentials:
DOMAIN_API_KEY="your-key:your-secret"Run:
mcp dev domain_availability/server.pyOpen browser at
http://localhost:6274Use the session token displayed in terminal if prompted
Test the
check_domain_availabilitytool
License
MIT License
Support
For issues and questions, please create an issue in the repository.
Available Tools
1 toolcheck_domain_availabilityA
Check domain availability and pricing for multiple domains with different TLD suffixes. Rate limited: 60 calls per minute.
Args: domains: List of domain names to check (e.g., ['example.com', 'example.org']) checkType: Optimize for time (FAST) or accuracy (FULL) base_name: Base domain name to check with multiple TLD suffixes (e.g., 'example') tld_suffixes: List of TLD suffixes to check (e.g., ['.com', '.org', '.net'])
Returns: Formatted string with domain availability results
Inputs: domains, base_name, checkType, tld_suffixes. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
Only one tool exists, so there is no ambiguity whatsoever. The agent cannot confuse it with any other tool.
With a single tool, naming consistency is not applicable, but the name 'check_domain_availability' is descriptive and follows a clear verb_noun pattern.
The server has only one tool for checking domain availability. This is minimal for its stated purpose; users might expect additional tools like WHOIS lookup or domain suggestions, making the count feel thin.
The single tool covers domain availability and pricing checks across multiple domains and TLDs, which is the core functionality. Minor gaps like WHOIS or registration are missing but not essential for the stated purpose.
Maintenance
Related MCP Connectors
Check if domain names are really available (live RDAP), with prices, brand scores and resale value.
Check domain name availability via RDAP. Single, bulk, and smart suggestions. No API key needed.
Check domain availability and live registry pricing, or search for available names.
Domain availability over RDAP, watchlists with daily or hourly checks, change history and alerts.
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.-
- FlicenseNot gradedqualityDmaintenanceEnables checking domain availability using WHOIS and DNS resolution, with support for single and batch queries.29-
- AlicenseAqualityDmaintenanceEnables checking domain name availability for single or multiple domains using WHOIS and DNS verification.120 PyPI21MIT
- AlicenseNot gradedqualityDmaintenanceEnables bulk domain registration status checking for over 200 TLDs using WHOIS and DNS fallback.13 npmMIT