Labsco
MCP SERVER

Grafana

by daanrongen

Full lifecycle control of a Grafana instance from an assistant: create, update and delete dashboards, datasources and folders, read alert rules and firing instances, and write annotations.

Observability, Monitoring & Incident Response
Summary
It can delete, so scope the token.

Deletion tools for dashboards, datasources and folders are in the default set, and the only thing standing between an assistant and a removed dashboard is the permission on the service account token you hand it. Create a token with the narrowest role that covers what you actually want done — that decision matters more here than in a read-only integration.

What it is

A TypeScript MCP server that talks to Grafana's HTTP API over stdio. Unlike read-only Grafana integrations, this one creates and deletes: the tool set covers the whole lifecycle for the objects it manages.

What you get
  • Dashboards — `list_dashboards`, `get_dashboard`, `create_dashboard`, `update_dashboard`, `delete_dashboard`
  • Datasources — `list_datasources`, `get_datasource`, `create_datasource`, `delete_datasource`
  • Alerting — `list_alert_rules`, `get_alert_rule`, and `list_alert_instances` for what is firing in Alertmanager
  • Folders — `list_folders`, `create_folder`, `delete_folder`
  • Annotations — `list_annotations` and `create_annotation`, dashboard-scoped or global
  • `health_check` for the instance's status
  • 17 tools in total, and an MCP Inspector target for calling them interactively against a real instance before you wire it into a client
Requirements

Two environment variables, both required: GRAFANA_URL for the base URL and GRAFANA_API_KEY for a service account token or API key. Run it with `bunx @daanrongen/grafana-mcp` from your client config, or add it in one line with the Claude Code CLI. The transport is stdio. MIT licensed.

Setup effort

One command plus a key — bunx @daanrongen/grafana-mcp, then supply credentials