johnsorrentino/mcp-namecheap
If you are the rightful owner of mcp-namecheap and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The MCP Namecheap Server is a Model Context Protocol server that integrates with the Namecheap API to manage domain operations efficiently.
MCP Namecheap Server
A Model Context Protocol (MCP) server that provides integration with the Namecheap API for domain management operations.
Features
I only added the functionality I use and I don't think it's a good idea to allow an agent to register domains. The complete set of Namecheap API methods can be found here.
- Get Domain List: Retrieve all domains in your Namecheap account
- Check Domain Availability: Check if domains are available for registration
- Set Custom DNS: Configure custom nameservers for your domains
- Configurable Tools: Enable/disable specific tools to control what's available in Cursor
Prerequisites
Before using this MCP server, you need:
-
Namecheap Account Requirements:
- At least 20 domains under your account
- $50 on your account balance
- $50 spent within the last 2 years
-
API Access Setup:
- Enable API access in your Namecheap dashboard
- Obtain your API key
- Whitelist your IP address
Installation
- Clone this repository:
git clone <repository-url>
cd mcp-namecheap
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Create a .env file with your Namecheap credentials:
NAMECHEAP_API_USER=your_api_username
NAMECHEAP_API_KEY=your_api_key
NAMECHEAP_USERNAME=your_namecheap_username
NAMECHEAP_CLIENT_IP=your_whitelisted_ip_address
Or reference the mcp-config.json file which shows all available environment variables.
Tool Configuration
You can enable/disable specific tools by setting these environment variables:
NAMECHEAP_ENABLE_GETLIST- Enable domain list retrieval (default: true)NAMECHEAP_ENABLE_CHECK- Enable domain availability checking (default: true)NAMECHEAP_ENABLE_SETCUSTOM- Enable custom DNS configuration (default: true)
Set any of these to false to disable the corresponding tool.
Sandbox Mode
For testing, you can use Namecheap's sandbox environment:
NAMECHEAP_SANDBOX=true
Usage
Running the Server
npm start
Available Tools
1. Get Domain List (namecheap_get_domain_list)
Returns a list of all domains in your Namecheap account with details including expiration dates, auto-renewal status, and DNS configuration.
Parameters: None
2. Check Domain Availability (namecheap_check_domain_availability)
Checks the availability of one or more domains for registration.
Parameters:
domains(array): Array of domain names to check (e.g., ["example.com", "test.org"])
3. Set Custom DNS (namecheap_set_custom_dns)
Sets custom nameservers for a domain. Note that services like URL forwarding, email forwarding, and dynamic DNS will not work with custom nameservers.
Parameters:
domain(string): The domain name (e.g., "example.com")nameservers(array): Array of nameserver addresses (1-12 nameservers)
MCP Client Configuration
To use this server with an MCP client like Cursor, add the following to your MCP configuration:
{
"mcpServers": {
"namecheap": {
"command": "node",
"args": ["path/to/mcp-namecheap/dist/index.js"],
"env": {
"NAMECHEAP_API_USER": "your_api_username",
"NAMECHEAP_API_KEY": "your_api_key",
"NAMECHEAP_USERNAME": "your_namecheap_username",
"NAMECHEAP_CLIENT_IP": "your_whitelisted_ip_address"
}
}
}
}
Development
Scripts
npm run build- Build the TypeScript projectnpm run dev- Run in development mode with tsxnpm start- Run the built project
Project Structure
src/
├── index.ts # Main MCP server implementation
├── namecheap-client.ts # Namecheap API client
└── types.ts # TypeScript type definitions
API Reference
This server uses the following Namecheap API endpoints:
namecheap.domains.getList- Retrieve domain listnamecheap.domains.check- Check domain availabilitynamecheap.domains.dns.setCustom- Set custom nameservers
For more information, see the Namecheap API documentation.
Error Handling
The server includes comprehensive error handling for:
- Missing or invalid API credentials
- Network connectivity issues
- Namecheap API errors
- Invalid parameters
- Disabled tools
Security Considerations
- Store API credentials securely
- Keep your IP whitelist updated
- Use environment variables for sensitive configuration
- Consider using the sandbox environment for testing
License
MIT