Skip to main content
Glama
ringo380
by ringo380

namecheap-mcp

A Model Context Protocol server that wraps the Namecheap API, giving AI assistants the ability to manage domains, DNS records, SSL certificates, and account information directly from your conversations.

Features

  • Domains — check availability, register, list, renew, reactivate, manage contacts and privacy

  • DNS — read and write host records (A, AAAA, CNAME, MX, TXT, NS), safe single-record updates, set custom or default nameservers

  • Email Forwarding — get and set per-domain forwarding rules

  • SSL — list, purchase, activate, reissue certificates; full DCV support (email, HTTP, CNAME)

  • Transfers — initiate inbound transfers, track status, list all transfers

  • Account — check balances, query pricing

  • TLD Browser — search available TLDs with filtering by name or registerability

  • Interactive Setup — configure credentials via an in-editor form or a standalone CLI tool

Related MCP server: MCP Namecheap Server

Requirements

Installation

See INSTALL.md for full setup instructions.

Quick start (npx — no install needed)

{
  "mcpServers": {
    "namecheap": {
      "command": "npx",
      "args": ["-y", "namecheap-mcp"]
    }
  }
}

Global install

npm install -g namecheap-mcp
{
  "mcpServers": {
    "namecheap": {
      "command": "namecheap-mcp"
    }
  }
}

Setup

Credentials are stored globally at ~/.config/namecheap-mcp/.env and are picked up automatically by any project using this server — you only need to configure once per machine.

Option 1: In-editor form (Claude Code ≥ 2.1.76)

Call the setup tool from within Claude Code. A form will appear prompting for your credentials. Your public IP is auto-detected as a default.

Tip: Submit the form promptly — the request will time out if left idle. If it times out, just call setup again.

Option 2: Interactive CLI

namecheap-mcp-setup

Option 3: Environment variables

Variable

Description

NAMECHEAP_API_USER

Your Namecheap username

NAMECHEAP_API_KEY

API key (Account → Profile → Tools → API Access)

NAMECHEAP_CLIENT_IP

Whitelisted public IP address

NAMECHEAP_USERNAME

Account username if different from API user (optional)

NAMECHEAP_SANDBOX

true to use the sandbox API (optional)

Why isn't there an "Authenticate" button in /mcp?

Claude Code's native Authenticate button in the /mcp dialog is part of the MCP 2025-06-18 HTTP+OAuth handshake, which only applies to HTTP-transport servers. namecheap-mcp uses stdio transport, so the button never appears for it. The supported auth flows are the setup elicitation tool (Option 1 above), the namecheap-mcp-setup CLI (Option 2), or the /namecheap-mcp:setup slash command.

To help you tell at a glance whether the server is actually authenticated, namecheap-mcp hides its full tool suite until credentials validate. If you see only setup and auth_status in /mcp, the server is not yet authenticated — run setup. Call auth_status anytime to see a full diagnostic (error code, whitelisted IP, config file path, and a recommended next action).

Tools

Domains

Tool

Description

setup

Configure credentials interactively

check_domains

Check availability of one or more domains

register_domain

Purchase a new domain

list_domains

List all domains in your account (paginated, filterable)

get_domain_info

Full details for a single domain

get_domain_contacts

Read WHOIS contact info (registrant, tech, admin, billing)

set_domain_contacts

Update WHOIS contact info

renew_domain

Renew a domain for 1–10 years

reactivate_domain

Reactivate a recently expired domain

get_tld_list

Browse supported TLDs; filter by name or registerability

set_domain_autorenew

Enable or disable auto-renewal

set_registrar_lock

Lock or unlock domain transfer

set_whoisguard

Enable or disable WHOIS privacy

renew_whoisguard

Renew WHOIS privacy protection

DNS

Tool

Description

get_dns_hosts

Read all DNS records for a domain (also writes a local backup snapshot)

update_dns_record

Safely add, update, or remove a single DNS record (recommended)

set_dns_hosts

Replace all DNS records — gated behind confirmReplaceAll + expectedDeletions

set_dns_default

Revert to Namecheap's default nameservers

set_dns_custom

Delegate DNS to external nameservers (e.g. Cloudflare)

get_email_forwarding

Read email forwarding rules

set_email_forwarding

Replace email forwarding rules — gated behind confirmReplaceAll

list_dns_snapshots

List local DNS zone backups for a domain

restore_dns_snapshot

Restore a zone from a local backup snapshot

