Namecheap

Gestiona dominios usando la API de Namecheap.

Documentación

Servidor MCP Namecheap

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona integración con la API de Namecheap para operaciones de gestión de dominios.

Características

Solo agregué la funcionalidad que uso y no creo que sea una buena idea permitir que un agente registre dominios. El conjunto completo de métodos de la API de Namecheap se puede encontrar aquí.

  • Obtener lista de dominios: Recupera todos los dominios en tu cuenta de Namecheap
  • Comprobar disponibilidad de dominios: Comprueba si los dominios están disponibles para su registro
  • Configurar DNS personalizado: Configura servidores de nombres personalizados para tus dominios
  • Herramientas configurables: Habilita/deshabilita herramientas específicas para controlar lo que está disponible en Cursor

Requisitos previos

Antes de usar este servidor MCP, necesitas:

  1. Requisitos de la cuenta de Namecheap:

    • Al menos 20 dominios en tu cuenta
    • $50 en el saldo de tu cuenta
    • $50 gastados en los últimos 2 años
  2. Configuración de acceso a la API:

    • Habilita el acceso a la API en tu panel de Namecheap
    • Obtén tu clave de API
    • Agrega tu dirección IP a la lista blanca

Instalación

  1. Clona este repositorio:
git clone <repository-url>
cd mcp-namecheap
  1. Instala las dependencias:
npm install
  1. Compila el proyecto:
npm run build

Configuración

Crea un archivo .env con tus credenciales de Namecheap:

NAMECHEAP_API_USER=your_api_username
NAMECHEAP_API_KEY=your_api_key
NAMECHEAP_USERNAME=your_namecheap_username
NAMECHEAP_CLIENT_IP=your_whitelisted_ip_address

O consulta el archivo mcp-config.json que muestra todas las variables de entorno disponibles.

Configuración de herramientas

Puedes habilitar/deshabilitar herramientas específicas configurando estas variables de entorno:

  • NAMECHEAP_ENABLE_GETLIST - Habilita la recuperación de la lista de dominios (predeterminado: true)
  • NAMECHEAP_ENABLE_CHECK - Habilita la comprobación de disponibilidad de dominios (predeterminado: true)
  • NAMECHEAP_ENABLE_SETCUSTOM - Habilita la configuración de DNS personalizado (predeterminado: true)

Establece cualquiera de estos en false para deshabilitar la herramienta correspondiente.

Modo de prueba (sandbox)

Para pruebas, puedes usar el entorno de prueba de Namecheap:

NAMECHEAP_SANDBOX=true

Uso

Ejecutar el servidor

npm start

Herramientas disponibles

1. Obtener lista de dominios (namecheap_get_domain_list)

Devuelve una lista de todos los dominios en tu cuenta de Namecheap con detalles que incluyen fechas de vencimiento, estado de renovación automática y configuración de DNS.

Parámetros: Ninguno

2. Comprobar disponibilidad de dominios (namecheap_check_domain_availability)

Comprueba la disponibilidad de uno o más dominios para su registro.

Parámetros:

  • domains (array): Matriz de nombres de dominio a comprobar (por ejemplo, ["example.com", "test.org"])

3. Configurar DNS personalizado (namecheap_set_custom_dns)

Configura servidores de nombres personalizados para un dominio. Ten en cuenta que servicios como el reenvío de URL, el reenvío de correo electrónico y el DNS dinámico no funcionarán con servidores de nombres personalizados.

Parámetros:

  • domain (string): El nombre de dominio (por ejemplo, "example.com")
  • nameservers (array): Matriz de direcciones de servidores de nombres (1-12 servidores de nombres)

Configuración del cliente MCP

Para usar este servidor con un cliente MCP como Cursor, agrega lo siguiente a tu configuración de MCP:

{
  "mcpServers": {
    "namecheap": {
      "command": "node",
      "args": ["path/to/mcp-namecheap/dist/index.js"],
      "env": {
        "NAMECHEAP_API_USER": "your_api_username",
        "NAMECHEAP_API_KEY": "your_api_key",
        "NAMECHEAP_USERNAME": "your_namecheap_username",
        "NAMECHEAP_CLIENT_IP": "your_whitelisted_ip_address"
      }
    }
  }
}

Desarrollo

Scripts

  • npm run build - Compila el proyecto TypeScript
  • npm run dev - Ejecuta en modo de desarrollo con tsx
  • npm start - Ejecuta el proyecto compilado

Estructura del proyecto

src/
├── index.ts          # Main MCP server implementation
├── namecheap-client.ts # Namecheap API client
└── types.ts          # TypeScript type definitions

Referencia de la API

Este servidor utiliza los siguientes endpoints de la API de Namecheap:

  • namecheap.domains.getList - Recuperar lista de dominios
  • namecheap.domains.check - Comprobar disponibilidad de dominios
  • namecheap.domains.dns.setCustom - Configurar servidores de nombres personalizados

Para más información, consulta la documentación de la API de Namecheap.

Manejo de errores

El servidor incluye un manejo integral de errores para:

  • Credenciales de API faltantes o inválidas
  • Problemas de conectividad de red
  • Errores de la API de Namecheap
  • Parámetros inválidos
  • Herramientas deshabilitadas

Consideraciones de seguridad

  • Almacena las credenciales de API de forma segura
  • Mantén actualizada tu lista blanca de IP
  • Usa variables de entorno para configuración sensible
  • Considera usar el entorno de prueba para pruebas

Licencia

MIT