Lesedauer 5 Minuten

Mit dem Update auf Plesk Obsidian 18.0.80 wird ein MCP-Server mit ausgeliefert. Das bedeutet, daß Plesk nun von einem KI-Agenten aus automatisiert werden kann.  Dieser Beitrag zeigt Dir, wie Du den MCP-Server aktivierst und z.B. in n8n einbauen kannst.

Plesk MCP-Server: Die Toolbox für deine KI

Die Vorstellung des integrierten MCP-Servers liest sich in den Release Notes von Plesk 18.0.80 liest sich in etwa wie folgt:

Plesk unterstützt jetzt MCP (Model Context Protocol) und damit ändert sich deine Serververwaltung grundlegend. Statt deine KI nur Fragen zu stellen, delegierst du ihr echte Aufgaben. Sie provisoniert neue Abos, diagnostiziert E-Mail-Probleme, findet die Ursachen hinter 500er-Fehlern oder beauftragt direkt einen KI-Coding-Agenten mit der Fehlerbehebung.

Befolge die folgenden 2 Schritten um den MCP-Server startklar zu machen:

1. Füge Deinen  Plesk Server dem WebPros Dashboard hinzu

Dieser Schritt ist notwendig, um den MCP-Server API-Key zu bekommen. Keine Sorge Account und Dashboard sind kostenlos, WebPros ist die Firma hinter Plesk:

  • Gehe zu dashboard.webpros.com und klicke auf “Sign Up”.
  • Im Dashboard klickst Du auf den “+ Hinzufügen” Button in der Seitenleiste.
  • Wähle “Server verknüpfen”, dann  “Plesk Server”. 
  • Gib dann die URL deines Plesk Backends samt Port an. Klicke dann “Weiter in Plesk”.

2. MCP-Server API Key erzeugen

Als Nächstes Erzeugen wir den MCP-Server API Key:

  • Klicke im WebPros Dashboard open rechts auf Dein Profil und wähle im Menü “MCP-Keys”.
  • Klicke erneut auf den “+ Hinzufügen” Button in der Seitenleiste und wähle “Create MCP Key”.
  • Benenne den Key, z.B. mit dem Servernamen.
  • Wähle den entsprechenden Access Mode und die Resourcen auf welche der Key zugriff gewähren soll.
  • Klicke anschliessend auf “Create” und kopiere den erzeugten MCP-Server Key.

Plesk: MCP-Server Key erstellen

 

Plesk MCP-Server in n8n verwenden

Der Plesk MCP-Server lässt sich gewohnt einfach in n8n integrieren:

  • Füge das “MCP Client Tool” hinzu und verknüpfe es mit dem Tool Inlet einer “AI Agent” Node.
  • Mach einen Doppelklick auf das MCP Client Tool.
  • Als Endpoint trägst Du https://mcp.webpros.com/api/mcp ein.
  • Als Authentication wählst Du Bearer Auth
  • Unter “Bearer Auth Credentials” fügst du dann den MCP-Server API key als “Bearer Token” ein.

Damit hat dein KI Agent nun alle Werkzeuge um auf Plesk zuzugreifen.

MCP-Server

Welche Tools stellt der Plesk MCP Server zur Verfügung?

Stellt man per KI diese Frage, liefert der MCP-Server diese Funktionsliste zurück. Damit lässt sich ungefähr abschätzen, was man mit dem MCP-Server machen kann:

Authentifizierung & Session

  • post_auth_keys – Generate API secret key
  • delete_auth_keys_by_key – Delete API secret key
  • post_server_session – Create a session token

CLI & Commands

  • get_cli_commands – List CLI commands
  • post_cli_by_id_call – Execute CLI command
  • get_cli_by_id_ref – Get CLI command reference

Clients & Accounts

  • get_clients – List clients
  • post_clients – Create client account
  • get_clients_by_id – Get client details
  • put_clients_by_id – Update client account
  • delete_clients_by_id – Delete client account
  • put_clients_by_id_activate – Activate client
  • put_clients_by_id_suspend – Suspend client
  • get_clients_by_id_domains – List client domains
  • get_clients_by_id_statistics – Get client statistics

Domains

  • get_domains – List domains
  • post_domains – Create domain
  • get_domains_by_id – Get domain details
  • put_domains_by_id – Update domain
  • delete_domains_by_id – Delete domain
  • get_domains_by_id_client – Get domain owner
  • get_domains_by_id_status – Get domain status
  • put_domains_by_id_status – Update domain status
  • get_domains_by_id_dns_resolution – Run a DNS resolution check for a domain
  • get_domains_by_id_logs – Search domain logs

Dateisystem

  • get_domains_by_id_fs – Get file or directory metadata
  • delete_domains_by_id_fs – Delete a file or directory
  • put_domains_by_id_fs_chmod – Change file or directory permissions
  • get_domains_by_id_fs_content – Download file contents
  • put_domains_by_id_fs_content – Upload file contents
  • patch_domains_by_id_fs_content – Append a chunk to a file
  • post_domains_by_id_fs_copy – Copy a file or directory
  • get_domains_by_id_fs_list – List directory contents
  • post_domains_by_id_fs_mkdir – Create a directory
  • post_domains_by_id_fs_move – Move or rename a file or directory
  • post_domains_by_id_exec – Execute a shell command on a domain

DNS

  • get_dns_records – List DNS records
  • post_dns_records – Create DNS record
  • get_dns_records_by_id – Get DNS record
  • put_dns_records_by_id – Update DNS record
  • delete_dns_records_by_id – Delete DNS record

