Grafana▌

by grafana
Safely connect cloud Grafana to AI agents with MCP: query, inspect, and manage Grafana resources using simple, focused o
Grafana MCP server is a Model Context Protocol (MCP) adapter that exposes a Grafana instance (and its ecosystem: datasources, alerts, incidents, OnCall, annotations, etc.) as a set of small, intention-focused tools for LLM-based assistants and other MCP clients. It lets AI agents safely inspect, query, and (optionally) modify Grafana resources using compact, predictable operations instead of asking the LLM to guess APIs or URLs.
best for
- / DevOps teams automating monitoring workflows
- / SREs managing incidents and alerts
- / Developers integrating observability into AI tools
- / Teams using AI assistants for Grafana administration
capabilities
- / Query Grafana dashboards and panels
- / Search and inspect datasources
- / Manage alerts and incidents
- / Access OnCall configurations
- / Create and modify annotations
- / Execute safe operations on Grafana resources
what it does
Connects AI assistants to Grafana instances, allowing them to inspect, query, and modify dashboards, datasources, alerts, and other Grafana resources through structured operations.
about
Grafana is an official MCP server published by grafana that provides AI assistants with tools and capabilities via the Model Context Protocol. Safely connect cloud Grafana to AI agents with MCP: query, inspect, and manage Grafana resources using simple, focused o It is categorized under developer tools.
how to install
You can install Grafana in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
license
Apache-2.0
Grafana is released under the Apache-2.0 license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
readme
Grafana MCP server
A [Model Context Protocol][mcp] (MCP) server for Grafana.
This provides access to your Grafana instance and the surrounding ecosystem.
Quick Start
Requires uv. Add the following to your MCP client configuration (e.g. Claude Desktop, Cursor):
{
"mcpServers": {
"grafana": {
"command": "uvx",
"args": ["mcp-grafana"],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your service account token>"
}
}
}
}
For Grafana Cloud, replace GRAFANA_URL with your instance URL (e.g. https://myinstance.grafana.net). See Usage for more installation options including Docker, binary, and Helm.
Requirements
- Grafana version 9.0 or later is required for full functionality. Some features, particularly datasource-related operations, may not work correctly with earlier versions due to missing API endpoints.
Features
The following features are currently available in MCP server. This list is for informational purposes only and does not represent a roadmap or commitment to future features.
Dashboards
- Search for dashboards: Find dashboards by title or other metadata
- Get dashboard by UID: Retrieve full dashboard details using its unique identifier. Warning: Large dashboards can consume significant context window space.
- Get dashboard summary: Get a compact overview of a dashboard including title, panel count, panel types, variables, and metadata without the full JSON to minimize context window usage
- Get dashboard property: Extract specific parts of a dashboard using JSONPath expressions (e.g.,
$.title,$.panels[*].title) to fetch only needed data and reduce context window consumption - Update or create a dashboard: Modify existing dashboards or create new ones. Warning: Requires full dashboard JSON which can consume large amounts of context window space.
- Patch dashboard: Apply specific changes to a dashboard without requiring the full JSON, significantly reducing context window usage for targeted modifications
- Get panel queries and datasource info: Get the title, query string, and datasource information (including UID and type, if available) from every panel in a dashboard
Run Panel Query
Note: Run panel query tools are disabled by default. To enable them, add
runpanelqueryto your--enabled-toolsflag.
- Run panel query: Execute a dashboard panel's query with custom time ranges and variable overrides.
Context Window Management
The dashboard tools now include several strategies to manage context window usage effectively (issue #101):
- Use
get_dashboard_summaryfor dashboard overview and planning modifications - Use
get_dashboard_propertywith JSONPath when you only need specific dashboard parts - Avoid
get_dashboard_by_uidunless you specifically need the complete dashboard JSON
Datasources
- List and fetch datasource information: View all configured datasources and retrieve detailed information about each.
- Supported datasource types: Prometheus, Loki, ClickHouse, CloudWatch, Elasticsearch.
Query Examples
Note: Query examples tools are disabled by default. To enable them, add
examplesto your--enabled-toolsflag.
- Get query examples: Retrieve example queries for different datasource types to learn query syntax.
Prometheus Querying
- Query Prometheus: Execute PromQL queries (supports both instant and range metric queries) against Prometheus datasources.
- Query Prometheus metadata: Retrieve metric metadata, metric names, label names, and label values from Prometheus datasources.
- Query histogram percentiles: Calculate histogram percentile values (p50, p90, p95, p99) using histogram_quantile.
Loki Querying
- Query Loki logs and metrics: Run both log queries and metric queries using LogQL against Loki datasources.
- Query Loki metadata: Retrieve label names, label values, and stream statistics from Loki datasources.
- Query Loki patterns: Retrieve log patterns detected by Loki to identify common log structures and anomalies.
ClickHouse Querying
Note: ClickHouse tools are disabled by default. To enable them, add
clickhouseto your--enabled-toolsflag.
- List ClickHouse tables: List all tables in a ClickHouse database with row counts and sizes.
- Describe table schema: Get column names, types, and metadata for a ClickHouse table.
- Query ClickHouse: Execute SQL queries with Grafana macro and variable substitution support.
CloudWatch Querying
Note: CloudWatch tools are disabled by default. To enable them, add
cloudwatchto your--enabled-toolsflag.
- List CloudWatch namespaces: Discover available AWS CloudWatch namespaces.
- List CloudWatch metrics: List metrics available in a specific namespace.
- List CloudWatch dimensions: Get dimensions for filtering metric queries.
- Query CloudWatch: Execute CloudWatch metric queries with time range support.
Log Search
Note: Search logs tools are disabled by default. To enable them, add
searchlogsto your--enabled-toolsflag.
- Search logs: High-level log search across ClickHouse (OTel format) and Loki datasources.
Elasticsearch Querying
Note: Elasticsearch tools are disabled by default. To enable them, add
elasticsearchto your--enabled-toolsflag.
- Query Elasticsearch: Execute search queries against Elasticsearch datasources using either Lucene query syntax or Elasticsearch Query DSL. Supports filtering by time range and retrieving logs, metrics, or any indexed data. Returns documents with their index, ID, source fields, and optional relevance score.
Incidents
- Search, create, and update incidents: Manage incidents in Grafana Incident, including searching, creating, and adding activities to incidents.
Sift Investigations
- List Sift investigations: Retrieve a list of Sift investigations, with support for a limit parameter.
- Get Sift investigation: Retrieve details of a specific Sift investigation by its UUID.
- Get Sift analyses: Retrieve a specific analysis from a Sift investigation.
- Find error patterns in logs: Detect elevated error patterns in Loki logs using Sift.
- Find slow requests: Detect slow requests using Sift (Tempo).
Alerting
- List and fetch alert rule information: View alert rules and their statuses (firing/normal/error/etc.) in Grafana. Supports both Grafana-managed rules and datasource-managed rules from Prometheus or Loki datasources.
- Create and update alert rules: Create new alert rules or modify existing ones.
- Delete alert rules: Remove alert rules by UID.
- Manage alerting routing: View notification policies, contact points, and time intervals. Supports both Grafana-managed contact points and receivers from external Alertmanager datasources (Prometheus Alertmanager, Mimir, Cortex).
Grafana OnCall
- List and manage schedules: View and manage on-call schedules in Grafana OnCall.
- Get shift details: Retrieve detailed information about specific on-call shifts.
- Get current on-call users: See which users are currently on call for a schedule.
- List teams and users: View all OnCall teams and users.
- List alert groups: View and filter alert groups from Grafana OnCall by various criteria including state, integration, labels, and time range.
- Get alert group details: Retrieve detailed information about a specific alert group by its ID.
Admin
Note: Admin tools are disabled by default. To enable them, include
adminin your--enabled-toolsflag.
- List teams: View all configured teams in Grafana.
- List Users: View all users in an organization in Grafana.
- List all roles: List all Grafana roles, with an optional filter for delegatable roles.
- Get role details: Get details for a specific Grafana role by UID.
- List assignments for a role: List all users, teams, and service accounts assigned to a role.
- List roles for users: List all roles assigned to one or more users.
- List roles for teams: List all roles assigned to one or more teams.
- List permissions for a resource: List all permissions defined for a specific resource (dashboard, datasource, folder, etc.).
- Describe a Grafana resource: List available permissions and assignment capabilities for a resource type.
Navigation
- Generate deeplinks: Create accurate deeplink URLs for Grafana resources instead of relying on LLM URL guessing.
- Dashboard links: Generate direct links to dashboards using their UID (e.g.,
http://localhost:3000/d/dashboard-uid) - Panel links: Create links to specific panels within dashboards with viewPanel parameter (e.g.,
http://localhost:3000/d/dashboard-uid?viewPanel=5) - Explore links: Generate links to Grafana Explore with pre-configured datasources (e.g., `http://localhost:3000/explore?left={"dataso
- Dashboard links: Generate direct links to dashboards using their UID (e.g.,