Hetzner Cloud MCP Server — Cloud API + SSH management (60 tools)
Servidor MCP de Hetzner Cloud
El único MCP de Hetzner con gestión de servidores SSH. API + SSH en una sola herramienta.
Gestione su infraestructura de Hetzner Cloud desde Claude.ai, Claude Desktop, VS Code, Cursor o cualquier cliente compatible con MCP. Dos capas de gestión le brindan un control total:
Capa 1 — API de Hetzner Cloud: Energía del servidor, métricas, instantáneas, copias de seguridad, cortafuegos, zonas y registros DNS, modo rescate, reconstrucción y reescalado del servidor. Funciona incluso cuando el sistema operativo del servidor no responde.
Capa 2 — SSH: Servicios, registros, Nginx, MySQL, supervisor, cron, UFW, monitorización de disco/memoria/CPU. Herramientas reales de administración de sistemas, no solo envoltorios de API.
60 herramientas. Configuración dinámica de múltiples servidores. Autoalojado y de código abierto.
¿Por qué este MCP?
Todos los MCP de Hetzner existentes solo envuelven la API de Cloud. Este añade una capa completa de gestión SSH: las herramientas que realmente necesita al gestionar servidores en producción. Dos capas, 60 herramientas, autoalojado.
Característica | Incluido |
API de Cloud (energía del servidor, métricas, instantáneas, copias de seguridad, cortafuegos, rescate, reconstrucción) | Sí |
Gestión SSH (servicios, registros, Nginx, MySQL, salud del sistema) | Sí |
Gestión DNS (zonas, registros, CRUD) | Sí |
Multi-servidor (de 1 a N servidores desde una única instancia) | Sí |
Protecciones contra acciones destructivas (se requiere confirmación para operaciones peligrosas) | Sí |
Transporte | SSE + HTTP con streaming |
Lenguaje | PHP 8.1+ |
Inicio rápido
Requisitos previos
PHP 8.1+ con la extensión
curlComposer
Un token de API de Hetzner Cloud (Consola > Seguridad > Tokens de API)
Una clave SSH para acceso al servidor (herramientas de la Capa 2)
1. Clonar e instalar
git clone https://github.com/wbf-solutions/hetzner-cloud-mcp.git
cd hetzner-cloud-mcp
composer install2. Configurar
cp .env.example .envEdite .env con sus detalles:
HETZNER_API_TOKEN=your-cloud-api-token
SERVERS=web
SERVER_WEB_ID=12345678
SERVER_WEB_IP=1.2.3.4
SERVER_WEB_SSH_USER=root
SSH_KEY_PATH=/root/.ssh/id_ed25519
MCP_API_KEY=your-random-key # generate with: openssl rand -hex 323. Configurar la clave SSH
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N ""
ssh-copy-id -i /root/.ssh/id_ed25519.pub root@1.2.3.44. Configurar Nginx
server {
listen 443 ssl;
server_name mcp.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/mcp.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mcp.yourdomain.com/privkey.pem;
root /var/www/hetzner-cloud-mcp;
index api.php;
location / {
try_files $uri /api.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffering off;
fastcgi_read_timeout 600;
}
}5. Conectar a Claude.ai
Configuración > Conectores > Añadir conector personalizado:
Nombre: Hetzner Cloud MCP
URL:
https://mcp.yourdomain.com/api.php
Si configuró MCP_API_KEY, pásela a través de la URL: ?mcp=sse&key=YOUR_MCP_API_KEY
o configure la clave API en la Configuración avanzada del conector como un token Bearer.
Herramientas disponibles (60)
Capa 1 — API de Hetzner Cloud (25 herramientas)
Herramienta | Descripción | Destructiva |
| Detalles del servidor: estado, IP, tipo, centro de datos | |
| Métricas de CPU, disco o red | |
| Encender | |
| Apagado forzado | Confirmar |
| Apagado ACPI elegante | |
| Reinicio suave | |
| Reinicio forzado | Confirmar |
| Restablecer contraseña de root | Confirmar |
| Habilitar modo rescate | |
| Deshabilitar modo rescate | |
| Reconstruir desde imagen (borra datos) | Confirmar |
| Reescalar plan del servidor | Confirmar |
| Crear instantánea | |
| Listar instantáneas | |
| Eliminar instantánea | Confirmar |
| Habilitar copias de seguridad (+20% coste) | |
| Deshabilitar copias de seguridad | Confirmar |
| Listar cortafuegos | |
| Obtener reglas de cortafuegos | |
| Reemplazar todas las reglas de cortafuegos | Confirmar |
| Aplicar cortafuegos al servidor | |
| Eliminar cortafuegos del servidor | |
| Listar todos los servidores | |
| Listar claves SSH | |
| Comprobar estado de acción asíncrona |
DNS (8 herramientas, requiere HETZNER_DNS_TOKEN)
Herramienta | Descripción | Destructiva |
| Listar zonas DNS | |
| Obtener detalles de zona | |
| Crear zona DNS | |
| Eliminar zona DNS | Confirmar |
| Listar registros en zona | |
| Añadir registro DNS | |
| Actualizar registro DNS | |
| Eliminar registro DNS | Confirmar |
Capa 2 — SSH (27 herramientas)
Herramienta | Descripción |
| Comprobar estado del servicio systemd |
| Iniciar un servicio |
| Detener un servicio |
| Reiniciar un servicio |
| Listar servicios en ejecución |
| Espacio en disco ( |
| Uso de RAM ( |
| Carga de CPU + procesos principales |
| Procesos principales por memoria/CPU |
| Tiempo de actividad del servidor |
| Probar sintaxis de configuración de Nginx |
| Recargar Nginx (prueba primero) |
| Listar sitios habilitados |
| Ver configuración de sitio Nginx |
| Seguir registro de errores de Nginx |
| Seguir registro de acceso de Nginx |
| Seguir registro del sistema |
| Ver diario de systemd |
| Ver registros de supervisor |
| Listar bases de datos MySQL |
| Mostrar procesos MySQL |
| Consulta SQL de solo lectura |
| Listar entradas de crontab |
| Estados de programas de supervisor |
| Reiniciar programa de supervisor |
| Comprobar cortafuegos UFW |
| Ejecutar comando (comandos peligrosos bloqueados) |
Autenticación
Elija el modo que se ajuste a su despliegue:
Modo | Configuración | Ideal para |
Sin autenticación |
| Detrás de VPN/cortafuegos, desarrollo local |
Clave API |
| Autoalojado, usuario único/equipo |
Clave API + OAuth | Establecer variables | Multi-usuario, Directorio de Conectores |
Clave API (recomendado para autoalojamiento)
Genere una clave y establézcala en .env:
openssl rand -hex 32Los clientes pasan la clave como ?key=XXX o Authorization: Bearer XXX.
OAuth 2.1 (opcional)
Para despliegues avanzados o envío al Directorio de Conectores de Anthropic, puede añadir introspección de token OAuth 2.1 junto con la clave API estática. Esto requiere un servidor de autorización OAuth externo con un punto final de introspección (RFC 7662). Consulte .env.example para las variables OAUTH_*.
Seguridad
Autenticación: Clave API mediante parámetro de consulta o cabecera
Authorization: Bearer. Introspección OAuth 2.1 opcional. Validación segura contra ataques de temporización.Protecciones contra acciones destructivas: Todas las operaciones peligrosas requieren
confirm=true.Anotaciones de herramientas: Todas las herramientas incluyen
readOnlyHintydestructiveHintsegún la especificación MCP.Seguridad SSH: 29 patrones de comandos bloqueados (rm -rf, dd, mkfs, curl|sh, passwd, fdisk, etc.).
SQL de solo lectura: Solo se permiten SELECT, SHOW, DESCRIBE, EXPLAIN.
Limitación de tasa: Por IP con
flock()atómico.
Configuración
Defina cualquier número de servidores en .env:
SERVERS=web,staging
SERVER_WEB_ID=12345678
SERVER_WEB_IP=1.2.3.4
SERVER_WEB_SSH_USER=root
SERVER_WEB_ALIASES=production,prod
SERVER_STAGING_ID=87654321
SERVER_STAGING_IP=5.6.7.8
DEFAULT_SERVER=webSSH y DNS son opcionales: las herramientas se deshabilitan automáticamente cuando no están configuradas.
Consulte .env.example para la referencia completa.
Configuración del cliente
Cliente | Conexión |
Claude.ai | Configuración > Conectores > Añadir conector personalizado con URL SSE |
Claude Desktop | Añadir a |
Claude Code |
|
VS Code / Cursor | Extensión de VS Code — próximamente |
Despliegue
Funciona con VitoDeploy o configuración manual de Nginx + PHP-FPM. Requiere fastcgi_buffering off para streaming SSE. Consulte la guía completa de despliegue en la sección Inicio rápido.
Contribución
Consulte CONTRIBUTING.md. Vulnerabilidades de seguridad: labs@wbf.solutions.
Enlaces
Página de inicio: hetzner-cloud-mcp.wbf.tools
Creado por: WBF Solutions
Contacto: labs@wbf.solutions
Licencia
MIT — WBF Solutions | labs@wbf.solutions
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/wbf-solutions/hetzner-cloud-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server