Labsco
MCP SERVER · OFFICIAL PROJECT

Grafana

by grafana

Search dashboards, run Prometheus and Loki queries, read incidents and on-call, and pull a rendered panel image — from your Grafana instance.

Observability, Monitoring & Incident ResponseOfficial source
Summary
Grafana publishes the RBAC action and scope for every single tool, which makes least privilege actually achievable.

That table is the reason to run this with a purpose-built service account rather than an Editor token: you can grant datasources:query on two specific datasource UIDs and know exactly which tools still work. The optional categories go the same way — administration and the heavier datasource integrations are off until named, so a connection starts narrow and widens on purpose. Worth knowing before your first call: fetching a large dashboard by UID returns the whole JSON, and the summary and property tools exist precisely because that can swallow a context window.

What it is

Grafana's own server for a Grafana instance, open source or Cloud. It reaches dashboards, datasources and the query languages behind them, plus alerting, incidents, Sift investigations, OnCall and administration.

What you get
  • Dashboards found, read whole or in parts, summarized without the full JSON, and created or updated — search_dashboards, get_dashboard_by_uid, get_dashboard_summary, get_dashboard_property, get_dashboard_panel_queries, update_dashboard
  • Datasources listed and resolved by UID or name, with example queries per type — list_datasources, get_datasource, get_query_examples
  • Prometheus queried directly, including histograms, with metric names, metadata and label discovery — query_prometheus, query_prometheus_histogram, list_prometheus_metric_names, list_prometheus_metric_metadata, list_prometheus_label_names, list_prometheus_label_values
  • Loki logs, patterns, stats and labels — query_loki_logs, query_loki_patterns, query_loki_stats, list_loki_label_names, list_loki_label_values
  • Optional datasource categories that stay off until you enable them: ClickHouse, CloudWatch, InfluxDB, Snowflake, Elasticsearch and Quickwit, each with its own query and table tools
  • Profiling through Pyroscope — query_pyroscope, list_pyroscope_profile_types, list_pyroscope_label_names, list_pyroscope_label_values
  • Alerting and on-call: alert rules, routing and silences managed, alert groups and schedules read, and who is on call right now — alerting_manage_rules, alerting_manage_routing, alerting_manage_silences, list_alert_groups, get_current_oncall_users, list_oncall_schedules
  • Incident response: incidents created, updated and annotated, and Sift investigations run to find error patterns and slow requests — create_incident, update_incident, add_activity_to_incident, list_incidents, find_error_pattern_logs, find_slow_requests, get_sift_analysis
  • The surrounding furniture — folders, annotations, snapshots, deeplinks, provisioning checks, rendered panel images, and Grafana Assistant — create_folder, get_annotations, create_annotation, create_snapshot, generate_deeplink, get_panel_image, list_provisioning_repositories, ask_assistant
  • Administration behind its own switch: teams, users, roles, assignments and resource permissions — list_teams, list_users_by_org, list_all_roles, get_role_details, get_resource_permissions
Requirements

Grafana 9.0 or later, and a service account token in GRAFANA_SERVICE_ACCOUNT_TOKEN with GRAFANA_URL pointing at the instance — your own host, or the Grafana Cloud URL. Run it with uvx as mcp-grafana, or from the binary, Docker image or Helm chart. Permissions are per tool: each one needs its own RBAC action and a matching scope, such as datasources:query on datasources:uid:prometheus-prod. Whole categories — Admin, Assistant, ClickHouse, CloudWatch, Snowflake, Elasticsearch, Quickwit, Examples and run_panel_query among them — stay off until you name them in --enabled-tools.

Setup effort

One command plus a key — uvx mcp-grafana, then supply credentials