Esta versión mejorada del servidor MCP de OpenProvider incluye correcciones críticas y nuevas funcionalidades que no estaban disponibles en la versión original.
- Actualización de Nameservers: La función
update_nameserversahora funciona correctamente usando el ID del dominio y el endpoint correcto de la API v1beta - Manejo de errores mejorado: Mejor gestión de respuestas de error de la API
- Tipos TypeScript: Corrección completa de tipos para mejor compatibilidad
- get_domain: Obtener información detallada de un dominio específico
- get_expiring_domains: Listar dominios que expiran en los próximos X días
- renew_domain: Renovar un dominio por un período específico
- transfer_domain: Transferir un dominio a OpenProvider
- create_dns_zone: Crear una zona DNS para un dominio
- list_dns_records: Listar todos los registros DNS de un dominio
- create_dns_record: Crear registros DNS (A, AAAA, CNAME, MX, TXT, etc.)
- update_dns_record: Actualizar registros DNS existentes
- delete_dns_record: Eliminar registros DNS
cd /root/mcp-servers/openprovider-mcp-improved
npm install
npm run build:enhancedCrea un archivo .env con tus credenciales:
OPENPROVIDER_USERNAME=tu_usuario
OPENPROVIDER_PASSWORD=tu_contraseña
OPENPROVIDER_API_URL=https://api.openprovider.eu/v1betaAñade esto a tu configuración de Claude MCP:
{
"mcpServers": {
"openprovider-enhanced": {
"command": "node",
"args": ["/root/mcp-servers/openprovider-mcp-improved/dist/openprovider-enhanced.js"],
"env": {
"OPENPROVIDER_USERNAME": "soltia",
"OPENPROVIDER_PASSWORD": "Cambiame2020@"
}
}
}
}login- Autenticarse con OpenProvider
list_domains- Listar todos los dominiosget_domain- Obtener información de un dominiocheck_domain- Verificar disponibilidad y preciosupdate_nameservers- CORREGIDO - Actualizar nameserversget_expiring_domains- Dominios próximos a expirarrenew_domain- Renovar dominiotransfer_domain- Transferir dominio
create_dns_zone- Crear zona DNSlist_dns_records- Listar registros DNScreate_dns_record- Crear registro DNSupdate_dns_record- Actualizar registro DNSdelete_dns_record- Eliminar registro DNS
// Ahora funciona correctamente
await updateNameservers({
domain: "ejemplo.com",
nameservers: [
"ns1.cloudflare.com",
"ns2.cloudflare.com"
]
});await getExpiringDomains({
days: 60 // Dominios que expiran en los próximos 60 días
});await createDnsRecord({
domain: "ejemplo.com",
type: "A",
name: "www",
value: "192.168.1.1",
ttl: 3600
});La versión original intentaba actualizar nameservers con un endpoint incorrecto o no implementado.
Solución aplicada:
- Primero obtiene el ID del dominio mediante búsqueda
- Usa el endpoint
/v1beta/domains/{id}con el ID numérico - Formatea correctamente los nameservers con
seq_nr - Maneja errores con método alternativo si es necesario
async updateNameservers(domainName: string, nameservers: string[]) {
// Obtener ID del dominio primero
const domainInfo = await this.getDomain(domainName);
const domainId = domainInfo.data.id;
// Actualizar usando el ID
const response = await this.api.put(`/domains/${domainId}`, {
id: domainId,
name_servers: nameservers.map((ns, index) => ({
name: ns,
seq_nr: index,
ip: null,
ip6: null,
}))
});
}| Función | Estado | Notas |
|---|---|---|
| login | ✅ Funcional | Autenticación exitosa |
| list_domains | ✅ Funcional | Lista todos los dominios |
| get_domain | ✅ Funcional | Obtiene info por nombre |
| update_nameservers | ✅ CORREGIDO | Usa ID del dominio |
| check_domain | ✅ Funcional | Verifica disponibilidad |
| get_expiring_domains | ✅ Funcional | Filtra por fecha |
| renew_domain | ⏳ Por probar | Requiere dominio de prueba |
| transfer_domain | ⏳ Por probar | Requiere auth code |
| create_dns_zone | ⏳ Por probar | Requiere dominio con DNS |
| list_dns_records | ⏳ Por probar | Requiere zona DNS |
Si estás usando la versión original del MCP, puedes migrar fácilmente:
- Instala esta versión mejorada
- Actualiza tu configuración de Claude para apuntar al nuevo binario
- Las credenciales son las mismas
- Todas las funciones originales siguen funcionando
- Las nuevas funciones están disponibles inmediatamente
- ✅ Corregido:
update_nameserversahora funciona correctamente - ✅ Añadido: 10+ nuevas funciones para gestión completa
- ✅ Mejorado: Manejo de errores y respuestas de la API
- ✅ Corregido: Tipos TypeScript para mejor compatibilidad
- ✅ Añadido: Soporte para gestión DNS completa
- ✅ Añadido: Funciones de transferencia y renovación
Este es un fork mejorado del proyecto original de @hichamdotpage. Las mejoras incluyen:
- Corrección de la función update_nameservers
- Implementación de funciones faltantes
- Mejor manejo de errores
- Documentación completa
MIT - Mismo que el proyecto original
Si encuentras problemas con esta versión mejorada:
- Verifica que las credenciales sean correctas
- Asegúrate de usar la API v1beta
- Revisa los logs para mensajes de error específicos
- El token de autenticación expira después de un tiempo, re-autentícate si es necesario
Nota: Esta versión ha sido probada específicamente con la migración de dominios a Cloudflare, actualizando correctamente los nameservers en OpenProvider.