Official

Grafana MCP Server

Grafana dashboards and metadata management for your AI model context.

Data last scanned today · Reviewed yesterday

Overview

This server facilitates communication with Grafana instances, allowing AI models to search for dashboards, retrieve summary metadata, or extract specific data points using JSONPath expressions. It supports retrieving full dashboard JSON as well as targeted patching to manage your monitoring visuals efficiently. Installation requires a Grafana service account token, with support for both local instances and Grafana Cloud environments. It is built in Go and compatible with Grafana 9.0 or later, providing a structured way to interact with panel queries and datasource information through MCP clients.

Our verdict

With a security score of 35/100, this tool carries a high risk level and should be handled with caution in production environments. The primary security concern is the total lack of an authentication method, meaning any user with access to your configuration can interact with the server. Additionally, the tool provides full write access to your Grafana instance with no read-only mode to prevent accidental modifications. Given it is community-maintained rather than official vendor software, it is best suited for local development or sandbox environments where data integrity is not a priority.

  • Zero direct dependencies reduces supply chain attack surface
  • Active development with commits made within the last day
  • Comprehensive documentation provided in the repository
  • Broad community support evidenced by over 3,200 GitHub stars
  • High security risk due to lack of authentication
  • No read-only mode restricts risk mitigation for write operations
  • Community-maintained software carries no official vendor guarantees

Tools

ToolDescriptionRisk
list_teamsList all teamslow
list_users_by_orgList all users in an organizationlow
list_all_rolesList all Grafana roleslow
get_role_detailsGet details for a Grafana rolelow
get_role_assignmentsList assignments for a rolelow
list_user_rolesList roles for userslow
list_team_rolesList roles for teamslow
get_resource_permissionsList permissions for a resourcelow
get_resource_descriptionDescribe a Grafana resource typelow
search_dashboardsSearch for dashboardslow
get_dashboard_by_uidGet a dashboard by uidlow
update_dashboardUpdate or create a new dashboardmedium
get_dashboard_panel_queriesGet panel title, queries, datasource UID and type from a dashboardlow
run_panel_queryExecute one or more dashboard panel querieslow
get_dashboard_propertyExtract specific parts of a dashboard using JSONPath expressionslow
get_dashboard_summaryGet a compact summary of a dashboard without full JSONlow
list_datasourcesList datasourceslow
get_datasourceGet a datasource by UID or namelow
get_query_examplesGet example queries for a datasource typelow
query_prometheusExecute a query against a Prometheus datasourcelow
list_prometheus_metric_metadataList metric metadatalow
list_prometheus_metric_namesList available metric nameslow
list_prometheus_label_namesList label names matching a selectorlow
list_prometheus_label_valuesList values for a specific labellow
query_prometheus_histogramCalculate histogram percentile valueslow
list_incidentsList incidents in Grafana Incidentlow
create_incidentCreate an incident in Grafana Incidentmedium
add_activity_to_incidentAdd an activity item to an incident in Grafana Incidentmedium
get_incidentGet a single incident by IDlow
query_loki_logsQuery and retrieve logs using LogQL (either log or metric queries)low
list_loki_label_namesList all available label names in logslow
list_loki_label_valuesList values for a specific log labellow
query_loki_statsGet statistics about log streamslow
query_loki_patternsQuery detected log patterns to identify common structureslow
analyze_loki_labelsAudit a Loki label strategy (live or static) and optionally diagnose query performancelow
suggest_loki_alloy_label_configGenerate an Alloy `loki.process` snippet enforcing approved labelslow
query_influxdbQuery InfluxDB using InfluxQL (v1) or Flux (v2)low
list_clickhouse_tablesList tables in a ClickHouse databaselow
describe_clickhouse_tableGet table schema with column typeslow
query_clickhouseExecute SQL queries with macro substitutionlow
list_cloudwatch_namespacesList available AWS CloudWatch namespaceslow
list_cloudwatch_metricsList metrics in a namespacelow
list_cloudwatch_dimensionsList dimensions for a metriclow
query_cloudwatchExecute CloudWatch metric querieslow
list_athena_catalogsList available Athena data catalogslow
list_athena_databasesList databases in an Athena cataloglow
list_athena_tablesList tables in an Athena databaselow
describe_athena_tableGet column names for an Athena tablelow
query_athenaExecute SQL queries with macro substitutionmedium
query_elasticsearchQuery Elasticsearch or OpenSearch using Lucene syntax or Query DSLlow
query_quickwitQuery Quickwit using Lucene syntax or Query DSLlow
list_snowflake_tablesList tables in a Snowflake database/schema via INFORMATION_SCHEMAlow
describe_snowflake_tableGet table schema (column types, nullability, defaults, comments)low
query_snowflakeExecute SQL queries with macro/variable substitutionmedium
alerting_manage_rulesManage alert rules (list, get, versions, create, update, delete)medium
alerting_manage_routingManage notification policies, contact points, and time intervalsmedium
list_oncall_schedulesList schedules from Grafana OnCalllow
get_oncall_shiftGet details for a specific OnCall shiftlow
get_current_oncall_usersGet users currently on-call for a specific schedulelow
list_oncall_teamsList teams from Grafana OnCalllow
list_oncall_usersList users from Grafana OnCalllow
list_alert_groupsList alert groups from Grafana OnCall with filtering optionslow
get_alert_groupGet a specific alert group from Grafana OnCall by its IDlow
get_sift_investigationRetrieve an existing Sift investigation by its UUIDlow
get_sift_analysisRetrieve a specific analysis from a Sift investigationlow
list_sift_investigationsRetrieve a list of Sift investigations with an optional limitlow
find_error_pattern_logsFinds elevated error patterns in Loki logs.low
find_slow_requestsFinds slow requests from the relevant tempo datasources.low
list_pyroscope_label_namesList label names matching a selectorlow
list_pyroscope_label_valuesList label values matching a selector for a label namelow
list_pyroscope_profile_typesList available profile typeslow
query_pyroscopeQuery profiles, metrics, or both from Pyroscopelow
get_assertionsGet assertion summary for a given entitylow
generate_deeplinkGenerate accurate deeplink URLs for Grafana resourceslow
get_annotationsFetch annotations with filterslow
create_annotationCreate a new annotation (standard or Graphite format)medium
update_annotationUpdate specific fields of an annotation (partial update)medium
get_annotation_tagsList annotation tags with optional filteringlow
list_snapshotsList dashboard snapshots with optional query and limit filterslow
get_snapshotGet snapshot metadata and dashboard payload by snapshot keylow
create_snapshotCreate a dashboard snapshot from a full dashboard payloadmedium
delete_snapshotDelete a dashboard snapshot by snapshot keyhigh
get_panel_imageRender a stored dashboard or panel — or a provisioning preview from a repository branch — as a PNG imagelow
list_provisioning_repositoriesList provisioning repositories (e.g. git-sync sources) with their source URL, branch, sync state, and healthlow
validate_provisioning_fileDry-run-apply a file from a provisioning repository and report admission validation errorslow
create_folderCreates a folder in Grafana.medium

Compatibility

ClientLocalDockerRemoteRead-only
ChatGPT
Claude Desktop
Cursor
VS Code
Windsurf

Alternatives

Badge

Grafana MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.