
Description
Connect AI coding agents (Claude Code, Cursor, VS Code, OpenAI Codex) to Grafana Cloud via the `mcp-grafana` Model Context Protocol server. Installs the server with `go install`, generates a Grafana service-account token, wires `~/.claude/settings.json` or `~/.cursor/mcp.json` with the `command` + `env` block, runs `--disable-write` for safer read-only sessions, switches to SSE transport for team-shared / VS Code setups, and verifies with `/mcp` + a `list_datasources` round-trip. Use when connecting Claude Code to Grafana, setting up MCP for Grafana, configuring the Grafana MCP server, using Grafana tools in Cursor/VS Code, querying Grafana from an AI agent, sharing the MCP server across a team — even when the user says "give my agent Grafana access", "let Claude see my metrics", or "Cursor + Grafana" without saying "MCP".
SKILL.md
Grafana Cloud MCP Server Setup
The Grafana MCP server exposes Grafana Cloud capabilities as tools that AI agents can call via the Model Context Protocol. Agents can then query metrics, search dashboards, manage alerts, investigate incidents, and interact with Fleet Management without leaving the coding environment.
Transports: stdio (agent spawns the server as a subprocess, simplest), or SSE (server runs independently, agents connect via HTTP — see references/sse-transport.md).
Common Workflows
Connecting Claude Code to Grafana (stdio)
# 1. Install the server
go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
# 2. Verify the binary
mcp-grafana --version
# If "command not found": ensure $GOPATH/bin (or $HOME/go/bin) is on PATH.
- Get a service-account token: Grafana Cloud → Administration → Service Accounts → create with
Viewerrole (addEditoronly if you need writes) → generate token. Note the Grafana URL (e.g.https://myorg.grafana.net). - Wire
~/.claude/settings.json(or project-local.claude/settings.json):{ "mcpServers": { "grafana": { "command": "mcp-grafana", "args": ["--disable-write"], "env": { "GRAFANA_URL": "https://myorg.grafana.net", "GRAFANA_API_KEY": "glsa_xxxx" } } } }--disable-writeis the safer default — drop it once you've verified the read path works. - Restart Claude Code, then verify:
/mcp
Thegrafanaserver should appear with its tool list. Then ask:What data sources are configured in my Grafana instance?
A clean response = working. If the tool call fails:- Check
GRAFANA_URLhas no trailing slash - Confirm the API key hasn't expired
- Re-run with
mcp-grafana --debugto see raw request/response
- Check
Connecting Cursor
Same Grafana token. Settings → Features → MCP Servers (or edit ~/.cursor/mcp.json):
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": ["--disable-write"],
"env": {
"GRAFANA_URL": "https://myorg.grafana.net",
"GRAFANA_API_KEY": "glsa_xxxx"
}
}
}
}
Verify the same way — Cursor surfaces MCP servers in its agent panel; run a query like "list dashboards tagged kubernetes".
Sharing the server across a team (SSE)
Switch from stdio to SSE so the server runs once and many agents connect to it. Full setup with VS Code config in references/sse-transport.md.
Security considerations
- API keys belong in env vars or a secrets manager — never in committed files.
- Use
--disable-writefor shared environments and CI; only lift it on the specific machine where the agent should be allowed to mutate Grafana. - Scope service-account permissions to the minimum:
Vieweris enough for queries and dashboard reads. Only grantEditorwhen the agent needs to create dashboards or annotations. - Rotate tokens periodically via Administration → Service Accounts.
References
references/tools.md— full list of MCP tools exposed (query / dashboard / alerting / Fleet Management / annotations) and how to discover the live setreferences/sse-transport.md— SSE setup for team sharing and VS Code, with stdio-vs-SSE decision matrix + common failure modesreferences/a2a.md— Agent-to-Agent (A2A) protocol for delegating reasoning to the Grafana Assistant (vs direct tool calls via MCP)
External resources
More skills from the skills repository
View all 48 skillsadaptive-metrics
optimize Grafana Cloud metrics costs
Jul 12Cost OptimizationGrafanaMetricsObservabilityadmin
manage Grafana Cloud accounts and RBAC
Jul 12Access ControlAuthGrafanaOperationsadmission-control
implement admission control webhooks
Jul 12ArchitectureSecurityValidationalerting-irm
configure Grafana Alerting and Incident Management
Jul 12AlertingGrafanaIncident ResponseMonitoringalloy
build unified telemetry pipelines with Grafana Alloy
Jul 12GrafanaLogsMetricsObservability +1app-observability
monitor application performance in Grafana Cloud
Jul 12APMDistributed TracingGrafanaLLM +1
More from Grafana
View publisherfaro-setup-web
instrument web apps with Grafana Faro
faro-web-sdk
Jul 12Distributed TracingFrontendMonitoringObservabilityconfiguring-yesoreyeram-infinity-datasource
configure Grafana Infinity data source
grafana-infinity-datasource
Jul 12API DevelopmentAuthenticationConfigurationGrafanaquerying-yesoreyeram-infinity-datasource
query data with Infinity datasource
grafana-infinity-datasource
Jul 15CSVData AnalysisGrafanaGraphQL +1agento11y
manage Grafana Agent Observability resources
gcx
Jul 18AgentsGrafanaMonitoringObservabilityagento11y-eval-starter
scaffold evaluation experiments for agents
gcx
Jul 21AgentsEvalsExperimentsGrafanaagento11y-instrument
instrument LLM apps for agent observability
gcx
Jul 21AgentsGrafanaInstrumentationLLM +1