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 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_dashboards | Search for dashboards by title, tags, or other metadata |
| get_dashboard_by_uid | Get full dashboard details using its unique identifier |
| update_dashboard | Update an existing dashboard or create a new one. Use with caution due to context window limitations. |
| get_dashboard_panel_queries | Get the title, query string, and datasource information from every panel in a dashboard |
| get_dashboard_versions | Get version history for a dashboard |
| restore_dashboard_version | Restore a dashboard to a specific version |
| delete_dashboard | Delete a dashboard by UID |
| list_teams | List all teams in the organization |
| get_team_by_uid | Get team details by UID |
| list_users | List all users in the organization |
| get_current_user | Get current user information |
| list_folders | List all folders |
| get_folder_by_uid | Get folder details by UID |
| list_api_keys | List all API keys |
| list_service_accounts | List all service accounts |
| get_current_organization | Get current organization information |
| list_datasources | List all configured datasources with their details |
| get_datasource_by_uid | Get detailed information about a datasource using its UID |
| get_datasource_by_name | Get detailed information about a datasource using its name |
| test_datasource_connection | Test the connection to a datasource by UID |
| get_datasources_by_type | Get all datasources of a specific type (e.g., prometheus, loki, mysql) |
| get_default_datasource | Get the default datasource for the organization |
| check_datasource_exists | Check if a datasource exists by UID or name |
| query_prometheus | Execute a PromQL query against a Prometheus datasource |
| get_prometheus_metadata | Get metadata for all metrics from a Prometheus datasource |
| get_prometheus_labels | Get all label names from a Prometheus datasource |
| get_prometheus_label_values | Get all values for a specific label from a Prometheus datasource |
| get_prometheus_series | Find series matching label matchers from a Prometheus datasource |
| build_prometheus_query | Help build a Prometheus query with suggestions for metric names and operators |
| query_loki | Execute a LogQL query against a Loki datasource to search logs |
| get_loki_labels | Get all label names available in a Loki datasource |
| get_loki_label_values | Get all values for a specific label in a Loki datasource |
| get_loki_series | Get series (label combinations) matching label selectors from a Loki datasource |
| build_logql_query | Help build a LogQL query with suggestions for log stream selectors and filters |
| get_loki_stats | Get statistics about ingestion and query performance from a Loki datasource |
| list_alert_rules | List all alert rules in Grafana |
| get_alert_rule | Get detailed information about a specific alert rule |
| create_alert_rule | Create a new alert rule |
| update_alert_rule | Update an existing alert rule |
| delete_alert_rule | Delete an alert rule by UID |
| list_contact_points | List all notification contact points |
| get_contact_point | Get detailed information about a specific contact point |
| test_contact_point | Send a test notification to a contact point |
| list_alert_rule_groups | List all alert rule groups |
| generate_deeplink | Generate a deeplink URL for Grafana dashboards, panels, or explore view |
| generate_dashboard_url | Generate a URL for a specific dashboard with optional time range and variables |
| generate_panel_url | Generate a URL for a specific panel with optional time range |
| generate_explore_url | Generate a URL for the Explore view with optional datasource and query |
| generate_prometheus_explore_url | Generate an Explore URL for Prometheus queries with specific options |
| generate_loki_explore_url | Generate an Explore URL for Loki log queries |
| get_time_range_presets | Get common time range presets for Grafana |
| validate_time_range | Validate a time range for Grafana usage |
| discover_sensors | Scan ports for active SSH-tunneled Corelight sensor Grafana instances. Returns connected sensors with hostname, port, Grafana version, and Prometheus status. |
| sensor_status | 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_metric | Execute arbitrary PromQL against a sensor's Prometheus datasource. Auto-resolves datasource UID and target sensor. |
| deploy_ramp_dashboard | Deploy the RAMP Performance Analysis dashboard to a sensor's Grafana. Optionally patch with baseline comparison panels by specifying a build and profile. |
| list_baselines | List available builds and profiles from baselines.json. Optionally filter by sensor type (e.g., "AP1100", "AP3000"). |
| sensor_performance_verdict | 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_test | 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_verdict | Run performance verdict against all discovered sensors in parallel. Returns per-sensor results and fleet summary. |
| sensor_trend | Show a sensor type's performance across all builds in baselines.json. Useful for spotting when regressions were introduced. |
| list_test_runs | List RAMP test runs from the results directory. Filter by date or sensor name. |
| get_test_result | Read the final result (Gbps, kpps, klogps, status) from a RAMP test run. |
| get_test_vitals | Read all VITAL metric samples from a RAMP test run (time-series data). |
| summarize_run | Get a complete summary of a RAMP test run including metadata, final result, vital count, and error status. |
| diagnose_drops | 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_regression | Combine performance verdict with live diagnostic data to fingerprint the root cause of a regression. |
| compare_builds | Compare two firmware builds across all sensor types and profiles using baseline data. |
| watch_test | Monitor a sensor during a RAMP test, polling metrics at a configurable interval. |
| explore_sensor_metrics | List all available Prometheus metric names on a sensor, grouped by subsystem. |
| ixia_set_rate | Set the Ixia traffic replayer to a specific rate in Gbps. This stops any running test and restarts at the new rate. |
| ixia_stop | Stop the Ixia traffic replayer. Halts all traffic generation on the specified replayer. |
| ixia_status | Check the current status of an Ixia traffic replayer (running/stopped, rate, test model). |
| start_ramp_test | 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_test | Stop a running RAMP test by killing its tmux session on the RAMP server. |
| test_status | Check the status of RAMP tests running on the RAMP server (lists active tmux sessions). |
| fleet_regression_sweep | 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_rate | 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_risk | 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_impact | 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
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