Home
Login

Ein Modellkontextprotokoll (MCP) Server für Grafana, der KI-Agenten den Zugriff auf Grafana-Instanzen und deren Ökosystem ermöglicht und Funktionen wie Dashboard-Verwaltung, Datenquellenabfragen und Alarmregelkonfiguration unterstützt.

Apache-2.0Go 1.0kgrafanamcp-grafana Last Updated: 2025-06-24

Grafana MCP Server – Detaillierte Projektbeschreibung

Projektübersicht

Grafana MCP Server ist ein Server, der auf dem Model Context Protocol (MCP) basiert und speziell für die Integration mit Grafana-Instanzen und deren Ökosystem entwickelt wurde. Das Projekt bietet KI-Agenten (wie Claude Desktop) die Möglichkeit, auf verschiedene Grafana-Funktionen zuzugreifen und diese zu bedienen.

Kernfunktionsmerkmale

Dashboard-Verwaltung

  • Dashboards suchen: Schnelles Auffinden und Lokalisieren bestimmter Dashboards
  • Dashboard abrufen: Abrufen der vollständigen Dashboard-Konfiguration über die UID
  • Dashboards aktualisieren/erstellen: Dynamisches Ändern oder Erstellen neuer Dashboards (Kontextfensterbeschränkungen beachten)

Datenquellenintegration

  • Datenquellenverwaltung: Auflisten und Abrufen von Datenquelleninformationen
  • Unterstützung für Abfragen mehrerer Datenquellen:
    • Prometheus: Ausführen von PromQL-Abfragen, um Metrikdaten abzurufen
    • Loki: Ausführen von LogQL-Abfragen, um Protokolldaten abzurufen
    • Tempo: Abfrage verteilter Tracing-Daten
    • Pyroscope: Abfrage von Performance-Analysedaten

Metadatenabfrage

  • Prometheus-Metadaten: Abrufen von Metrikmetadaten, Metriknamen, Labelnamen und Labelwerten
  • Loki-Metadaten: Abrufen von Protokoll-Labelnamen, Labelwerten und Statistiken

Ereignis- und Alarmmanagement

  • Ereignismanagement: Suchen, Erstellen, Aktualisieren und Schließen von Ereignissen
  • Alarmregeln: Auflisten und Abrufen von Alarmregelinformationen, Abrufen des Alarmstatus
  • Kontaktpunktverwaltung: Auflisten, Erstellen und Ändern von Alarmkontaktpunkten

Grafana OnCall Integration

  • Dienstplanverwaltung: Auflisten und Verwalten von Dienstplänen
  • Dienstinformationen: Abrufen von Dienstdetails und des aktuell diensthabenden Benutzers
  • Team- und Benutzerverwaltung: Verwalten von Teams und Benutzerinformationen
  • Alarmgruppenverwaltung: Auflisten von Alarmgruppen

Sift Untersuchungsfunktion

  • Intelligente Untersuchung: Starten einer Sift-Untersuchung und Anzeigen der Ergebnisse
  • Untersuchungsmanagement: Erstellen, Auflisten und Abrufen von Untersuchungsinformationen
  • Analysefunktionen: Abrufen von Untersuchungsergebnissen
  • Fehlermustererkennung: Suchen nach Fehlermustern in Protokollen
  • Performance-Analyse: Identifizieren langsamer Anfragen

Werkzeugkonfiguration

Das Projekt bietet flexible Werkzeugkonfigurationsoptionen, mit denen Sie bestimmte Funktionskategorien aktivieren oder deaktivieren können:

Werkzeugname Kategorie Beschreibung
search_dashboards Search Dashboards suchen
get_dashboard_by_uid Dashboard Dashboard über UID abrufen
update_dashboard Dashboard Dashboard aktualisieren oder erstellen
list_datasources Datasources Datenquellen auflisten
query_prometheus Prometheus Prometheus-Abfrage ausführen
query_loki_logs Loki Protokolle abfragen und abrufen
list_incidents Incident Ereignisse auflisten
list_alert_rules Alerting Alarmregeln auflisten
list_oncall_schedules OnCall OnCall-Dienstpläne auflisten
find_error_pattern_logs Sift Fehlermuster finden

