Search dashboards, investigate incidents and query datasources in your Grafana instance

What is Grafana

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
  • Get dashboard by UID
  • 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
  • Alerting
    • List and fetch alert rule information
    • Get alert rule statuses (firing/normal/error/etc.)
    • Create and change alert rules
    • List contact points
    • Create and change contact points

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
get_dashboard_by_uid Dashboard Get a dashboard by uid
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
list_alert_rules Alerting List alert rules
get_alert_rule_by_uid Alerting Get alert rule by UID

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
    
  3. 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": "<your service account token>"
          }
        }
      }
    }
    

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:

make test-all

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

Linting

To lint the code, run:

make lint

License

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

How to Use

Leave a Comment

Frequently Asked Questions

What is MCP?

MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications, providing a standardized way to connect AI models to different data sources and tools.

What are MCP Servers?

MCP Servers are lightweight programs that expose specific capabilities through the standardized Model Context Protocol. They act as bridges between LLMs like Claude and various data sources or services, allowing secure access to files, databases, APIs, and other resources.

How do MCP Servers work?

MCP Servers follow a client-server architecture where a host application (like Claude Desktop) connects to multiple servers. Each server provides specific functionality through standardized endpoints and protocols, enabling Claude to access data and perform actions through the standardized protocol.

Are MCP Servers secure?

Yes, MCP Servers are designed with security in mind. They run locally with explicit configuration and permissions, require user approval for actions, and include built-in security features to prevent unauthorized access and ensure data privacy.

Related MCP Servers

MasterGo MCP Server avatar

MasterGo MCP Server

MasterGo Magic MCP 是一个独立的 MCP (Model Context Protocol) 服务,用于连接 MasterGo 设计工具与 AI 模型。它允许 AI 模型直接从 MasterGo 设计文件中获取 DSL 数据。

DesignMastergoofficial
Filesystem MCP Server avatar

Filesystem MCP Server

A core MCP server that provides filesystem access capabilities for Claude. Enables secure reading, writing, and management of files on your local system with granular permission controls.

filesystemcoreofficial
Brave Search MCP avatar

Brave Search MCP

Integrate Brave Search capabilities into Claude through MCP. Enables real-time web searches with privacy-focused results and comprehensive web coverage.

searchapiofficial
davidkingzyb SCAST avatar

davidkingzyb SCAST

Static Code Analysis and Visualization. Convert Code to UML and Flow Diagram and explain by AI.

jsmcpcodereview
Bigsy shadow cljs mcp avatar

Bigsy shadow cljs mcp

A Model Context Protocol server for monitoring shadow-cljs builds

mcpmonitoring
last9 last9 mcp server avatar

last9 last9 mcp server

Last9 MCP Server

vibe-codingmcpmonitoring
Magic MCP avatar

Magic MCP

Create crafted UI components inspired by the best 21st.dev design engineers.

uidesigncomponents
Apify avatar

Apify

Use 3,000+ pre-built cloud tools to extract data from websites, e-commerce, social media, search engines, maps, and more

scrapingdata-extractioncloud
mcp server axiom avatar

mcp server axiom

A Model Context Protocol server implementation for Axiom that enables AI agents to query your data using Axiom Processing Language (APL).Query and analyze your Axiom logs, traces, and all other event data in natural language,

logginganalyticsmonitoring
Browserbase avatar

Browserbase

The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you're building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need.</br>This server provides cloud browser automation capabilities using Browserbase, Puppeteer, and Stagehand (Coming Soon). This server enables LLMs to interact with web pages, take screenshots, and execute JavaScript in a cloud browser environment.Automate browser interactions in the cloud (e.g. web navigation, data extraction, form filling, and more)

automationbrowsercloud

Submit Your MCP Server

Share your MCP server with the community

Submit Now