Namecheap API — domains, DNS, contacts, registrar lock, SSL listing, and pricing.
MCP server for the Namecheap API — manage domains, DNS, contacts, registrar locks, and view SSL certificates and pricing, straight from your AI assistant.
Built for Claude Code and any MCP-compatible AI tool.
Part of The SEO Engine toolkit by Rex Jones — AI-powered SEO and social media tooling for agencies and businesses.
This server ships read + safe-write tools only. It can read your account and change DNS / nameserver / forwarding / lock configuration (all reversible), but it deliberately excludes anything that spends money or is irreversible: no domain registration, renewal, reactivation, transfers, SSL purchase/activation, add-funds, or account/address mutation. You can fork and add those if you need them.
1011150).{
"mcpServers": {
"namecheap": {
"command": "npx",
"args": ["-y", "namecheap-api-mcp"],
"env": {
"NAMECHEAP_API_USER": "your_username",
"NAMECHEAP_API_KEY": "your_api_key",
"NAMECHEAP_CLIENT_IP": "your.whitelisted.ip.v4"
}
}
}
}
git clone https://github.com/lanternrow/namecheap-api-mcp.git
cd namecheap-api-mcp
npm install
npm run build
Then point your client at node /path/to/namecheap-api-mcp/dist/index.js. For local credentials you can keep a gitignored .env (copy .env.example) and launch with Node's native flag: node --env-file=.env dist/index.js.
| Variable | Required | Description |
|---|---|---|
NAMECHEAP_API_USER | Yes | Your Namecheap account username (API user). |
NAMECHEAP_API_KEY | Yes | API key from Profile → Tools → API Access. Secret. |
NAMECHEAP_CLIENT_IP | Yes | The whitelisted public IPv4 of this machine. |
NAMECHEAP_USERNAME | No | Defaults to NAMECHEAP_API_USER; differs only for reseller sub-users. |
NAMECHEAP_ENVIRONMENT | No | production (default) or sandbox. |
| Tool | Description |
|---|---|
check_connection | Verify credentials + IP whitelist; returns the account balance summary. |
list_domains | List domains with expiry, lock, auto-renew, and WhoisGuard status (paged/searchable). |
get_domain_info | Detailed info for one domain. |
check_domains | Check availability + premium pricing (up to 50 at once). |
get_domain_contacts | Registrant / Tech / Admin / AuxBilling contacts. |
get_registrar_lock | Registrar lock status. |
get_dns_hosts | All DNS host records for a domain. |
get_nameservers | Nameservers and whether Namecheap DNS is in use. |
get_email_forwarding | Email forwarding rules. |
get_pricing | Namecheap pricing for a product type (cache the results). |
list_ssl_certificates | SSL certificates with type, host, status, expiry. |
| Tool | Description |
|---|---|
set_dns_hosts | Replace all host records (destructive: omitted records are deleted — send the full set). |
set_default_dns | Switch a domain to Namecheap's default nameservers. |
set_custom_nameservers | Point a domain at custom nameservers. |
set_email_forwarding | Set email forwarding rules. |
set_registrar_lock | Lock / unlock a domain at the registrar. |
set_dns_hosts is destructive by API design. Namecheap's setHosts deletes every record not included in the call. Always read current records first (get_dns_hosts), merge your change, then send the complete set.Status="ERROR"), not the HTTP status. This server parses that and throws a real error with the Namecheap error number + message.MIT © Rex Jones
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y namecheap-api-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-lanternrow-namecheap-api-mcp": {
"command": "npx",
"args": [
"-y",
"namecheap-api-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencenamecheap-api-mcpnpmio.github.lanternrow/namecheap-api-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.