Einfacher Loki MCP-Server
Der Loki MCP Server ist eine Model Context Protocol (MCP) -Schnittstelle zum Abfragen von Grafana Loki-Protokollen mithilfe von logcli . Der Server ermöglicht KI-Assistenten den direkten Zugriff auf und die Analyse von Protokolldaten von Loki.
Merkmale
Abfragen von Loki-Protokollen mit vollständiger LogQL-Unterstützung
Abrufen von Beschriftungswerten und Metadaten
Authentifizierungs- und Konfigurationsunterstützung über Umgebungsvariablen oder Konfigurationsdateien
Bietet formatierte Ergebnisse in verschiedenen Ausgabeformaten (Standard, Rohdaten, JSON-Zeilen)
Automatischer Fallback auf die HTTP-API, wenn
logcliin der Umgebung nicht verfügbar ist
Related MCP server: Cloud Logging API Server
Voraussetzungen
Node.js v16 oder höher
Typoskript
(Optional) Grafana Loki logcli ist installiert und in Ihrem PATH zugänglich. Wenn
logclinicht verfügbar ist, verwendet der Server stattdessen automatisch die Loki HTTP API.Zugriff auf eine Loki-Serverinstanz
Installation
Installation über Smithery
So installieren Sie Simple Loki MCP Server für Claude Desktop automatisch über Smithery :
für MCP
npm
Klonen Sie das Repository:
Installieren Sie Abhängigkeiten:
Erstellen Sie das Projekt:
Verfügbare MCP-Tools
Abfrage-Loki
Abfrageprotokolle von Loki mit Filteroptionen.
Parameter:
query(erforderlich): Loki-Abfragezeichenfolge (LogQL)from: Startzeitstempel (zB "2023-01-01T12:00:00Z")to: Endzeitstempel (zB "2023-01-01T13:00:00Z")limit: Maximale Anzahl der zurückzugebenden Protokollebatch: Batchgröße für Abfrageergebnisseoutput: Ausgabeformat („Standard“, „raw“ oder „jsonl“)quiet: Abfragemetadaten unterdrückenforward: Ergebnisse in chronologischer Reihenfolge anzeigen
Beschriftungswerte abrufen
Rufen Sie alle Werte für ein bestimmtes Label ab.
Parameter:
label(erforderlich): Bezeichnungsname, für den Werte abgerufen werden sollen
Etiketten abrufen
Alle verfügbaren Etiketten abrufen.
Keine Parameter erforderlich.
Konfiguration
Sie können den Loki-Zugriff folgendermaßen konfigurieren:
Umgebungsvariablen
LOKI_ADDR: Loki-Serveradresse (URL)LOKI_USERNAME: Benutzername für die BasisauthentifizierungLOKI_PASSWORD: Passwort für die BasisauthentifizierungLOKI_TENANT_ID: Mandanten-ID für Loki mit mehreren MandantenLOKI_BEARER_TOKEN: Bearer-Token zur AuthentifizierungLOKI_BEARER_TOKEN_FILE: Datei mit dem InhabertokenLOKI_CA_FILE: Benutzerdefinierte CA-Datei für TLSLOKI_CERT_FILE: Client-Zertifikatsdatei für TLSLOKI_KEY_FILE: Client-Schlüsseldatei für TLSLOKI_ORG_ID: Organisations-ID für Multi-Org-SetupsLOKI_TLS_SKIP_VERIFY: TLS-Verifizierung überspringen („true“ oder „false“)LOKI_CONFIG_PATH: Benutzerdefinierter Pfad zur KonfigurationsdateiDEBUG: Debug-Protokollierung aktivieren
Hinweis : Wenn der Client den HTTP-API-Modus verwendet (wenn
logclinicht verfügbar ist), werden dieselben Konfigurationsparameter zur Authentifizierung und Verbindung mit dem Loki-Server verwendet.
Konfigurationsdateien
Alternativ können Sie an einem dieser Speicherorte eine Datei logcli-config.yaml erstellen:
Benutzerdefinierter Pfad, angegeben durch
LOKI_CONFIG_PATHAktuelles Arbeitsverzeichnis
Ihr Home-Verzeichnis (
~/.logcli-config.yaml)
Beispielkonfigurationsdatei:
Verwendung
Starten Sie den Server:
Für die Entwicklung:
Implementierungsdetails
Automatischer Fallback auf HTTP-API
Der Server prüft automatisch, ob logcli installiert und in der Umgebung verfügbar ist:
Wenn
logcliverfügbar ist, wird es für alle Abfragen verwendet und bietet die volle Funktionalität des CLI-ToolsWenn
logclinicht verfügbar ist, greift der Server automatisch auf die Loki-HTTP-API zurück:Es ist keine zusätzliche Konfiguration erforderlich
Für die HTTP-API werden die gleichen Authentifizierungsparameter verwendet
Die Antwortformatierung stimmt mit der CLI-Ausgabe überein
Das Standardlimit von 1000 Protokollen pro Abfrage gilt in beiden Modi
Diese automatische Erkennung stellt sicher, dass der Server in verschiedenen Umgebungen ohne manuelle Konfiguration reibungslos funktioniert.
Entwicklung
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.md .