Grafana MCP server

Grafana MCP server

site icon
2025.04.18 535
Go监控服务告警管理开发效率
mcp-grafana 是一个基于 Model Context Protocol (MCP) 的 Grafana 服务端实现,提供了对 Grafana 实例及其生态系统的访问能力。该服务支持多种功能,包括仪表盘搜索、数据源查询、Prometheus 和 Loki 的元数据查询、事件管理、告警规则管理以及 Grafana OnCall 功能等。
View on GitHub

Overview

基本能力

产品定位

mcp-grafana 是一个用于 Grafana 的 MCP 服务器,旨在提供对 Grafana 实例及其生态系统的访问能力,支持多种监控和告警功能。

核心功能

  • 仪表盘搜索和管理
  • 数据源信息查询
  • Prometheus 和 Loki 的查询和元数据管理
  • 事件管理(创建、更新、关闭)
  • 告警规则管理
  • Grafana OnCall 功能(排班、当前值班人员等)

适用场景

  • 监控和告警系统的集成
  • 仪表盘和数据源的自动化管理
  • 事件和告警的自动化处理
  • 值班排班和通知管理

工具列表

工具名称 类别 描述
search_dashboards 搜索 搜索仪表盘
get_dashboard_by_uid 仪表盘 通过 UID 获取仪表盘
list_datasources 数据源 列出数据源
get_datasource_by_uid 数据源 通过 UID 获取数据源
get_datasource_by_name 数据源 通过名称获取数据源
query_prometheus Prometheus 对 Prometheus 数据源执行查询
list_prometheus_metric_metadata Prometheus 列出指标元数据
list_prometheus_metric_names Prometheus 列出可用指标名称
list_prometheus_label_names Prometheus 列出匹配选择器的标签名称
list_prometheus_label_values Prometheus 列出特定标签的值
list_incidents 事件 列出 Grafana 事件
create_incident 事件 创建 Grafana 事件
add_activity_to_incident 事件 向事件添加活动项
resolve_incident 事件 解决事件
query_loki_logs Loki 使用 LogQL 查询和检索日志
list_loki_label_names Loki 列出日志中所有可用的标签名称
list_loki_label_values Loki 列出特定日志标签的值
query_loki_stats Loki 获取日志流的统计信息
list_alert_rules 告警 列出告警规则
get_alert_rule_by_uid 告警 通过 UID 获取告警规则
list_oncall_schedules OnCall 列出 Grafana OnCall 的排班
get_oncall_shift OnCall 获取特定 OnCall 排班的详细信息
get_current_oncall_users OnCall 获取特定排班的当前值班人员
list_oncall_teams OnCall 列出 Grafana OnCall 的团队
list_oncall_users OnCall 列出 Grafana OnCall 的用户

常见问题解答

  • 问题: 安装后出现 Error: spawn mcp-grafana ENOENT 错误 解决方案: 需要在配置文件中指定 mcp-grafana 的完整路径。

使用教程

使用依赖

  1. 在 Grafana 中创建一个服务账户,并生成一个服务账户令牌。

安装教程

  1. 发布页面 下载最新版本的 mcp-grafana 并放置到 $PATH 中。

或者,如果已安装 Go 工具链,可以从源代码构建并安装: bash GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest

  1. 将服务器配置添加到客户端配置文件中。例如,对于 Claude Desktop: json { "mcpServers": { "grafana": { "command": "mcp-grafana", "args": [], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_API_KEY": "<your service account token>" } } } }

调试方式

  1. 运行单元测试: bash make test-unit

  2. 运行集成测试(需要本地 Grafana 实例运行在端口 3000): bash docker-compose up -d make test-all

  3. 运行云测试(需要 Grafana Cloud 实例和凭证): bash make test-cloud

  4. 代码检查: bash make lint

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。