Skip to main 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
  • 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

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. Add the server configuration to your client configuration file. For example, for Claude Desktop:

{
  "mcpServers": {
    "grafana": {
      "command": "uvx",
      "args": [
        "mcp-grafana"
      ],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}

Note: if you see Error: spawn uvx ENOENT in Claude Desktop, you need to specify the full path to uvx (see discussion)

To disable a category of tools, set the environment variable GRAFANA_TOOLS__<CATEGORY>__ENABLED to "false". For example, to disable the search tools, set "GRAFANA_TOOLS__SEARCH__ENABLED": "false".

Development

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

This project uses uv to manage dependencies. Install uv following the instructions for your platform.

You can then create a virtual environment and install the dependencies with:

uv sync --all-groups

To run the server, use:

uvx --from . mcp-grafana

Testing

TL;DR: start a Grafana instance with docker-compose up, run uv run ruff check . for lints, and uv run pytest tests --integration to run unit and integration tests.

To run unit tests, run:

uv run pytest 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

This project uses ruff for linting.

License

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_grafana-0.1.1.tar.gz (40.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_grafana-0.1.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_grafana-0.1.1.tar.gz.

File metadata

  • Download URL: mcp_grafana-0.1.1.tar.gz
  • Upload date:
  • Size: 40.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.5.13

File hashes

Hashes for mcp_grafana-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d9f35d7e63b6527d1786246f5230b767f82765d62b3f7f0a73c567caec16b9f6
MD5 b7b5e21afc868cd31f7e626ccf0a8bd6
BLAKE2b-256 bfba719d1ac1d38ac898854a861f366ca81abbdf172b864d62541619e1abffaf

See more details on using hashes here.

File details

Details for the file mcp_grafana-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mcp_grafana-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1606ad426f00c828fbdec739de9eb507fc905fa982469d03ed374be488078314
MD5 6e34c010fbffa36b017109cd8db9f0c7
BLAKE2b-256 073e9a83f5f2c140c83bda3919551c84a26025cf6bbefc9ea820c3effa615262

See more details on using hashes here.

Release history Release notifications | RSS feed

1.3.0

8 files

1.2.0

8 files

1.1.0

8 files

1.0.0

8 files

0.17.2

8 files

0.17.1

8 files

0.17.0

8 files

0.15.2

8 files

0.15.1

8 files

0.15.0

8 files

0.14.0

8 files

0.13.1

8 files

0.13.0

8 files

0.12.1

8 files

0.12.0

8 files

0.11.6

8 files

0.11.5

8 files

0.11.4

8 files

0.11.3

8 files

0.11.2

8 files

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page