Grafana MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GRAFANA_URL | Yes | The URL of your Grafana instance | |
| GRAFANA_DEBUG | No | Enable debug logging | false |
| GRAFANA_TOKEN | Yes | Your service account token or API key for authentication | |
| GRAFANA_TIMEOUT | No | HTTP timeout in milliseconds | 30000 |
| GRAFANA_TLS_CA_FILE | No | Path to CA certificate file | |
| GRAFANA_TLS_KEY_FILE | No | Path to client key file | |
| GRAFANA_DISABLE_TOOLS | No | Disable specific tool categories (comma-separated) | |
| GRAFANA_TLS_CERT_FILE | No | Path to client certificate file | |
| GRAFANA_TLS_SKIP_VERIFY | No | Skip certificate verification (insecure) | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_dashboardsC | Search for dashboards by title, tags, or other metadata |
| get_dashboard_by_uidB | Get full dashboard details using its unique identifier |
| update_dashboardC | Update an existing dashboard or create a new one. Use with caution due to context window limitations. |
| get_dashboard_panel_queriesC | Get the title, query string, and datasource information from every panel in a dashboard |
| get_dashboard_versionsC | Get version history for a dashboard |
| restore_dashboard_versionC | Restore a dashboard to a specific version |
| delete_dashboardB | Delete a dashboard by UID |
| list_teamsC | List all teams in the organization |
| get_team_by_uidB | Get team details by UID |
| list_usersC | List all users in the organization |
| get_current_userB | Get current user information |
| list_foldersC | List all folders |
| get_folder_by_uidC | Get folder details by UID |
| list_api_keysB | List all API keys |
| list_service_accountsB | List all service accounts |
| get_current_organizationC | Get current organization information |
| list_datasourcesB | List all configured datasources with their details |
| get_datasource_by_uidC | Get detailed information about a datasource using its UID |
| get_datasource_by_nameC | Get detailed information about a datasource using its name |
| test_datasource_connectionC | Test the connection to a datasource by UID |
| get_datasources_by_typeB | Get all datasources of a specific type (e.g., prometheus, loki, mysql) |
| get_default_datasourceB | Get the default datasource for the organization |
| check_datasource_existsC | Check if a datasource exists by UID or name |
| query_prometheusC | Execute a PromQL query against a Prometheus datasource |
| get_prometheus_metadataC | Get metadata for all metrics from a Prometheus datasource |
| get_prometheus_labelsB | Get all label names from a Prometheus datasource |
| get_prometheus_label_valuesC | Get all values for a specific label from a Prometheus datasource |
| get_prometheus_seriesC | Find series matching label matchers from a Prometheus datasource |
| build_prometheus_queryC | Help build a Prometheus query with suggestions for metric names and operators |
| query_lokiC | Execute a LogQL query against a Loki datasource to search logs |
| get_loki_labelsB | Get all label names available in a Loki datasource |
| get_loki_label_valuesC | Get all values for a specific label in a Loki datasource |
| get_loki_seriesC | Get series (label combinations) matching label selectors from a Loki datasource |
| build_logql_queryC | Help build a LogQL query with suggestions for log stream selectors and filters |
| get_loki_statsC | Get statistics about ingestion and query performance from a Loki datasource |
| list_alert_rulesC | List all alert rules in Grafana |
| get_alert_ruleC | Get detailed information about a specific alert rule |
| create_alert_ruleD | Create a new alert rule |
| update_alert_ruleC | Update an existing alert rule |
| delete_alert_ruleC | Delete an alert rule by UID |
| list_contact_pointsB | List all notification contact points |
| get_contact_pointC | Get detailed information about a specific contact point |
| test_contact_pointC | Send a test notification to a contact point |
| list_alert_rule_groupsC | List all alert rule groups |
| generate_deeplinkC | Generate a deeplink URL for Grafana dashboards, panels, or explore view |
| generate_dashboard_urlC | Generate a URL for a specific dashboard with optional time range and variables |
| generate_panel_urlC | Generate a URL for a specific panel with optional time range |
| generate_explore_urlC | Generate a URL for the Explore view with optional datasource and query |
| generate_prometheus_explore_urlC | Generate an Explore URL for Prometheus queries with specific options |
| generate_loki_explore_urlC | Generate an Explore URL for Loki log queries |
| get_time_range_presetsB | Get common time range presets for Grafana |
| validate_time_rangeC | Validate a time range for Grafana usage |
| discover_sensorsA | Scan ports for active SSH-tunneled Corelight sensor Grafana instances. Returns connected sensors with hostname, port, Grafana version, and Prometheus status. |
| sensor_statusA | Get live performance snapshot for a sensor: Gbps, kpps, klogps, drop rates, max worker CPU, buffer utilization, and system memory. Uses 5-min rate smoothing. |
| query_sensor_metricA | Execute arbitrary PromQL against a sensor's Prometheus datasource. Auto-resolves datasource UID and target sensor. |
| deploy_ramp_dashboardB | Deploy the RAMP Performance Analysis dashboard to a sensor's Grafana. Optionally patch with baseline comparison panels by specifying a build and profile. |
| list_baselinesB | List available builds and profiles from baselines.json. Optionally filter by sensor type (e.g., "AP1100", "AP3000"). |
| sensor_performance_verdictA | Compare live sensor metrics against a baseline build and return a structured verdict. Thresholds: <5% = PASS, 5-10% = MINOR REGRESSION (P2), >10% = MAJOR REGRESSION (P1), any drops = FAIL. |
| annotate_testB | Add a Grafana annotation on a sensor for test events (start/end/result/rate change). Supports range annotations and dashboard association. Tagged with ramp-test by default. |
| fleet_verdictC | Run performance verdict against all discovered sensors in parallel. Returns per-sensor results and fleet summary. |
| sensor_trendB | Show a sensor type's performance across all builds in baselines.json. Useful for spotting when regressions were introduced. |
| list_test_runsB | List RAMP test runs from the results directory. Filter by date or sensor name. |
| get_test_resultB | Read the final result (Gbps, kpps, klogps, status) from a RAMP test run. |
| get_test_vitalsB | Read all VITAL metric samples from a RAMP test run (time-series data). |
| summarize_runC | Get a complete summary of a RAMP test run including metadata, final result, vital count, and error status. |
| diagnose_dropsA | Run a comprehensive diagnostic battery against a sensor to identify where drops are occurring and why. Returns drop sources by layer (NIC/Zeek/Suricata), bottleneck classification, and leading indicators. |
| fingerprint_regressionC | Combine performance verdict with live diagnostic data to fingerprint the root cause of a regression. |
| compare_buildsB | Compare two firmware builds across all sensor types and profiles using baseline data. |
| watch_testC | Monitor a sensor during a RAMP test, polling metrics at a configurable interval. |
| explore_sensor_metricsA | List all available Prometheus metric names on a sensor, grouped by subsystem. |
| ixia_set_rateA | Set the Ixia traffic replayer to a specific rate in Gbps. This stops any running test and restarts at the new rate. |
| ixia_stopA | Stop the Ixia traffic replayer. Halts all traffic generation on the specified replayer. |
| ixia_statusC | Check the current status of an Ixia traffic replayer (running/stopped, rate, test model). |
| start_ramp_testA | Start a RAMP performance test on the RAMP server. Set confirm=true to actually start; default is a dry run that shows what would run. |
| stop_ramp_testA | Stop a running RAMP test by killing its tmux session on the RAMP server. |
| test_statusA | Check the status of RAMP tests running on the RAMP server (lists active tmux sessions). |
| fleet_regression_sweepC | Run a regression sweep across all discovered sensors against a specific build. Checks each sensor against all its baseline profiles and optionally fingerprints regressions. |
| forecast_max_rateA | Extrapolate the maximum sustainable traffic rate for a sensor based on current resource utilization. Shows headroom per subsystem (Zeek CPU, buffer, memory) and identifies the limiting factor. |
| preflight_riskA | Assess whether a sensor is ready for a RAMP test by checking for existing drops, memory pressure, CPU baseline, and buffer residue. Returns a risk score and go/no-go recommendation. |
| predict_firmware_impactC | Analyze historical baseline data to predict how the next firmware build will affect performance. Shows trend direction (improving/stable/declining) per sensor type and profile, with fleet-wide risk. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/quanticsoul4772/grafana-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server