Hetzner Cloud MCP Server — Cloud API + SSH management (60 tools)
Hetzner Cloud MCP Server
Das einzige Hetzner-MCP mit SSH-Serververwaltung. API + SSH in einem Tool.
Verwalten Sie Ihre Hetzner Cloud-Infrastruktur von Claude.ai, Claude Desktop, VS Code, Cursor oder einem beliebigen MCP-kompatiblen Client aus. Zwei Verwaltungsebenen geben Ihnen die volle Kontrolle:
Ebene 1 — Hetzner Cloud API: Server-Energie, Metriken, Snapshots, Backups, Firewalls, DNS-Zonen und -Einträge, Rescue-Modus, Server-Neuinstallation und -Skalierung. Funktioniert auch, wenn das Server-Betriebssystem nicht reagiert.
Ebene 2 — SSH: Dienste, Logs, Nginx, MySQL, Supervisor, Cron, UFW, Festplatten-/Speicher-/CPU-Überwachung. Echte Sysadmin-Tools, keine bloßen API-Wrapper.
60 Tools. Dynamische Multi-Server-Konfiguration. Selbst gehostet und Open Source.
Warum dieses MCP?
Jedes existierende Hetzner-MCP ist nur ein Wrapper für die Cloud-API. Dieses hier fügt eine vollständige SSH-Verwaltungsebene hinzu — die Tools, die Sie bei der Verwaltung von Produktionsservern tatsächlich benötigen. Zwei Ebenen, 60 Tools, selbst gehostet.
Funktion | Enthalten |
Cloud API (Server-Energie, Metriken, Snapshots, Backups, Firewalls, Rescue, Neuinstallation) | Ja |
SSH-Verwaltung (Dienste, Logs, Nginx, MySQL, Systemzustand) | Ja |
DNS-Verwaltung (Zonen, Einträge, CRUD) | Ja |
Multi-Server (1 bis N Server von einer einzigen Instanz aus) | Ja |
Schutz vor destruktiven Aktionen (Bestätigung für gefährliche Vorgänge erforderlich) | Ja |
Transport | SSE + Streamable HTTP |
Sprache | PHP 8.1+ |
Schnellstart
Voraussetzungen
PHP 8.1+ mit
curl-ErweiterungComposer
Ein Hetzner Cloud API-Token (Konsole > Sicherheit > API-Tokens)
Ein SSH-Schlüssel für den Serverzugriff (Ebene 2 Tools)
1. Klonen und installieren
git clone https://github.com/wbf-solutions/hetzner-cloud-mcp.git
cd hetzner-cloud-mcp
composer install2. Konfigurieren
cp .env.example .envBearbeiten Sie die .env mit Ihren Details:
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. SSH-Schlüssel einrichten
ssh-keygen -t ed25519 -f /root/.ssh/id_ed25519 -N ""
ssh-copy-id -i /root/.ssh/id_ed25519.pub root@1.2.3.44. Nginx konfigurieren
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. Mit Claude.ai verbinden
Einstellungen > Connectors > Benutzerdefinierten Connector hinzufügen:
Name: Hetzner Cloud MCP
URL:
https://mcp.yourdomain.com/api.php
Wenn Sie MCP_API_KEY festgelegt haben, übergeben Sie ihn über die URL: ?mcp=sse&key=YOUR_MCP_API_KEY
oder konfigurieren Sie den API-Schlüssel in den erweiterten Einstellungen des Connectors als Bearer-Token.
Verfügbare Tools (60)
Ebene 1 — Hetzner Cloud API (25 Tools)
Tool | Beschreibung | Destruktiv |
| Serverdetails: Status, IP, Typ, Rechenzentrum | |
| CPU-, Festplatten- oder Netzwerkmetriken | |
| Einschalten | |
| Hartes Ausschalten | Bestätigen |
| Kontrolliertes ACPI-Herunterfahren | |
| Sanfter Neustart | |
| Harter Neustart | Bestätigen |
| Root-Passwort zurücksetzen | Bestätigen |
| Rescue-Modus aktivieren | |
| Rescue-Modus deaktivieren | |
| Neuinstallation vom Image (löscht Daten) | Bestätigen |
| Server-Plan skalieren | Bestätigen |
| Snapshot erstellen | |
| Snapshots auflisten | |
| Snapshot löschen | Bestätigen |
| Backups aktivieren (+20% Kosten) | |
| Backups deaktivieren | Bestätigen |
| Firewalls auflisten | |
| Firewall-Regeln abrufen | |
| Alle Firewall-Regeln ersetzen | Bestätigen |
| Firewall auf Server anwenden | |
| Firewall von Server entfernen | |
| Alle Server auflisten | |
| SSH-Schlüssel auflisten | |
| Status asynchroner Aktionen prüfen |
DNS (8 Tools, erfordert HETZNER_DNS_TOKEN)
Tool | Beschreibung | Destruktiv |
| DNS-Zonen auflisten | |
| Zonendetails abrufen | |
| DNS-Zone erstellen | |
| DNS-Zone löschen | Bestätigen |
| Einträge in Zone auflisten | |
| DNS-Eintrag hinzufügen | |
| DNS-Eintrag aktualisieren | |
| DNS-Eintrag löschen | Bestätigen |
Ebene 2 — SSH (27 Tools)
Tool | Beschreibung |
| systemd-Dienststatus prüfen |
| Dienst starten |
| Dienst stoppen |
| Dienst neu starten |
| Laufende Dienste auflisten |
| Festplattenspeicher ( |
| RAM-Auslastung ( |
| CPU-Last + Top-Prozesse |
| Top-Prozesse nach Speicher/CPU |
| Server-Uptime |
| Nginx-Konfigurationssyntax testen |
| Nginx neu laden (testet vorher) |
| Aktivierte Sites auflisten |
| Nginx-Konfiguration der Site anzeigen |
| Nginx-Fehlerprotokoll verfolgen |
| Nginx-Zugriffsprotokoll verfolgen |
| Systemprotokoll verfolgen |
| systemd-Journal anzeigen |
| Supervisor-Logs anzeigen |
| MySQL-Datenbanken auflisten |
| MySQL-Prozesse anzeigen |
| Schreibgeschützte SQL-Abfrage |
| Crontab-Einträge auflisten |
| Supervisor-Programmstatus |
| Supervisor-Programm neu starten |
| UFW-Firewall prüfen |
| Befehl ausführen (gefährliche Befehle blockiert) |
Authentifizierung
Wählen Sie den Modus, der zu Ihrer Bereitstellung passt:
Modus | Konfiguration | Am besten für |
Keine Auth |
| Hinter VPN/Firewall, lokale Entwicklung |
API-Schlüssel |
| Selbst gehostet, Einzelnutzer/Team |
API-Schlüssel + OAuth |
| Multi-User, Connectors Directory |
API-Schlüssel (empfohlen für Selbsthosting)
Generieren Sie einen Schlüssel und setzen Sie ihn in der .env:
openssl rand -hex 32Clients übergeben den Schlüssel als ?key=XXX oder Authorization: Bearer XXX.
OAuth 2.1 (optional)
Für fortgeschrittene Bereitstellungen oder die Einreichung im Anthropic Connectors Directory können Sie neben dem statischen API-Schlüssel eine OAuth 2.1-Token-Introspektion hinzufügen. Dies erfordert einen externen OAuth-Autorisierungsserver mit einem Introspektions-Endpunkt (RFC 7662). Siehe .env.example für die OAUTH_* Variablen.
Sicherheit
Authentifizierung: API-Schlüssel über Query-Parameter oder
Authorization: Bearer-Header. Optionale OAuth 2.1-Introspektion. Timing-sichere Validierung.Schutz vor destruktiven Aktionen: Alle gefährlichen Vorgänge erfordern
confirm=true.Tool-Annotationen: Alle Tools enthalten
readOnlyHintunddestructiveHintgemäß MCP-Spezifikation.SSH-Sicherheit: 29 blockierte Befehlsmuster (rm -rf, dd, mkfs, curl|sh, passwd, fdisk, etc.).
Schreibgeschütztes SQL: Nur SELECT, SHOW, DESCRIBE, EXPLAIN erlaubt.
Ratenbegrenzung: Pro IP mit atomarem
flock().
Konfiguration
Definieren Sie eine beliebige Anzahl von Servern in der .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 und DNS sind optional — Tools werden automatisch deaktiviert, wenn sie nicht konfiguriert sind.
Siehe .env.example für die vollständige Referenz.
Client-Konfiguration
Client | Verbindung |
Claude.ai | Einstellungen > Connectors > Benutzerdefinierten Connector mit SSE-URL hinzufügen |
Claude Desktop | Zu |
Claude Code |
|
VS Code / Cursor | VS Code-Erweiterung — bald verfügbar |
Bereitstellung
Funktioniert mit VitoDeploy oder manueller Nginx + PHP-FPM-Einrichtung. Erfordert fastcgi_buffering off für SSE-Streaming. Siehe die vollständige Bereitstellungsanleitung im Abschnitt Schnellstart.
Mitwirken
Siehe CONTRIBUTING.md. Sicherheitslücken: labs@wbf.solutions.
Links
Landingpage: hetzner-cloud-mcp.wbf.tools
Erstellt von: WBF Solutions
Kontakt: labs@wbf.solutions
Lizenz
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