B

Grafana MCP Server

Official Grafana MCP server providing access to dashboards, datasources, Prometheus, Loki, alerting, incidents, on-call, and many more Grafana ecosystem tools.

Overall Score83/100

Score Breakdown

Server Info

Package
mcp-grafana
Registry
npm
Maintainer
GrafanaVendor
Category
Developer Tools
Tags
observabilitydashboardsprometheus
Last Scanned
7 Apr 2026

Findings

4 issues

Authentication & Identity

MEDIUMHTTP/SSE transport supports per-request credentials

Supports stdio, SSE, and Streamable HTTP transports. Auth via GRAFANA_URL and GRAFANA_SERVICE_ACCOUNT_TOKEN (or deprecated GRAFANA_API_KEY) env vars. For HTTP transports, credentials can also be passed via request headers. No MCP OAuth spec implementation. Service account tokens provide scoped access.

Remediation

Implement the MCP OAuth spec so users authenticate directly without platform mediation.

Tool Schema Quality

MEDIUMOnly 0 of 70 schemas have parameter constraints

Most schemas lack maxLength, enum, or pattern constraints on string parameters.

Remediation

Add constraints to string parameters, especially on write operations.

Data Exposure

MEDIUM8 list operations lack pagination

Several list operations include limit parameters. Loki queries have a configurable max log limit (--max-loki-log-limit). Dashboard summaries provide compact representations. However, many list operations return full records without explicit pagination controls.

Remediation

Add limit/offset or cursor-based pagination.

LOWNo field selection on responses

Responses return full records rather than projected fields.

Remediation

Implement field selection to return only relevant fields.

Tools

70 total
NameDescriptionRisk
search_dashboardsSearch for dashboards in Grafanaread
search_foldersSearch for folders in Grafanaread
list_datasourcesList datasources in Grafanaread
get_datasourceGet datasource details by UID or nameread
list_incidentsList incidents in Grafana Incidentread
get_incidentGet incident detailsread
create_incidentCreate an incident in Grafana Incidentwrite
add_activity_to_incidentAdd an activity to an incidentwrite
list_prometheus_metric_metadataList Prometheus metric metadataread
query_prometheusExecute a PromQL queryread
list_prometheus_metric_namesList Prometheus metric namesread
list_prometheus_label_namesList Prometheus label namesread
list_prometheus_label_valuesList Prometheus label valuesread
query_prometheus_histogramQuery Prometheus histogram dataread
list_loki_label_namesList Loki label namesread
list_loki_label_valuesList Loki label valuesread
query_loki_logsQuery Loki for log linesread
query_loki_statsQuery Loki for log statisticsread
query_loki_patternsQuery Loki for log patternsread
query_elasticsearchQuery Elasticsearch datasourceread
manage_alert_rulesManage Grafana alert rules (read or read/write based on configuration)write
manage_notification_routingManage notification routing policieswrite
get_dashboard_by_uidGet dashboard by UIDread
update_dashboardUpdate or create a dashboardwrite
get_dashboard_panel_queriesGet panel queries from a dashboardread
get_dashboard_propertyGet a property from a dashboard panelread
get_dashboard_summaryGet a summary of a dashboardread
create_folderCreate a folder in Grafanawrite
list_oncall_schedulesList on-call schedulesread
get_oncall_shiftGet on-call shift detailsread
get_current_oncall_usersGet current on-call usersread
list_oncall_teamsList on-call teamsread
list_oncall_usersList on-call usersread
list_alert_groupsList alert groupsread
get_alert_groupGet alert group detailsread
get_assertionsGet assertions from Grafana Assertsread
get_sift_investigationGet a Sift investigationread
get_sift_analysisGet Sift analysis resultsread
list_sift_investigationsList Sift investigationsread
find_error_pattern_logsFind error patterns in logs via Siftread
find_slow_requestsFind slow requests via Siftread
list_teamsList teams in Grafanaread
list_users_by_orgList users by organizationread
list_all_rolesList all rolesread
get_role_detailsGet role detailsread
get_role_assignmentsGet role assignmentsread
list_user_rolesList roles for a userread
list_team_rolesList roles for a teamread
get_resource_permissionsGet resource permissionsread
get_resource_descriptionGet resource descriptionread
list_pyroscope_label_namesList Pyroscope label namesread
list_pyroscope_label_valuesList Pyroscope label valuesread
list_pyroscope_profile_typesList Pyroscope profile typesread
query_pyroscopeQuery Pyroscope for profiling dataread
generate_deeplinkGenerate a deeplink URL for Grafana resourcesread
get_annotationsGet annotations from Grafanaread
create_annotationCreate an annotation in Grafanawrite
update_annotationUpdate an annotation in Grafanawrite
get_annotation_tagsGet annotation tags from Grafanaread
get_panel_imageExport a dashboard panel as a PNG imageread
query_cloudwatchQuery CloudWatch metrics via Grafanaread
list_cloudwatch_namespacesList CloudWatch namespacesread
list_cloudwatch_metricsList CloudWatch metricsread
list_cloudwatch_dimensionsList CloudWatch dimensionsread
get_query_examplesGet query examples for a datasource typeread
query_clickhouseQuery ClickHouse datasource via Grafanaread
list_clickhouse_tablesList ClickHouse tablesread
describe_clickhouse_tableDescribe a ClickHouse table schemaread
search_logsSearch logs across multiple Loki datasourcesread
run_panel_queryExecute a dashboard panel queryread

Deploy Grafana MCP Server securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow