Grafana

Official
by grafana
Apache 2.0
703
  • Linux
  • Apple

Integrations

  • Provides access to Grafana dashboards, data sources, and ecosystem tools, enabling search and retrieval of dashboards, querying of data sources (Prometheus, Loki), incident management, alerting capabilities, and OnCall functionality.

  • Allows querying Prometheus data sources, retrieving metric metadata, listing metric names, and exploring label names and values to analyze time series data.

Grafana MCP-Server

Ein Model Context Protocol (MCP)-Server für Grafana.

Dies ermöglicht den Zugriff auf Ihre Grafana-Instanz und das umgebende Ökosystem.

Merkmale

  • [x] Suche nach Dashboards
  • [x] Dashboards
    • [x] Dashboard per UID abrufen
    • [x] Aktualisieren oder erstellen Sie ein Dashboard (HAFTUNGSAUSSCHLUSS: Seien Sie vorsichtig mit Kontextfenstern. Weitere Informationen finden Sie unter https://github.com/grafana/mcp-grafana/issues/101 ).
    • [x] Holen Sie sich den Titel, die Abfragezeichenfolge und die Datenquelleninformationen (einschließlich UID und Typ, falls verfügbar) von jedem Panel in einem Dashboard
  • [x] Datenquelleninformationen auflisten und abrufen
  • [ ] Datenquellen abfragen
    • [x] Prometheus
    • [x] Loki
      • [x] Protokollabfragen
      • [x] Metrikabfragen
    • [ ] Tempo
    • [ ] Pyroskop
  • [x] Prometheus-Metadaten abfragen
    • [x] Metrische Metadaten
    • [x] Metriknamen
    • [x] Labelnamen
    • [x] Labelwerte
  • [x] Loki-Metadaten abfragen
    • [x] Labelnamen
    • [x] Labelwerte
    • [x] Statistiken
  • [x] Vorfälle suchen, erstellen, aktualisieren und schließen
  • [x] Sift-Untersuchungen starten und Ergebnisse ansehen
    • [x] Untersuchungen erstellen
    • [x] Untersuchungen mit einem Grenzwertparameter auflisten
    • [x] Untersuchung einleiten
    • [x] Analysen abrufen
    • [x] Fehlermuster in Protokollen mit Sift finden
    • [x] Finden Sie langsame Anfragen mit Sift
    • [ ] Tools für die anderen Sift Checks hinzufügen
  • [ ] Alarmierung
    • [x] Informationen zu Warnregeln auflisten und abrufen
    • [x] Status der Alarmregeln abrufen (Auslösen/Normal/Fehler/usw.)
    • [ ] Warnregeln erstellen und ändern
    • [x] Kontaktstellen auflisten
    • [ ] Kontaktpunkte erstellen und ändern
  • [x] Zugriff auf die Grafana OnCall-Funktionalität
    • [x] Zeitpläne auflisten und verwalten
    • [x] Schichtdetails abrufen
    • [x] Aktuelle Bereitschaftsbenutzer abrufen
    • [x] Teams und Benutzer auflisten
    • [ ] Alarmgruppen auflisten

Die Toolliste ist konfigurierbar, sodass Sie auswählen können, welche Tools dem MCP-Client zur Verfügung stehen sollen. Dies ist nützlich, wenn Sie bestimmte Funktionen nicht nutzen oder das Kontextfenster nicht zu sehr beanspruchen möchten. Um eine Toolkategorie zu deaktivieren, verwenden Sie beim Serverstart das Flag --disable-<category> . Um beispielsweise die OnCall-Tools zu deaktivieren, verwenden Sie --disable-oncall .

Werkzeuge

WerkzeugKategorieBeschreibung
search_dashboardsSuchenSuche nach Dashboards
get_dashboard_by_uidArmaturenbrettAbrufen eines Dashboards per UID
update_dashboardArmaturenbrettAktualisieren oder erstellen Sie ein neues Dashboard
get_dashboard_panel_queriesArmaturenbrettHolen Sie sich Paneltitel, Abfragen, Datenquellen-UID und Typ von einem Dashboard
list_datasourcesDatenquellenDatenquellen auflisten
get_datasource_by_uidDatenquellenAbrufen einer Datenquelle per UID
get_datasource_by_nameDatenquellenAbrufen einer Datenquelle nach Namen
query_prometheusPrometheusFühren Sie eine Abfrage für eine Prometheus-Datenquelle aus
list_prometheus_metric_metadataPrometheusMetrikmetadaten auflisten
list_prometheus_metric_namesPrometheusAuflisten der verfügbaren Metriknamen
list_prometheus_label_namesPrometheusListen Sie Beschriftungsnamen auf, die einem Selektor entsprechen
list_prometheus_label_valuesPrometheusListenwerte für ein bestimmtes Label
list_incidentsVorfallVorfälle in Grafana Incident auflisten
create_incidentVorfallErstellen Sie einen Vorfall in Grafana Incident
add_activity_to_incidentVorfallFügen Sie einem Vorfall in Grafana Incident ein Aktivitätselement hinzu
resolve_incidentVorfallLösen eines Vorfalls in Grafana Incident
query_loki_logsLokiAbfragen und Abrufen von Protokollen mit LogQL (entweder Protokoll- oder Metrikabfragen)
list_loki_label_namesLokiAlle verfügbaren Labelnamen in Protokollen auflisten
list_loki_label_valuesLokiListenwerte für eine bestimmte Protokollbezeichnung
query_loki_statsLokiStatistiken zu Protokollströmen abrufen
list_alert_rulesAlarmierungAuflisten von Warnregeln
get_alert_rule_by_uidAlarmierungAlarmregel nach UID abrufen
list_oncall_schedulesOnCallListen Sie Zeitpläne von Grafana OnCall auf
get_oncall_shiftOnCallDetails zu einer bestimmten OnCall-Schicht abrufen
get_current_oncall_usersOnCallHolen Sie sich Benutzer, die derzeit für einen bestimmten Zeitplan in Bereitschaft sind
list_oncall_teamsOnCallTeams von Grafana OnCall auflisten
list_oncall_usersOnCallBenutzer von Grafana OnCall auflisten
get_investigationSiebenRufen Sie eine vorhandene Sift-Untersuchung anhand ihrer UUID ab
get_analysisSiebenAbrufen einer bestimmten Analyse aus einer Sift-Untersuchung
list_investigationsSiebenRufen Sie eine Liste der Sift-Untersuchungen mit einem optionalen Limit ab
find_error_pattern_logsSiebenFindet erhöhte Fehlermuster in Loki-Protokollen.
find_slow_requestsSiebenFindet langsame Anfragen von den relevanten Tempo-Datenquellen.

Verwendung

  1. Erstellen Sie in Grafana ein Dienstkonto mit ausreichenden Berechtigungen für die gewünschten Tools, generieren Sie ein Dienstkonto-Token und kopieren Sie es zur Verwendung in der Konfigurationsdatei in die Zwischenablage. Weitere Informationen finden Sie in der Grafana-Dokumentation .
  2. Sie haben mehrere Möglichkeiten, mcp-grafana zu installieren:
    • Docker-Image : Verwenden Sie das vorgefertigte Docker-Image von Docker Hub:
      docker pull mcp/grafana docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your service account token> mcp/grafana
    • Binärdatei herunterladen : Laden Sie die neueste Version von mcp-grafana von der Release-Seite herunter und platzieren Sie sie in Ihrem $PATH .
    • Aus dem Quellcode erstellen : Wenn Sie eine Go-Toolchain installiert haben, können Sie diese auch aus dem Quellcode erstellen und installieren. Verwenden Sie dazu die Umgebungsvariable GOBIN , um das Verzeichnis anzugeben, in dem die Binärdatei installiert werden soll. Dieses Verzeichnis sollte sich auch in Ihrem PATH befinden.
      GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
  3. Fügen Sie die Serverkonfiguration zu Ihrer Client-Konfigurationsdatei hinzu. Beispiel für Claude Desktop:Bei Verwendung der Binärdatei:
    { "mcpServers": { "grafana": { "command": "mcp-grafana", "args": [], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }
    Bei 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>" } } } }

Hinweis: Wenn in Claude Desktop Error: spawn mcp-grafana ENOENT angezeigt wird, müssen Sie den vollständigen Pfad zu mcp-grafana angeben.

Verwenden von VSCode mit Remote-MCP-Server

Stellen Sie sicher, dass Ihre .vscode/settings.json Folgendes enthält:

"mcp": { "servers": { "grafana": { "type": "sse", "url": "http://localhost:8000/sse" } } }

Debug-Modus

Sie können den Debug-Modus für den Grafana-Transport aktivieren, indem Sie dem Befehl das Flag -debug hinzufügen. Dadurch wird eine detaillierte Protokollierung der HTTP-Anfragen und -Antworten zwischen dem MCP-Server und der Grafana-API ermöglicht, was bei der Fehlerbehebung hilfreich sein kann.

Um den Debug-Modus mit der Claude Desktop-Konfiguration zu verwenden, aktualisieren Sie Ihre Konfiguration wie folgt:

Bei Verwendung der Binärdatei:

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

Bei Verwendung von Docker:

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

Entwicklung

Beiträge sind willkommen! Bitte melden Sie ein Problem oder senden Sie einen Pull Request, wenn Sie Vorschläge oder Verbesserungen haben.

Dieses Projekt ist in Go geschrieben. Installieren Sie Go gemäß den Anweisungen für Ihre Plattform.

Um den Server auszuführen, verwenden Sie:

make run

Sie können den Server auch mit dem SSE-Transport in einem benutzerdefinierten Docker-Image ausführen. Verwenden Sie zum Erstellen des Images

make build-image

Und um das Image auszuführen, verwenden Sie:

docker run -it --rm -p 8000:8000 mcp-grafana:latest

Testen

Es stehen drei Arten von Tests zur Verfügung:

  1. Unit-Tests (keine externen Abhängigkeiten erforderlich):
make test-unit

Sie können Unit-Tests auch mit Folgendem ausführen:

make test
  1. Integrationstests (erfordert, dass Docker-Container aktiv und betriebsbereit sind):
make test-integration
  1. Cloud-Tests (erfordert Cloud-Grafana-Instanz und Anmeldeinformationen):
make test-cloud

Hinweis: Cloud-Tests werden automatisch in CI konfiguriert. Für die lokale Entwicklung müssen Sie Ihre eigene Grafana Cloud-Instanz und Anmeldeinformationen einrichten.

Für umfassendere Integrationstests ist eine lokale Grafana-Instanz auf Port 3000 erforderlich. Sie können eine solche mit Docker Compose starten:

docker-compose up -d

Die Integrationstests können ausgeführt werden mit:

make test-all

Wenn Sie weitere Tools hinzufügen, fügen Sie bitte Integrationstests dafür hinzu. Die vorhandenen Tests sollten eine gute Grundlage sein.

Fusseln

Um den Code zu linten, führen Sie Folgendes aus:

make lint

Dies beinhaltet einen benutzerdefinierten Linter, der auf nicht maskierte Kommas in jsonschema Struktur-Tags prüft. Die Kommas in description müssen mit \\, um eine stille Kürzung zu verhindern. Sie können diesen Linter nur mit folgendem Befehl ausführen:

make lint-jsonschema

Weitere Einzelheiten finden Sie in der JSONSchema Linter-Dokumentation .

Lizenz

Dieses Projekt ist unter der Apache-Lizenz, Version 2.0 , lizenziert.

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein Model Context Protocol (MCP)-Server für Grafana.

Dies ermöglicht den Zugriff auf Ihre Grafana-Instanz und das umgebende Ökosystem.

  1. Merkmale
    1. Werkzeuge
  2. Verwendung
    1. Debug-Modus
  3. Entwicklung
    1. Testen
    2. Fusseln
  4. Lizenz

    Related MCP Servers

    • A
      security
      F
      license
      A
      quality
      A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.
      Last updated -
      8
      84
      27
      JavaScript
    • -
      security
      A
      license
      -
      quality
      A Model Context Protocol (MCP) server that lets you seamlessly use OpenAI's models right from Claude.
      Last updated -
      1
      24
      28
      JavaScript
      MIT License
      • Apple
    • -
      security
      A
      license
      -
      quality
      mcp server that allows to do actual actions related to solana first version adds knowledge about RPC methods and how to call them
      Last updated -
      18
      Rust
      The Unlicense
    • A
      security
      F
      license
      A
      quality
      An MCP server that allows users to interact with YNAB data, enabling access to account balances, transactions, and the creation of new transactions through the Model Context Protocol.
      Last updated -
      10
      1
      Python

    View all related MCP servers

    ID: s29pkmp7d9