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.
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.
- 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
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.
One command plus a key — bunx @daanrongen/grafana-mcp, then supply credentials