Verwenden Sie das Flag --disable-<category>, um bestimmte Werkzeugkategorien zu deaktivieren. Verwenden Sie beispielsweise --disable-oncall, um OnCall-bezogene Werkzeuge zu deaktivieren.

Installation und Konfiguration

Installationsmethoden

1. Docker-Image

docker pull mcp/grafana
docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your_token> mcp/grafana

2. Binärdatei herunterladen

Laden Sie die neueste Version von der Releases-Seite herunter und platzieren Sie sie im Verzeichnis $PATH.

3. Quellcode kompilieren

GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest

Konfigurationseinstellungen

Voraussetzungen

  1. Erstellen Sie in Grafana ein Dienstkonto und weisen Sie ihm ausreichende Berechtigungen zu
  2. Generieren Sie ein Dienstkonto-Token

Claude Desktop Konfiguration

Verwendung der Binärdatei:

{
  "mcpServers": {
    "grafana": {
      "command": "mcp-grafana",
      "args": [],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}

Verwendung von Docker:

{
  "mcpServers": {
    "grafana": {
      "command": "docker",
      "args": [
        "run", "--rm", "-p", "8000:8000",
        "-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY",
        "mcp/grafana"
      ],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}

Debug-Modus

Aktivieren Sie den Debug-Modus durch Hinzufügen des Flags -debug, um detaillierte HTTP-Anfrage- und Antwortprotokolle bereitzustellen:

{
  "mcpServers": {
    "grafana": {
      "command": "mcp-grafana",
      "args": ["-debug"],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}

Entwicklung und Tests

Entwicklungsumgebung einrichten

# Server ausführen
make run

# Docker-Image erstellen
make build-image

# Docker-Container ausführen
docker run -it --rm -p 8000:8000 mcp-grafana:latest

Testtypen

Unit-Tests

make test-unit
# Oder
make test

Integrationstests

# Docker-Container muss gestartet sein
make test-integration

Cloud-Tests

# Benötigt eine Cloud-Grafana-Instanz und Anmeldeinformationen
make test-cloud

Vollständige Tests

# Lokale Grafana-Instanz starten
docker-compose up -d

# Alle Tests ausführen
make test-all

Codequalität

Code-Überprüfung

make lint

JSON-Schema-Überprüfung

Das Projekt enthält einen benutzerdefinierten Linter, um nicht maskierte Kommas in jsonschema-Struktur-Tags zu überprüfen:

make lint-jsonschema

Technische Architektur

  • Programmiersprache: Go
  • Protokoll: Model Context Protocol (MCP)
  • Kommunikationsmethode: stdin/stdout oder SSE (Server-Sent Events)
  • Unterstützte Clients: Claude Desktop und andere MCP-kompatible Clients

Anwendungsfälle

  1. KI-gestützte Überwachung: Ermöglichen Sie KI-Agenten, Überwachungsdaten intelligent abzufragen und zu analysieren
  2. Automatisierter Betrieb: Automatisches Erstellen und Verwalten von Dashboards und Alarmregeln durch KI
  3. Intelligente Ereignisreaktion: Verwenden Sie KI, um Protokolle und Metriken zu analysieren, um Probleme schnell zu lokalisieren und zu beheben
  4. Dateneinblicke: Lassen Sie sich von KI helfen, wertvolle Informationen aus komplexen Überwachungsdaten zu extrahieren

Dieses Projekt stellt einen neuen Trend in der Integration von KI und traditionellen Überwachungswerkzeugen dar und bietet Entwicklern eine leistungsstarke Brücke, um KI-Assistenten und das Grafana-Ökosystem zu verbinden.

Star History Chart