Labsco
MCP SERVER

Namecheap

by johnsorrentino

List your Namecheap domains, check availability and set custom nameservers — registration deliberately left out.

DNS, Domains & CDN
Summary
Three domain operations, and the risky fourth is missing on purpose.

Leaving registration out is a design decision rather than an omission, and the per-tool switches let you go further — turn off `namecheap_set_custom_dns` and the agent can look but not touch. The real gate is upstream: Namecheap's API eligibility rules mean most personal accounts cannot use this at all.

What it is

An MCP server over the Namecheap API covering three domain operations. The author kept it to what he uses and left registration out on purpose, on the view that an agent should not be buying domains.

What you get
  • `namecheap_get_domain_list` — every domain on the account with expiry dates, auto-renewal status and DNS configuration; takes no parameters
  • `namecheap_check_domain_availability` — pass an array of `domains` and get availability for each
  • `namecheap_set_custom_dns` — set 1 to 12 nameservers on a `domain`; note that URL forwarding, email forwarding and dynamic DNS stop working once custom nameservers are in place
  • Each tool can be switched off independently with `NAMECHEAP_ENABLE_GETLIST`, `NAMECHEAP_ENABLE_CHECK` and `NAMECHEAP_ENABLE_SETCUSTOM`
  • `NAMECHEAP_SANDBOX=true` points everything at Namecheap's sandbox for testing
Requirements

Namecheap API access, which the registrar only grants to accounts holding at least 20 domains, with $50 on the balance and $50 spent in the last 2 years — check that before anything else. Then enable API access in the dashboard, get your key, and whitelist your IP. Four variables are required: `NAMECHEAP_API_USER`, `NAMECHEAP_API_KEY`, `NAMECHEAP_USERNAME` and `NAMECHEAP_CLIENT_IP`, which must be the whitelisted address. Clone, `npm install`, `npm run build`, then register `node dist/index.js`. Package version 1.0.0. MIT.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary