Die hier vorgestellte Funktionalität ist ein experimentelles Feature, mit dem Sie frühzeitig Zugriff auf kommende Checkmk-Funktionen erhalten, sodass Sie diese neuen Funktionen testen und Feedback geben können, bevor das Feature vollständig stabil ist. In diesem Zustand ist es möglich, dass Funktionen nicht nur hinzugefügt, sondern auch so geändert werden, dass eine bestehende Konfiguration obsolet ist und Sie diese neu erstellen müssen. |
1. Einleitung
"Analysiere die RAM-Auslastung der Hosts am Standort München in den letzten 6 Stunden." Eine solch typische Aufgabenstellung lässt sich in Checkmk ganz traditionell mit einem Blick auf ein entsprechend erstelltes Dashboard oder einen individuell gestalteten Graphen erledigen. Mit dem Einzug eines MCP-Servers geht dies nun auch über einen KI-Assistenten mit natürlicher Sprache und ad-hoc ohne etwaige Vorabeiten.
Über das Model Context Protocol (MCP) können Sie beliebige kompatible Clients an Checkmk anbinden, beispielsweise ChatGPT, Claude oder LibreChat. Auch das verwendete LLM liegt ganz in Ihrer Hand, seitens Checkmk gibt es hier keinerlei Vorgaben.
Der MCP-Server liefert Status, historische Daten, Konfigurationen, Verfügbarkeiten und so weiter — und das ausschließlich mit Lese-Rechten. Sie können den Zugriff auf diese KI-Schnittstelle also auch Dritten gewähren, ohne zu riskieren, dass diese etwas löschen oder verändern.

