mcp-grafana
grafana/mcp-grafana加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

凌晨 3 点,你的告警响了。PagerDuty 推送了一条 "ERROR rate spike" 告警,你睡眼惺忪地打开 Grafana,翻遍十几个 Dashboard,找到对应服务的历史数据,再切换到 Explore 页面查日志——等你终于定位到问题时,已经过去了 15 分钟。
如果有一个人能直接帮你问:"过去 1 小时这个服务的错误率趋势是什么?哪个接口最慢?关联的告警规则有哪些?" 不需要你手动点开任何界面,它直接给你答案。
这正是 Grafana MCP Server 做的事——它为 AI Agent 安装了一个"眼睛和手",让 AI 能够直接读懂和操控你的 Grafana 实例。
MCP(Model Context Protocol) 是 Anthropic 在 2024 年底开源的 AI Agent 与外部工具交互的标准化协议。你可以把它理解为"USB 接口协议"——不同的外部设备(工具、数据源)只要实现了 MCP 协议,就能被任何 MCP 客户端(即 AI Agent)无缝调用。
Grafana 是全球最流行的开源监控可视化平台,从 Kubernetes 集群指标到业务日志,从 Prometheus 到 ClickHouse——它连接了几乎所有你关心的数据源。然而在此之前,AI 助手无法访问这些数据:LLM 训练数据截止到某一天,而你的 Grafana 里有此时此刻的生产环境实时数据。
Grafana MCP Server 就是这座桥。它由 Grafana 官方维护,实现了完整的 MCP 协议,让任何兼容 MCP 的 AI 客户端(Claude Desktop、Cursor、 Windsurf 等)都能像人一样操控你的 Grafana。
Grafana MCP Server 提供了超过 60 个 MCP 工具,覆盖了 Grafana 的几乎所有核心功能:
get_dashboard_summary(精简元数据)和 get_dashboard_property(JSONPath 精准提取),避免把整个 Dashboard JSON 塞进 LLM 上下文这可能是最有价值的功能——让 AI 直接查询你的监控数据:
| 数据源 | 支持的查询类型 |
|---|---|
| Prometheus | PromQL 即时/范围查询、metric metadata、histogram 百分位 |
| Loki | LogQL 日志/指标查询、label 枚举、log patterns 检测 |
| Elasticsearch/OpenSearch | Lucene/ES Query DSL 搜索 |
| ClickHouse / MySQL / PostgreSQL / MSSQL / Athena / Snowflake | 统一 SQL 工具,Grafana 凭证自动透传 |
| InfluxDB | InfluxQL 和 Flux 双语法 |
| CloudWatch | Namespace/metrics/dimensions 枚举和查询 |
| Graphite | Render API、metrics browse、tag 枚举 |
| Quickwit | Lucene 兼容查询,专为可观测性设计 |
| Google Cloud Logging | 过滤表达式查询(需插件) |
这是最令人眼前一亮的垂直场景——用于评估 AI Agent 质量的工具集:
Grafana MCP Server 使用 Go 语言开发,核心技术栈:
@modelcontextprotocol/go-sdk v1.8.0:MCP 协议官方 Go 实现,处理协议握手、工具注册、请求路由connectrpc.com/connect v1.21.0:比 gRPC 更适合浏览器的 RPC 框架(MCP 有 stdio 和 HTTP 两种传输模式)grafana/grafana-openapi-client-go:Grafana REST API 的官方 Go 客户端| 传输模式 | 说明 | 典型客户端 |
|---|---|---|
| stdio | 标准输入输出,适合 Claude Desktop、本地 CLI | Claude Desktop, Cursor |
| SSE (Server-Sent Events) | HTTP 长连接,Grafana Cloud MCP Gateway 使用 | Claude.ai, Web 应用 |
| Streamable HTTP | 支持真正的请求-响应 HTTP,Grafana 官方推荐 | Cursor, Windsurf, 现代 Agent |
Grafana MCP Server 的安装门槛极低,提供了多种接入方式:
配置 JSON 填入 Claude Desktop 或 Cursor 的 MCP 配置文件中:
{"mcpServers": {
"grafana": {
"command": "uvx",
"args": ["mcp-grafana"],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "<your-token>"
}
}
}}
docker run -p 8000:8000 \
-e GRAFANA_URL=http://localhost:3000 \
-e GRAFANA_SERVICE_ACCOUNT_TOKEN=<token> \
grafana/mcp-grafana:latest
项目提供了 Helm Chart,可以通过 values 文件管理配置,适合作为企业级 MCP 服务部署。
依赖条件:需要 Grafana 9.0+ 实例(部分 datasource 工具需要 11.x+)。Grafana Cloud 用户开箱即用。
代码中实现了 http_security.go、redirect_guard.go、validate_url.go 等多层安全检查,防止 AI 发送恶意请求到内部网络。但 SSRF 始终是 MCP 工具的风险点,建议通过 Grafana 网络策略隔离,并通过 GRAFANA_URL_OVERRIDE 环境变量限制访问范围。
完整 Dashboard JSON 可能非常大,一个复杂 Dashboard 可能有数百 KB——轻松占满 LLM 的上下文窗口。项目方明确建议使用 get_dashboard_summary 和 get_dashboard_property(JSONPath)代替 get_dashboard_by_uid。
update_dashboard 和 patch_dashboard 工具会直接修改 Grafana 实例中的 Dashboard,AI 错误使用可能导致生产 Dashboard 被覆盖。目前有 --disable-write 标志可以禁用所有写操作工具。
Grafana MCP Server 的发布,标志着 AI Agent 进入生产可观测性领域的开始。
此前,AI Agent 的能力边界止步于"已知知识"和"本地文件"。有了 Grafana MCP,Agent 可以:
Grafana 官方还在持续扩展工具集(InfluxDB、CloudWatch 等新数据源持续加入),并与 Grafana Cloud 深度集成(Grafana Assistant 插件联动)。预计未来会支持更多场景化的 MCP 工具生态。