⚠️ DNS zone safety. The underlying Namecheap setHosts API is a full-replacement operation — any record not in the call is deleted. Use update_dns_record for single-record adds/updates/deletes. Never hand-call set_dns_hosts to add a record. Every read and every write produces a local snapshot at ~/.config/namecheap-mcp/snapshots/<domain>__<timestamp>-<rand>.json (up to 50 per domain), so list_dns_snapshots + restore_dns_snapshot can recover from any accidental damage.

SSL

Tool

Description

list_ssl_certs

List SSL certificates in your account

create_ssl_cert

Purchase a new SSL certificate

get_ssl_info

Get details for a specific certificate

activate_ssl

Activate a purchased certificate with a CSR

reissue_ssl

Reissue a certificate with a new CSR

Transfers

Tool

Description

transfer_domain

Initiate an inbound domain transfer (requires EPP code)

get_transfer_status

Check the status of a pending transfer

list_transfers

List all transfers, filterable by status

Account

Tool

Description

get_balances

Account balance and withdrawable amount

get_pricing

Pricing for domains, SSL, or Whois Guard

auth_status

Diagnose authentication: whether credentials loaded, whether the API accepted them, and the last error with an actionable hint

API Notes

  • DNS tools accept a full domain name like example.com — SLD/TLD splitting is handled internally

  • Error 1011102 means your NAMECHEAP_CLIENT_IP is not whitelisted in the Namecheap dashboard

  • Set NAMECHEAP_SANDBOX=true to use api.sandbox.namecheap.com for testing

Development

git clone https://github.com/ringo380/namecheap-mcp
cd namecheap-mcp
npm install
npm run dev        # tsx watch — no build needed
npm run build      # compile TypeScript
npm run type-check # type-check without emitting

After making changes: npm run build && npm install -g . to update the global install.

License

MIT

Available Tools

2 tools
auth_statusA

Report the current authentication status of namecheap-mcp: whether credentials are loaded, whether they were accepted by the Namecheap API, where each credential came from (shell env vs config file), and the last error if any. Call this when tools are failing to diagnose whether the problem is a missing config, an unwhitelisted IP, a stale shell export shadowing the config file, or an invalid API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that the tool reports status without modifying state, and details the specific information it returns. However, it does not explicitly state that it is read-only or that it has no side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the purpose, and every sentence adds value. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with zero parameters and no output schema, the description adequately explains what the tool returns (specific status details) and when to use it. It is complete for its complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to add meaning. Schema coverage is 100%, baseline score is 4. The description provides no parameter info, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reports authentication status, including specific details like credentials loaded, acceptance, source, and errors. It uses a specific verb-resource combination ('Report the current authentication status') and distinguishes from sibling 'setup' which likely handles configuration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Call this when tools are failing to diagnose...' and lists specific diagnostic scenarios (missing config, unwhitelisted IP, stale shell export, invalid API key). It provides clear context for when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

setupA

Configure namecheap-mcp with your Namecheap API credentials. Credentials are saved to ~/.config/namecheap-mcp/.env on your local machine. Run this if other tools report that the server is not configured.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses that credentials are saved to a local file, a key side effect. However, it does not detail whether validation occurs or network calls are made, which are relevant for a setup tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. The first sentence states purpose and action, the second provides usage guidance. Highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters, no output schema, and simple setup functionality, the description covers all necessary context: what it does, where it saves, and when to run. Complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description cannot add parameter info. Schema coverage is 100%, and baseline for 0 parameters is 4. The description correctly omits parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool configures namecheap-mcp with API credentials and specifies it saves to ~/.config/namecheap-mcp/.env. The purpose is distinct from sibling auth_status, which checks authentication status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Run this if other tools report that the server is not configured', providing clear context for when to use. It implies not to use if already configured, but does not explicitly exclude other scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.5.0
    • First observedauth_status
    • First observedsetup

TDQS

A4/5.0

Scored across 2 tools

Disambiguation5/5

auth_status and setup have completely distinct purposes: one checks authentication status, the other configures credentials. No overlap whatsoever.

Naming Consistency5/5

Both tool names follow the snake_case convention consistently, with clear verbs (auth, setup) and nouns (status).

Tool Count1/5

With only 2 tools, the server is severely under-scoped for a Namecheap API. It lacks essential domain and DNS management tools, making it nearly unusable for actual tasks.

Completeness1/5

The tool surface covers only authentication setup and status checking, missing all core Namecheap operations like listing domains, managing DNS records, or purchasing services.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers