namecheap-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AWS_REGION | No | AWS region for Route 53. | |
| AWS_PROFILE | No | Route 53 goes through the aws CLI and uses whatever credentials it already resolves — profiles, SSO, assumed roles. | |
| GODADDY_PAT | No | One GoDaddy account. A v3 personal access token from developer.godaddy.com/personal-access-token, sent as Authorization: Bearer. Not the v1 sso-key pair. | |
| GODADDY_ACCOUNTS | No | Several accounts, as JSON keyed by label: {"work":{"pat":"..."},"personal":{"pat":"...","environment":"ote-godaddy"}}. Takes precedence over GODADDY_PAT. | |
| NAMECHEAP_API_KEY | Yes | API key from the same screen. Kept out of all logs. | |
| NAMECHEAP_SANDBOX | No | true → use the sandbox API (separate sandbox credentials). | false |
| NAMECHEAP_API_USER | Yes | API username (Profile → Tools → API Access). | |
| NAMECHEAP_USERNAME | No | Account the commands act on; usually identical. | = NAMECHEAP_API_USER |
| GODADDY_ENVIRONMENT | No | One of godaddy, ote-godaddy, test-godaddy, dev-godaddy. | godaddy |
| NAMECHEAP_CLIENT_IP | No | Public IPv4 the requests come from. Auto-detected via api.ipify.org if unset — but the address still has to be whitelisted. | auto-detect |
| NAMECHEAP_TIMEOUT_MS | No | Per-request network timeout (clamped 1000–120000). | 30000 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_domain_availabilityA | Check whether one or more domains are available to register. Read-only. Availability is a question about the registry, not about your account, so this does NOT route by who holds the domain — it asks the first configured provider that can answer, or the one you name in Namecheap answers a whole batch in one call and returns four separate premium prices. GoDaddy's v3 check-availability takes one domain per request, so a batch of ten is ten requests against its quota, and its availability endpoint keeps a higher account threshold than the DNS API. |
| get_domain_pricingA | Get Namecheap's list price for one or more TLDs and an action (register / renew / transfer / reactivate). Distils users.getPricing: returns the per-year price tiers for each requested TLD. Note these are standard (non-premium) TLD prices — for premium domains use check_domain_availability, which returns premium pricing. Read-only. |
| list_domainsA | List the domains in your Namecheap account with paging and filtering. Each entry summarises expiry, lock, auto-renew, WhoisGuard and whether the domain uses Namecheap DNS. Use get_domain_info for a full single-domain view. Read-only. |
| get_domain_infoA | Get a coherent single view of one domain: registration + expiry dates, registrar-lock status, WhoisGuard/privacy state, and DNS provider / nameservers. Combines domains.getInfo with the registrar-lock lookup so you see everything in one call. Read-only. |
| register_domainA | Register (buy) a new domain. THIS SPENDS MONEY from the Namecheap account balance and is not reversible. You MUST pass confirm=true to proceed; without it the tool returns a dry-run describing the charge. Requires a full registrant contact (used for all contact roles unless overridden). ccTLDs frequently need extended attributes (e.g. .us needs RegistrantNexus + RegistrantPurpose; .eu, .ca, .co.uk, .de, .asia have their own) — pass them via extendedAttributes as raw Namecheap field names. Check availability/pricing first with check_domain_availability and confirm funds with get_account_balance. |
| renew_domainA | Renew an existing, non-expired domain, extending its expiry. THIS SPENDS MONEY and needs confirm=true. If the domain has already EXPIRED, use reactivate_domain instead. |
| reactivate_domainA | Reactivate a domain that has EXPIRED but is still within Namecheap's redemption/grace window. THIS SPENDS MONEY (reactivation can cost more than a normal renewal) and needs confirm=true. For domains that have not yet expired, use renew_domain. |
| set_domain_lockA | Set the registrar lock on a domain. Locking protects against unauthorised transfers; you must UNLOCK before transferring a domain away. Idempotent — setting the state it is already in is a no-op. |
| get_dns_recordsA | List every DNS record for a domain. The provider is chosen by which one holds the domain — Namecheap, GoDaddy or Route 53 — unless you pass On Route 53 a record SET with several values comes back as several rows sharing one |
| modify_dns_recordsA | Change DNS records WITHOUT wiping the zone. This is the tool you almost always want. It reads the current records, applies your granular add/update/delete operations in memory, and writes the full merged set back — untouched records are preserved. Operations: add (name+type+address); update (matches name+type, optionally matchAddress to disambiguate; only provided fields change); delete (matches name+type, optionally matchAddress). If an operation would delete the LAST record, pass allowEmptyZone=true. Returns a before/after diff. Read |
| replace_all_dns_recordsA | DANGER: overwrite the domain's complete record set with exactly the records you provide. Every existing record NOT in your list is permanently deleted, MX mail records included. Prefer modify_dns_records for everyday edits. Requires confirm=true; an empty record set additionally requires allowEmptyZone=true. Consider calling get_dns_records first to capture the current zone for rollback. On Route 53 the zone's own SOA and apex NS are left alone regardless — Route 53 creates both with the hosted zone and rejects deleting either. |
| get_nameserversA | Show the nameservers for a domain. On Route 53 this is the hosted zone's apex NS set, which is what you give the registrar. GoDaddy's v3 API cannot read nameservers back, only replace them. Read-only. |
| set_nameserversA | Point a domain at nameservers. On Namecheap, mode=default resets it to Namecheap BasicDNS. IMPORTANT: moving nameservers moves DNS authority, so records held at the old provider stop taking effect. Route 53 cannot do this — a Route 53 zone's nameservers are set wherever the domain is registered. |
| get_email_forwardingA | List the email-forwarding rules for a domain (mailbox -> destination). Email forwarding only works while the domain uses Namecheap DNS. Read-only. |
| set_email_forwardingA | Configure email forwarding. Like DNS setHosts, Namecheap's setEmailForwarding is REPLACE-ALL, so this tool defaults to a safe merge: it reads existing rules, upserts the ones you provide (matched by mailbox), removes any you list in |
| transfer_domainA | Initiate an inbound domain transfer to Namecheap. THIS SPENDS MONEY (a transfer usually includes one year of renewal) and needs confirm=true. Before transferring you must, at the losing registrar: unlock the domain and obtain its EPP/auth code (pass it as eppCode; required for most gTLDs like .com/.net/.org). The domain must generally be >60 days old and not within 60 days of a prior transfer. Track progress with get_transfer_status. |
| get_transfer_statusA | Look up the status of an in-progress or completed inbound transfer by its TransferID (returned from transfer_domain). Maps Namecheap's numeric StatusID to a plain-English meaning and a coarse phase (pending / action_required / completed / canceled). Read-only. |
| get_account_balanceA | Get the Namecheap account's funds: available balance (spendable now), account balance, and the funds required for upcoming auto-renewals within 90 days. Check this before register/renew/transfer — an empty balance is the usual cause of 'order creation failed'. Read-only. |
| get_domain_privacyA | List the WhoisGuard/domain-privacy subscriptions on the account, including which domain each is allotted to, its status (ENABLED/DISABLED) and expiry. Use set_domain_privacy to toggle a domain's privacy. Read-only. |
| set_domain_privacyA | Turn WhoisGuard/domain privacy on or off for a domain. The tool resolves the domain's WhoisGuard subscription ID automatically. Enabling requires a forwardedToEmail (where WHOIS contact mail is relayed). Idempotent. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fledgeling-co/namecheap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server