Odel
namecheap api mcp

namecheap api mcp

Local
@lanternrowJavaScriptUpdated 2mo ago

Namecheap API — domains, DNS, contacts, registrar lock, SSL listing, and pricing.

namecheap-api-mcp

npm version License: MIT

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

  1. 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.)
  2. Copy your API key.
  3. 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

VariableRequiredDescription
NAMECHEAP_API_USERYesYour Namecheap account username (API user).
NAMECHEAP_API_KEYYesAPI key from Profile → Tools → API Access. Secret.
NAMECHEAP_CLIENT_IPYesThe whitelisted public IPv4 of this machine.
NAMECHEAP_USERNAMENoDefaults to NAMECHEAP_API_USER; differs only for reseller sub-users.
NAMECHEAP_ENVIRONMENTNoproduction (default) or sandbox.

Tools

Read

ToolDescription
check_connectionVerify credentials + IP whitelist; returns the account balance summary.
list_domainsList domains with expiry, lock, auto-renew, and WhoisGuard status (paged/searchable).
get_domain_infoDetailed info for one domain.
check_domainsCheck availability + premium pricing (up to 50 at once).
get_domain_contactsRegistrant / Tech / Admin / AuxBilling contacts.
get_registrar_lockRegistrar lock status.
get_dns_hostsAll DNS host records for a domain.
get_nameserversNameservers and whether Namecheap DNS is in use.
get_email_forwardingEmail forwarding rules.
get_pricingNamecheap pricing for a product type (cache the results).
list_ssl_certificatesSSL certificates with type, host, status, expiry.

Safe writes (configuration only — no charges)

ToolDescription
set_dns_hostsReplace all host records (destructive: omitted records are deleted — send the full set).
set_default_dnsSwitch a domain to Namecheap's default nameservers.
set_custom_nameserversPoint a domain at custom nameservers.
set_email_forwardingSet email forwarding rules.
set_registrar_lockLock / unlock a domain at the registrar.

Notes & gotchas

  • 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.
  • 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