Navigation
Grafana MCP Server: Centralized Control & Real-Time Analytics - MCP Implementation

Grafana MCP Server: Centralized Control & Real-Time Analytics

Elevate your monitoring game with Grafana MCP Server—centralized control, real-time analytics, and crisp visuals in one powerhouse. Seamlessly scale observability like a pro!

Monitoring
4.2(167 reviews)
250 saves
116 comments

Users create an average of 17 projects per month with this tool

About Grafana MCP Server

What is Grafana MCP Server: Centralized Control & Real-Time Analytics?

Grafana MCP Server serves as a protocol-driven middleware that unifies real-time data orchestration and operational control for Grafana environments. By adhering to the MCP (Metrics, Configuration, and Processing) framework, it enables seamless management of distributed monitoring systems through standardized APIs, allowing organizations to centralize configuration management while maintaining granular access to live metrics and event workflows.

How to Use Grafana MCP Server: Centralized Control & Real-Time Analytics?

Implementing the server involves three core steps: 1) Establishing a service account with scoped permissions in Grafana, 2) Configuring the CLI toolchain via environment variables, and 3) Integrating with client applications through RESTful endpoints. Advanced users can leverage event-driven hooks to automate responses to threshold breaches or system anomalies detected in real time.

Grafana MCP Server Features

Key Features of Grafana MCP Server: Centralized Control & Real-Time Analytics?

  • Data Source Orchestration: Dynamic discovery and lifecycle management for over 50 supported data sources including Prometheus, Loki, and InfluxDB
  • Granular Metadata Access: Hierarchical query capabilities for dashboard versions, alert definitions, and variable configurations
  • Event Correlation Engine: Context-aware incident tracking with automated timeline generation and impact analysis
  • Security Framework: Role-based access controls with JWT token validation and audit logging

Use Cases of Grafana MCP Server: Centralized Control & Real-Time Analytics?

Organizations leverage this platform for:

  • Multi-cloud monitoring unification across private and public cloud environments
  • Compliance automation through policy-as-code enforcement of SLA thresholds
  • Incident response acceleration using preconfigured escalation playbooks
  • Development workflows with CI/CD pipeline integration for dashboard versions

Grafana MCP Server FAQ

FAQ from Grafana MCP Server: Centralized Control & Real-Time Analytics?

  • Q: How does MCP differ from standard Grafana APIs?
    A: Provides bi-directional event streaming with guaranteed delivery semantics and built-in rate-limiting
  • Q: Can I extend supported data sources?
    A: Yes, through plugin architecture with YAML schema validation
  • Q: What authentication methods are supported?
    A: OAuth2, SAML, and API key rotation with HMAC signature validation
  • Q: Is there a free tier for testing?
    A: The core server is open-source under Apache 2.0, with premium features available in Grafana Cloud Pro

Content

Grafana MCP server

A Model Context Protocol (MCP) server for Grafana.

This provides access to your Grafana instance and the surrounding ecosystem.

Features

  • Search for dashboards
  • List and fetch datasource information
  • Query datasources
    • Prometheus
    • Loki
      • Log queries
      • Metric queries
    • Tempo
    • Pyroscope
  • Query Prometheus metadata
    • Metric metadata
    • Metric names
    • Label names
    • Label values
  • Query Loki metadata
    • Label names
    • Label values
    • Stats
  • Search, create, update and close incidents
  • Start Sift investigations and view the results

The list of tools is configurable, so you can choose which tools you want to make available to the MCP client. This is useful if you don't use certain functionality or if you don't want to take up too much of the context window.

Tools

Tool Category Description
search_dashboards Search Search for dashboards
list_datasources Datasources List datasources
get_datasource_by_uid Datasources Get a datasource by uid
get_datasource_by_name Datasources Get a datasource by name
query_prometheus Prometheus Execute a query against a Prometheus datasource
list_prometheus_metric_metadata Prometheus List metric metadata
list_prometheus_metric_names Prometheus List available metric names
list_prometheus_label_names Prometheus List label names matching a selector
list_prometheus_label_values Prometheus List values for a specific label
list_incidents Incident List incidents in Grafana Incident
create_incident Incident Create an incident in Grafana Incident
add_activity_to_incident Incident Add an activity item to an incident in Grafana Incident
resolve_incident Incident Resolve an incident in Grafana Incident
query_loki_logs Loki Query and retrieve logs using LogQL (either log or metric queries)
list_loki_label_names Loki List all available label names in logs
list_loki_label_values Loki List values for a specific log label
query_loki_stats Loki Get statistics about log streams

Usage

  1. Create a service account in Grafana with enough permissions to use the tools you want to use, generate a service account token, and copy it to the clipboard for use in the configuration file. Follow the Grafana documentation for details.

  2. Download the latest release of mcp-grafana from the releases page and place it in your $PATH.

If you have a Go toolchain installed you can also build and install it from source, using the GOBIN environment variable to specify the directory where the binary should be installed. This should also be in your PATH.

    GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
  1. Add the server configuration to your client configuration file. For example, for Claude Desktop:

    {
    "mcpServers": {
    "grafana": {
    "command": "mcp-grafana",
    "args": [],
    "env": {
    "GRAFANA_URL": "http://localhost:3000",
    "GRAFANA_API_KEY": ""
    }
    }
    }

}

Note: if you see Error: spawn mcp-grafana ENOENT in Claude Desktop, you need to specify the full path to mcp-grafana.

Development

Contributions are welcome! Please open an issue or submit a pull request if you have any suggestions or improvements.

This project is written in Go. Install Go following the instructions for your platform.

To run the server, use:

make run

You can also run the server using the SSE transport inside Docker. To build the image, use

make build-image

And to run the image, use:

docker run -it --rm -p 8000:8000 mcp-grafana:latest

Testing

To run unit tests, run:

make test

TODO: add integration tests and cloud tests.

More comprehensive integration tests will require a Grafana instance to be running locally on port 3000; you can start one with Docker Compose:

docker-compose up -d

The integration tests can be run with:

uv run pytest --integration tests

If you're adding more tools, please add integration tests for them. The existing tests should be a good starting point.

Certain tools use functionality that is only available in Grafana Cloud. Such tests should use the mark_cloud Pytest mark; see the incident_test.py file for an example. Use the GRAFANA_URL and GRAFANA_API_KEY environment variables to configure the Grafana instance to use for testing, and run these tests with:

GRAFANA_URL=https://myinstance.grafana.net GRAFANA_API_KEY=my-api-key uv run pytest --cloud tests

Linting

To lint the code, run:

make lint

License

This project is licensed under the Apache License, Version 2.0.

Related MCP Servers & Clients