About namecheap-api-mcp
namecheap-api-mcp is an MCP server for managing Namecheap domains and related settings through the Namecheap API. It offers account and domain lookups plus reversible DNS, nameserver, forwarding, and registrar-lock changes, while excluding paid or irreversible actions.
Key features
- 01Inspect domains, contacts, and status
- 02Check domain availability and pricing
- 03Read DNS, nameservers, and forwarding rules
- 04List SSL certificates
- 05Safely change configuration settings
Use cases
- 01Review domain expiry and auto-renewal status
- 02Check domain availability and pricing
- 03Update DNS records or nameservers
- 04Configure email forwarding or registrar locks
MCP support
The MCP server exposes Namecheap account and domain lookup tools, as well as configuration changes that do not incur charges, to MCP clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y namecheap-api-mcpNAMECHEAP_API_USERNamecheap account username (API user)NAMECHEAP_API_KEYSecretNamecheap API key from Profile -> Tools -> API AccessNAMECHEAP_CLIENT_IPWhitelisted public IPv4 of the machine running this serverNAMECHEAP_USERNAMEUsername a command runs on behalf of. Defaults to NAMECHEAP_API_USER; differs only for reseller sub-users.NAMECHEAP_ENVIRONMENTAPI environment: "production" (default) or "sandbox"Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
16Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEnamecheap-api-mcp
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.
Safety model
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.
Quick start
1. Enable Namecheap API access
- Go to Profile → Tools → Namecheap API Access and toggle it ON. (Production access requires account eligibility: 20+ domains, OR a $50+ balance, OR $50+ lifetime spend.)
- Copy your API key.
- Whitelist the public IPv4 of the machine that will run this server (the API rejects any non-whitelisted IP with error
1011150).
2. Configure your MCP client
{
"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"
}
}
}
}
Option: clone and build
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.
Environment variables
| 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. |
Tools
Read
| 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. |
Safe writes (configuration only — no charges)
| 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. |
Notes & gotchas
set_dns_hostsis destructive by API design. Namecheap'ssetHostsdeletes every record not included in the call. Always read current records first (get_dns_hosts), merge your change, then send the complete set.- Errors return HTTP 200. The Namecheap API signals failure in the XML body (
Status="ERROR"), not the HTTP status. This server parses that and throws a real error with the Namecheap error number + message. - IPv4 only for the whitelisted client IP.
Security
- Credentials are read from environment variables only — never hard-coded, logged, or written to disk by this server.
- The API key travels in the query string (Namecheap's design); this server never logs the request URL or key, and error messages surface only the Namecheap error number and text.
License
MIT © Rex Jones
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.