Don Dominio

Servidor MCP no oficial que expone la API de revendedor de DonDominio / MrDomain como herramientas invocables por LLM

Documentación

Servidor MCP de DonDominio

Un servidor MCP no oficial que expone toda la API de revendedor de DonDominio / MrDomain como 106 herramientas invocables por LLM. Gestiona dominios, hosting, certificados SSL y usuarios externos desde Claude, Cursor, Cline, Codex, Hermes o cualquier cliente compatible con MCP.

No está afiliado con DonDominio / MrDomain. Úsalo bajo tu propio riesgo y respeta la política de uso.


Inicio rápido

git clone https://github.com/ec-dev0/don-dominio-mcp
cd don-dominio-mcp
npm install && npm run build
cp .env.example .env        # set DONDOMINIO_API_USER / DONDOMINIO_API_PASS
node dist/index.js          # stdio mode

Instalación desde GitHub (npx)

Apunta cualquier cliente MCP al repositorio; npx lo clona, compila y ejecuta por ti:

{
  "mcpServers": {
    "don-dominio": {
      "command": "npx",
      "args": ["-y", "github:ec-dev0/don-dominio-mcp"],
      "env": {
        "DONDOMINIO_API_USER": "your_api_user",
        "DONDOMINIO_API_PASS": "your_api_password"
      }
    }
  }
}

Cuando se inicia mediante un cliente a través de npx, los archivos .env no se leen — pasa las credenciales solo a través del bloque env de la configuración.

Requisitos

  • Node.js ≥ 20.
  • Una cuenta de DonDominio / MrDomain con acceso a la API habilitado (solicítalo aquí).
  • La IP pública del llamante debe estar en la lista blanca del panel de DonDominio. Comprueba la IP que DonDominio ve con dondominio_tool_hello o dondominio_account_info.

Configuración

VariableValor predeterminadoDescripción
DONDOMINIO_API_USER(obligatorio)Nombre de usuario de la API de DonDominio.
DONDOMINIO_API_PASS(obligatorio)Contraseña de la API de DonDominio.
TRANSPORTstdiostdio o http.
PORT3000Puerto HTTP (solo con TRANSPORT=http).
ALLOWED_HOSTSlocalhost,127.0.0.1,[::1]Hosts permitidos (protección contra rebinding de DNS).
ALLOWED_ORIGINSlocalhost,127.0.0.1Cabeceras Origin permitidas.
MCP_AUTH_TOKEN(sin definir)Si se define, /mcp requiere Authorization: Bearer <token>.
MCP_MAX_CONCURRENT3Máximo de solicitudes concurrentes por IP (→ 429). Coincide con la política de uso de DonDominio (3 conexiones por IP).
DEBUG1 para habilitarSalida de diagnóstico a stderr.

Uso

# stdio (default) – for local agents
DONDOMINIO_API_USER=... DONDOMINIO_API_PASS=... node dist/index.js

# HTTP – for remote agents (http://localhost:3000/mcp)
TRANSPORT=http PORT=3000 DONDOMINIO_API_USER=... DONDOMINIO_API_PASS=... node dist/index.js

Inspector (depurador interactivo)

npm run inspect   # npx @modelcontextprotocol/inspector dist/index.js

Abre una interfaz web para explorar las 106 herramientas, sus esquemas y probarlas sin riesgo.

Herramientas disponibles

MóduloHerramientasQué te permite hacer
tool/6Hola, IDN/Punycode, sugerencia de dominios, tablas ISO, DIG, comprobación de zona.
account/3Información y saldo, promociones, catálogo de TLD con precios.
domain/24Comprobar, registrar, transferir, renovar, NS, contactos, DNSSEC…
contact/4Plantillas de contacto WHOIS reutilizables.
service/47Hosting: FTP, bases de datos, subdominios, redirecciones, correo, DNS.
ssl/13CSR, productos, ciclo de vida del certificado, validación, SAN.
user/9Usuarios externos del panel y permisos por dominio.

Ejemplos

  • "¿Está disponible example.es?"dondominio_domain_check
  • "Convierte año.es a Punycode."dondominio_tool_idn_converter
  • "Lista mis dominios .com."dondominio_domain_list
  • "Crea el buzón info@mydomain.com en el servicio srv-mydomain."dondominio_service_mail_create

No hagas bucles con dondominio_domain_check o dondominio_tool_domain_suggests; DonDominio bloquea cuentas por comprobaciones masivas de disponibilidad.

Seguridad

  • Todas las llamadas se realizan por HTTPS a https://simple-api.dondominio.net/.
  • Transporte HTTP reforzado: validación de Host/Origin, autenticación Bearer opcional y un límite de concurrencia por IP.
  • Las herramientas declaran anotaciones honestas para el LLM (readOnlyHint, destructiveHint, idempotentHint, openWorldHint).

Solución de problemas

SíntomaCausa / solución
Error 100 al llamar a una herramientaCredenciales no válidas o IP no incluida en la lista blanca.
Error 12Tu IP no está en la lista blanca de DonDominio.
El cliente se desconecta al iniciarSin registros en stdout por defecto; usa DEBUG=1 para diagnósticos en stderr.
HTTP 401Falta Authorization: Bearer <MCP_AUTH_TOKEN>.
HTTP 429Demasiadas solicitudes concurrentes desde una IP; espera o aumenta MCP_MAX_CONCURRENT.

Desarrollo

npm install
npm run dev         # tsx watch (hot reload)
npm run build       # tsc → dist/
npm run inspect     # MCP Inspector
npm run clean       # rm -rf dist

La estructura del código y las convenciones están en AGENTS.md.

Enlaces

Licencia

MIT — consulta LICENSE.