MCP.so
Sign In
G

Grafana MCP Server

@christian-schlichtherle

Basic information

Category

Developer Tools

Transports

stdio

Author

christian-schlichtherle

Submitted by

Christian Schlichtherle

About Grafana MCP Server

An MCP server for the comprehensive discovery, editing, and testing of dashboards and folders in one or more Grafana clusters.

Grafana MCP Server config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "grafana": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/grafana-mcp",
        "run",
        "main.py"
      ],
      "env": {
        "GRAFANA_CLUSTERS": "local=http://localhost:3000 dev=https://dev.example.com/grafana",
        "GRAFANA_TOKENS": "dev=glsa_abc123xyz"
      }
    }
  }
}

Grafana MCP Server tools

Tool list not available yet

This listing does not currently have a tool list to display. This does not mean the server has no tools; check its documentation for supported capabilities.

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Grafana MCP Server?

Grafana MCP Server is an MCP (Model Context Protocol) server for discovering, editing, and testing dashboards and folders in one or more Grafana clusters. It enforces a security model based on labels and folders, and is intended for developers and operators managing Grafana resources programmatically.

How to use Grafana MCP Server?

Install dependencies with uv sync or pip install -e ., then set environment variables (GRAFANA_CLUSTERS, GRAFANA_TOKENS, GRAFANA_LABELS, GRAFANA_FOLDER) as needed. Run python main.py to start the server, which exposes MCP tools for discovery, editing, and testing.

Key features of Grafana MCP Server

  • Dashboard protection with automatic labeling on creation
  • Selective update/deletion only for protected dashboards
  • Unrestricted reading of any dashboard
  • Configurable access control to specific folders
  • Multi-cluster management across Grafana instances
  • Comprehensive search API with filtering options

Use cases of Grafana MCP Server

  • Manage dashboards across multiple Grafana clusters from a single server
  • Enforce access control by restricting operations to labeled or folder-scoped resources
  • Copy dashboards between clusters with intelligent UID handling
  • Validate dashboard schemas and compare structural differences
  • Create snapshots and render panels for visual testing

Frequently asked questions

1

What are protection labels?

Protection labels are automatically added to dashboards created by Grafana MCP Server. Only dashboards with these labels can be updated or deleted, preventing accidental modifications.

2

How do I configure multiple Grafana clusters?

Set the `GRAFANA_CLUSTERS` environment variable as space-separated `key=value` pairs (e.g., `localhost=http://localhost:3000 prod=https://grafana.prod.com`). Optionally set `GRAFANA_TOKENS` for authenticated clusters.

3

Do I need authentication for local Grafana instances?

No. For local development, you can run Grafana with anonymous authentication enabled (see README for Docker command) and omit the `GRAFANA_TOKENS` variable. The server defaults to `localhost=http://localhost:3000` without tokens.

4

How do I create a service account token for a production cluster?

Via the Grafana UI: go to Administration → Service Accounts, create an account with the desired role, generate a token (prefixed `glsa_`), and save it. Then set `GRAFANA_TOKENS` with the token value.

5

Can the server overwrite existing dashboards?

No. By design, dashboard creation uses automatic protection labels and prevents accidental overwrites. The `copy_dashboard` tool includes optional overwrite capabilities.

Comments

More Developer Tools MCP servers