Die Einrichtung ist grundsätzlich trivial: Der Server muss in Checkmk aktiviert und im Client registriert werden, der sich wiederum via OAuth am Server authentifizieren muss.
Im Folgenden lesen Sie, wie genau der MCP-Server mit ausgewählten Clients eingerichtet wird, welche Voraussetzungen geschaffen werden müssen und was Sie damit erreichen können.
2. Voraussetzungen
Folgende Voraussetzungen müssen erfüllt sein:
Kommerzielle Edition von Checkmk ab 2.5.0p13
MCP-Client mit Streamable HTTP-Unterstützung
Besonderes Augenmerk gilt dem letzten Punkt: Die Absicherung per HTTPS ist notwendig, da die Authentifizierung über OAuth läuft, das wiederum TLS benötigt.
Checkmk kann mit Werk #22264 als OAuth-Authorization-Server fungieren.
Das heißt, Clients können sich über den OAuth-Endpunkt (pass:https://myserver/.well-known/oauth-authorization-server/oauth-mysite) dynamisch registrieren.
Die Autorisierung läuft über einen Bestätigungsdialog im Browser — ein Eingreifen von Admin-Seite ist nicht notwendig.
Das daraus entstehende Token verfügt über dieselben Lese- und/oder Schreib-Rechte wie das autorisierende Nutzerkonto und hat eine Ablaufzeit von 48 Stunden.
Das erste Checkmk-Feature, das den neuen OAuth-Dienst nutzt: der MCP-Server.
In der Praxis stehen die Chancen gut, dass die TLS-Verbindung bereits vor dem Instanz-Apache-Server terminiert wird, beispielsweise durch irgendeine Art von Proxy- oder auch schlicht den System-Apache-Server.
In diesem Fall muss die terminierende Anwendung X-Forwarded-Proto: https senden.
Somit läuft zwar die Verbindung zwischen Checkmk/MCP-Server und terminierender Komponente über HTTP, aber der Server weiß, dass die Anfrage vom Client aus korrekt HTTPS-gesichert gestellt wurde.
Eine beispielhafte Apache-Konfiguration finden Sie im Artikel Weboberfläche per HTTPS absichern.
Wichtig: Wenn Sie von einer älteren Checkmk-Version aktualisiert haben, müssen Sie die Apache-Konfiguration Ihrer Instanz mit |
3. MCP-Server einrichten
Sobald die Voraussetzungen stehen, ist die Einrichtung in drei Schritten erledigt.
Aktivieren Sie zunächst den MCP-Server unter Setup > General > Global settings > AI features > Enable MCP server.
Registrieren und authentifizieren Sie den MCP-Server anschließend in Ihrem Client mit folgender URL: https://myserver/mysite/check_mk/mcp.
Die Registrierung ist im Grunde immer gleich, kann aber auf unterschiedliche Arten vorgenommen werden, etwa über die grafischen Oberflächen, die Kommandozeile oder Config-Dateien. Folgend finden Sie jeweils ein Beispiel:
- Claude (CLI)
MCP-Server per CLI registrieren:
claude mcp add --transport http mycheckmkmcphttps://myserver/mysite/check_mk/mcpAuthentifizieren:
claude mcpWählen Sie die erstellte Verbindung und anschließend Authenticate.
Hinweis: Die Kommandozeilenschnittstelle steht in allen bezahlten Claude-Konten zur Verfügung. In der kostenlosen Claude-Version lassen sich MCP-Server in der grafischen Nutzeroberfläche registrieren/Authentifizieren.
- ChatGPT (GUI)
Im ChatGPT-Desktop-Client können Sie den Server unter Bearbeiten > Einstellungen > Integrationen > >Plugins > MCP hinzufügen. Sie müssen lediglich folgende Angaben machen:
Beliebiger Name
Typ: Streaming HTTP
URL:
https://myserver/mysite/check_mk/mcp
Authentifizieren:
Nach der Registrierung finden Sie den Knopf Authentifizieren direkt an der Verbindung selbst.
- LibreChat (YAML)
LibreChat erlaubt auch die Konfiguration über YAML-Dateien:
librechat.yamlversion: 1.2.1 mcpSettings: allowedAddresses: - "myserver.mynetwork.lan:443" mcpServers: checkmk: type: streamable-http url: "https://myserver.mynetwork.lan/mysite/check_mk/mcp" requiresOAuth: trueAuthentifizieren:
Wählen Sie anschließend die erstellte Verbindung in der LibreChat-Oberfläche, um die Authentifizierung zu starten.
- MCP Inspector (GUI)
In MCP Inspector wählen Sie die Vorlage Streamable HTTP und geben die Registrierungs-URL
https://myserver.mynetwork.lan/mysite/check_mk/mcpan.Sobald die Verbindung aktiviert wird, startet die OAuth-Authentifizierung.
Die eigentliche Authentifizierung ist dann unabhängig vom genutzten Client immer gleich: In einem neuen Browser-Tab öffnet sich der OAuth-Dialog, um die Verbindung zu bestätigen — natürlich durch einen für die Konfiguration berechtigten Nutzer.

Der Konsensdialog fragt hier auch nach Schreib-Rechten — was den Rechten des entsprechenden Nutzerkontos geschuldet ist. Dennoch kann der MCP-Server nur lesen, nicht schreiben! |
Die authentifizierte Verbindung finden Admins in Checkmk unter Setup > General > Registered OAuth clients, wo sie diese auch löschen können.

Persönliche OAuth-Tokens können Nutzer zudem über User > Oauth access tokens einsehen und zurückziehen.
4. Nutzungsdaten teilen
Rein optional können Sie die Übertragung von MCP-Nutzungsdaten an Checkmk aktivieren.
Das hilft uns, die Nutzung des MCP-Features besser zu verstehen und es zu verbessern.
Sie finden die Einstellung unter Setup > General > Global settings > AI features > Send MCP usage data to Checkmk.
Die Daten werden als OpenTelemetry-Traces an https://mcp-analytics.checkmk.com:54829 geschickt — sofern eine Firewall oder ein Proxy zwischengeschaltet ist, müssen Host und Port entsprechend freigegeben werden.
Und natürlich werden keinerlei Prompts und sonstige Inhalte geteilt!
| Datentyp | Verwendungszweck |
|---|---|
Tool- und Ressourcen-Aufrufe |
Die vom Client aufgerufene MCP-Methode und der Name des angesprochenen Tools oder der Ressource, zum Beispiel |
Antwortzeit |
Wie lange die Site für die Antwort benötigt hat, gemessen pro Anfrage und pro internem REST-Aufruf, zusammen mit dem jeweiligen Status. |
Antwortgröße |
Die Größe der Antwort, die zeigt, wie viele Daten eine Anfrage zurückgegeben hat. |
KI-Client |
Der User-Agent des aufrufenden Clients ( |
Session-ID |
Eine zufällige, pro Sitzung erzeugte Kennung ( |
Protokollversion |
Die Version des Model Context Protocol, auf die sich Client und Server geeinigt haben. Sie zeigt uns, welche Protokollversionen in der Praxis verwendet werden. |
5. Checkmk per KI-Assistent abfragen
Sobald die Verbindung steht, hier ein Tipp für Ihre erste Anfrage: Welche Tools stehen zur Verfügung?
MCP arbeitet mit einzelnen Tool-Definitionen, beispielsweise get_hosts zur Abfrage der Hosts.
Initial arbeitet der MCP-Server mit 13 separaten Tools, wird aber kontinuierlich erweitert — daher ergäbe es wenig Sinn, die Tools hier einzeln aufzulisten.
Fragen Sie einfach die KI!
Generell müssen Sie sich auch nicht unbedingt um einzelne Tools kümmern: Clients wie ChatGPT und Claude entscheiden eigenständig, welche Tools für Anfragen benötigt werden.
Aber Sie können sich sehr wohl mit einzelnen Tools beschäftigen und zum Beispiel in LibreChat Agenten einrichten, denen nur get_hosts oder nur get_availability zur Verfügung stehen.
Wenn Sie beispielsweise mit API-Tokens statt Pauschalangeboten arbeiten, ließe sich so der Token-Verbrauch optimieren.
Ein kleiner Tipp zum Thema Kosten: Sofern Sie Pauschalangebote wie ChatGPT oder Claude Code nutzen, sind Sie allenfalls von Token-Limits betroffen, nicht von individuellen Kosten. Verwenden Sie aber zum Beispiel eine Kombination wie LibreChat + OpenAI-API-Tokens, können Anfragen schnell unerwartet kostspielig werden — wenn ein teures LLM wie GPT-6 Astra verwendet wird, können selbst in kleinen Monitoring-Systemen mehrere Euro für eine Handvoll Anfragen anfallen. Mit einem Kosten-Nutzen-optimierten Modell wie GPT-5.6 Terra können für einzelne, nicht gecachte Anfragen immerhin noch ein, zwei Cent anfallen. Für reale Tests sollten Sie daher auf ein kontrolliertes Budget oder Pauschalangebote setzen. |
Natürlich können Sie die KI-Schnittstelle nutzen, um sich eine Übersicht über das Monitoring, einzelne Netzwerksegmente oder Geschäftsanwendungen zu verschaffen. Entwickelt haben wir den MCP-Server aber vor allem für die Root-Cause-Analyse (RCA) — hierzu ein paar Beispiele aus der Praxis.
5.1. Beispiel: Service nicht verfügbar
Eine simple Ausgangssituation: Auf einem internen Checkmk-Server sind immer wieder kurzfristige Ausfälle, lange Ladezeiten und teils Abstürze zu verzeichnen. Das reguläre Monitoring zeigt schnell, dass es immer wieder zu Engpässen beim Arbeitsspeicher kommt — von hier aus müsste ein Admin manuell untersuchen, was dafür verantwortlich ist und ob es mit den Ausfällen zusammenfällt. Über den KI-Assistenten haben im wesentlichen ein paar kurze Prompts für Aufklärung gesorgt — hier ein Abriss des Workflows:
-
Prompt: Finde Probleme auf
myserver.Antwort: Arbeitsspeicher ist ausgelastet.
-
Prompt: Ist das der Grund für Service-Ausfälle und längere Wartezeiten?
Antwort: Indirekt ja — intensives Swapping führt zu CPU-Auslastung.
-
Prompt: Teils reagiert das System nicht mehr und muss neu gestartet werden — analysiere Vorfälle vor Neustarts.
Antwort: Vor Neustarts ist intensive Speicherauslastung zu verzeichnen, gefolgt von hoher Swapping-Aktivität, die zur Auslastung der CPU-Kerne führt.
-
Prompt: Lösungsvorschlag?
Antwort: Physischen Arbeitsspeicher um mindestens 8 Gigabyte erhöhen.
In diesem Fall hat das reguläre Monitoring vor allem eines gezeigt: Hohe Auslastung des Arbeitsspeichers. Über die KI wurde aber schnell klar, dass für die langsamen Antwortzeiten die CPU-Auslastung verantwortlich ist — die wiederum durch RAM-Knappheit und folgende Swapping-Aktivitäten ausgelöst wurde. Dieselbe Erkenntnis hätte sich in Checkmk selbst ebenfalls gewinnen lassen — beispielsweise über einen individuellen Graphen, der gleichzeitig RAM- und CPU-Auslastung sowie Swapping-Aktivitäten visualisiert. Das würde allerdings deutlich mehr Arbeit machen — und es hätte bereits ein konkreter Verdacht bestehen müssen. Per KI lassen sich in derlei einfachen Fällen schlicht unterschiedliche Status, Status-Wechsel, Metriken und Ereignisse (zum Beispiel aus Logs) in Zusammenhang bringen — insbesondere die Auswertung von Zeitstempeln ist hier enorm hilfreich.
5.2. Beispiel-Prompts
Letztlich können Sie alles in natürlicher Sprache abfragen, was Konfiguration, Hosts, Services, Events und Status betrifft. Hier noch einige nützliche Beispielprompts zur Anregung.
„Vergleiche die Entwicklung des Speicherverbrauchs auf myhost-01 in der vergangenen Woche mit dem Zeitpunkt, zu dem der Speicherdienst den kritischen Status erreicht hat, und teile mir mit, ob sich das Problem allmählich aufgebaut hat oder plötzlich aufgetreten ist.“
„Überprüfe, ob in der Stunde vor dem Auftreten der CPU-Warnmeldungen im Ordner „Linux/Production“ eine Änderung an der Konfiguration vorgenommen wurde.“
„Finde die Hosts, die gestern Abend innerhalb desselben Fünf-Minuten-Zeitraums ausgefallen sind, und sage mir, was sie hinsichtlich Ordnern, Tags und Labels gemeinsam haben.“
"Analysiere den Status meines Online-Shops. Dann werde ich einige Tests durchführen. Führe im Anschluss eine erneute Analyse durch und vergleiche."
6. Dateien und Verzeichnisse
| Pfad | Bedeutung |
|---|---|
|
Log-Datei des MCP-Servers |
|
Konfiguration des MCP-Servers |