Datenbanken

  • get_databases – List databases
  • post_databases – Create database
  • delete_databases_by_id – Delete database
  • get_dbservers – List database servers
  • get_dbusers – List database users
  • post_dbusers – Create database user
  • put_dbusers_by_id – Update database user
  • delete_dbusers_by_id – Delete database user

FTP-Benutzer

  • get_ftpusers – List FTP users
  • post_ftpusers – Create FTP user
  • put_ftpusers_by_name – Update FTP user
  • delete_ftpusers_by_name – Delete FTP user

Extensions

  • get_extensions – List installed extensions
  • post_extensions – Install extension
  • get_extensions_by_id – Get extension details
  • delete_extensions_by_id – Uninstall extension
  • put_extensions_by_id_disable – Disable extension
  • put_extensions_by_id_enable – Enable extension

Server

  • get_server – Get server information
  • post_server_init – Initialize server
  • get_server_ips – List server IP addresses
  • post_server_license – Install license key

WordPress (Toolkit)

  • getinstallations – Return the list of WordPress installations
  • createinstallation – Installing WordPress
  • getinstallation – Return details of a WordPress installation
  • cloneinstallation – Clone WordPress installation
  • createinstallationbackup – Starts background task for creating installation backup
  • restoreinstallationbackup – Starts background task for restoring installation backup
  • logininstallation – Generates a login link to WordPress admin area
  • getinstallationsplugins – Get the list of plugins for an installation
  • instalationspluginsinstall – Install a plugin
  • instalationspluginsuninstall – Uninstall plugins
  • instalationspluginsactivatedeactivate – Activate or deactivate plugin
  • getinstallationsthemes – Get the list of themes
  • instalationsthemesinstall – Install a theme
  • instalationsthemesuninstall – Uninstall themes
  • instalationsthemesactivate – Activate theme
  • getwordpressdebugsettings – Returns WordPress debug settings
  • updatewordpressdebugsettings – Update WordPress debug settings
  • gethotlinkprotectionsettingsmeta – Get hotlink protection settings
  • updatehotlinkprotectionstatus – Update hotlink protection status
  • getmaintenancesettings – Retrieve maintenance mode settings
  • updatemaintenancestatus – Toggle maintenance mode
  • fetchinstallationsvulnerabilitystatuses – Get information about WordPress vulnerabilities
  • checkinstallationsvulnerability – Start vulnerability check
  • Und weitere WordPress-related Methoden…

Plesk MCP-Server kurz angetestet

Was immer perfekt funktioniert, sind Kommandos wie

  • Zeige alles Domains auf meinem Plesk Server.
  • Zeige alle Subdomains von marketmix.com.
  • Lege die Subdomain test.marketmix.com and und installiere WordPress.
  • Erzeuge einen kompletten Report über Server Zustand und Resourcen.

Was nicht funktioniert:

  • Schwierigkeiten hat der MCP-Server mit z.B. mit “Erstelle eine neue Mailbox für fred@marketmix.com”.
    Das funktioniert manchmal wunderbar, jedoch oftmals nicht. Das Ergebnis reicht von nichts passiert bis zu “Ich kann keine Postfächer anlegen”.
  • “Gib mit den aktuellen Backup Status des Servers” erzeugt einen Report über alle WordPress Sites, jedoch nicht über den Plesk Backup-Manger des Servers.
  • Befehle wie “Gib mit einen Report zum Malware Scan” oder “Starte den PgAdmin4 Docker Container” funktionieren nicht, weil der MCP-Server zwar MCP Tools für das Extension Management, aber keine Tools für Plesk-Extensions selbst zur Verfügung stellt.

Keine MCP Tools für Plesk Mailbox- und Backup-Management

Betrachtet man die Liste der MCP-Tools Funktionen, fällt auf, daß es kein explizites Tool zum Anlegen einer Mailbox gibt. Die KI versucht das dann über die Plesk CLI Funktion, was leider nicht immer funktioniert. Hier kann man versuchen, über einen ausgefeilten Prompt zu optimieren, um der KI nicht zu viel Entscheidungsfreiraum zu lassen und die CLI-Calls in die richtige Richtung zu lenken.

Gleiches gilt für Fragen zum Stand der Plesk Server Backups. Die KI greift hier automatisch auf die WordPress Tools zurück, da ein explizites Tool für den Plesk Backup-Manger fehlt.

Aufgaben bezüglich Domains und WordPress werden hingegen anscheinend immer zuverlässig erledigt, da hier auch entsprechende Funktionen vorhanden sind.

Kosten pro MCP Tool-Call

Was ebenfalls auffällt:

Aktionen dauern oft relativ lange und es werden sehr viele Token auf dem Weg zum Ziel “verbrannt”. Einige n8n Workflows brechen ab, da sehr viele Iterationen über die MCP-Server Node laufen.

Fazit

Der Plesk MCP-Server ist ein großer Schritt in die richtige Richtung. Je nach Anwendungsfall kann der Zugriff per MCP eine schnelle Alternative zur Automatisierung per Code sein.

Sehr beindruckend war die fehlerfreie Ausführung von “Lege die Subdomain test.marketmix.com and und installiere WordPress”.

Sobald die KI jedoch zwischen alternativen Entscheidungen wählen kann, oder versucht Aufgaben über die Plesk CLI Funktion zu lösen, wird das Ergebnis nur schwer kalkulierbar. Hier muss dann noch nachgearbeitet werden, entweder auf Prompt-Ebene oder im Code des MCP-Servers selbst.

Aktuell erscheint die Auswahl an MCP-Tools sehr WordPress-zentrisch. Wünschenswert wären MCP Tools zum Thema Mailbox-Administration und Plesk Server Backup.

Man darf auf die weitere Entwicklung gespannt sein :-)

 

Mehr Beiträge über Plesk

 

 

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!