This skill should be used when the user asks to "list my domains", "check domain DNS", "update DNS records", "point domain to Cloudflare", "change nameservers", "transfer nameservers", or mentions Namecheap domain management. Provides guidance for managing domains and DNS through the Namecheap API.
From namecheapnpx claudepluginhub grailautomation/claude-plugins --plugin namecheapThis skill uses the workspace's default tool permissions.
Guidance for managing domains and DNS records through the Namecheap API using the namecheap MCP server tools.
The namecheap MCP server provides these tools:
| Tool | Purpose |
|---|---|
list-domains | List all domains in the Namecheap account |
get-domain-info | Get domain details (status, expiry, nameservers) |
get-dns-hosts | List DNS host records for a domain |
set-dns-host | Add or update DNS records (replaces all records) |
delete-dns-host | Remove a specific DNS record |
get-nameservers | Get current nameservers for a domain |
set-nameservers | Change to custom nameservers (e.g., Cloudflare) |
set-default-nameservers | Reset to Namecheap default nameservers |
To see all domains in the account:
Use list-domains to get all domains with expiry dates and status
To get detailed information about a specific domain:
Use get-domain-info with the domain name to see status, expiry, lock status, and current nameservers
To see current DNS configuration:
Use get-dns-hosts with the domain name to list all host records (A, CNAME, MX, TXT, etc.)
Critical: The set-dns-host tool replaces ALL existing records. Always:
get-dns-hostsExample workflow to add a new record:
get-dns-hosts for the domainset-dns-host with array containing:
Record types supported: A, AAAA, CNAME, MX, TXT, URL, URL301, FRAME
To point a domain to Cloudflare for DNS management:
get-domain-info to see current nameserversset-nameservers with:
nameservers: ["ns1.cloudflare.com", "ns2.cloudflare.com"]Note: After changing nameservers to Cloudflare, manage DNS records in Cloudflare, not Namecheap.
For domains using Cloudflare Pages hosting:
@ → your-project.pages.devTo return a domain to Namecheap's nameservers:
Use set-default-nameservers with the domain name
After reset, manage DNS records using Namecheap tools again.
When using set-dns-host, each record needs:
| Field | Required | Description |
|---|---|---|
name | Yes | Host name: @ for root, www, mail, subdomain, etc. |
type | Yes | Record type: A, AAAA, CNAME, MX, TXT, URL, URL301, FRAME |
address | Yes | Record value: IP address, hostname, or text content |
ttl | No | Time-to-live in seconds (default: 1800) |
mxPref | For MX | Priority value for MX records |
A record (root domain):
{ "name": "@", "type": "A", "address": "192.0.2.1" }
CNAME record (www subdomain):
{ "name": "www", "type": "CNAME", "address": "example.com" }
MX record (email):
{ "name": "@", "type": "MX", "address": "mail.example.com", "mxPref": 10 }
TXT record (verification):
{ "name": "@", "type": "TXT", "address": "v=spf1 include:_spf.google.com ~all" }
dig or online DNS checkers to verify propagationThe MCP server requires these environment variables:
| Variable | Description |
|---|---|
NAMECHEAP_API_USER | API username (usually same as account username) |
NAMECHEAP_API_KEY | API key from Namecheap account |
NAMECHEAP_USERNAME | Account username (optional, defaults to API_USER) |
Set these before starting Claude Code:
export NAMECHEAP_API_USER="username"
export NAMECHEAP_API_KEY="api-key"
export NAMECHEAP_USERNAME="username"