Grafana管理控制协议

Grafana管理控制协议(MCP)是一个通过标准输入输出管理Grafana仪表盘、数据源、告警规则、文件夹和注释的工具。

  • by daanrongen
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 daanrongen/grafana-mcp

使用说明

格拉法娜·麦克普

MCP服务器 格拉法纳 --通过stdio管理仪表板、数据源、警报规则、文件夹和注释。

安装

bunx @daanrongen/grafana-mcp

工具(共17个)

域 工具 覆盖范围
仪表盘 list_dashboards, get_dashboard, create_dashboard, update_dashboard, delete_dashboard 完整的仪表板生命周期
数据源 list_datasources, get_datasource, create_datasource, delete_datasource 数据源管理
警报 list_alert_rules, get_alert_rule, list_alert_instances 警报规则和触发Alertmanager实例
文件夹 list_folders, create_folder, delete_folder 文件夹组织
注释 list_annotations, create_annotation 仪表板和全局注释
健康 health_check Grafana实例状态

配置

变量 必填 描述
GRAFANA_URL 是 Grafana基本URL(例如。 http://localhost:3000)
GRAFANA_API_KEY 是 Grafana服务帐户令牌或API密钥

设置

克劳德桌面版

编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "grafana": {
      "type": "stdio",
      "command": "bunx",
      "args": ["@daanrongen/grafana-mcp"],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "your-service-account-token"
      }
    }
  }
}

克劳德代码CLI

claude mcp add grafana \
  -e GRAFANA_URL=http://localhost:3000 \
  -e GRAFANA_API_KEY=your-service-account-token \
  -- bunx @daanrongen/grafana-mcp

发展

bun install
bun run dev        # run with --watch
bun test           # run test suite
bun run typecheck  # type-check with tsc
bun run lint       # biome lint
bun run format     # biome format
bun run build      # bundle to dist/main.js

就地检查

使用MCP检查器对真实的Grafana实例进行交互式浏览和调用工具:

GRAFANA_URL=http://localhost:3000 \
GRAFANA_API_KEY=your-service-account-token \
bun run inspect

这将在浏览器中打开指向本地构建的服务器的MCP Inspector UI。

建筑

src/
├── config.ts                   # Effect Config — GRAFANA_URL, GRAFANA_API_KEY
├── main.ts                     # Entry point — ManagedRuntime + StdioServerTransport
├── domain/
│   ├── GrafanaClient.ts        # Context.Tag service interface (port)
│   ├── errors.ts               # GrafanaError, NotFoundError
│   ├── models.ts               # Schema.Class models (Dashboard, Datasource, AlertRule, …)
│   ├── dashboards.test.ts      # Domain tests using GrafanaClientTest
│   ├── datasources.test.ts     # Domain tests using GrafanaClientTest
│   └── health.test.ts          # Domain tests using GrafanaClientTest
├── infra/
│   ├── GrafanaClientLive.ts    # Layer using fetch against the Grafana HTTP API
│   └── GrafanaClientTest.ts    # In-memory Ref-based test adapter
└── mcp/
    ├── server.ts               # McpServer wired to ManagedRuntime
    ├── utils.ts                # formatSuccess, formatError
    └── tools/                  # dashboards.ts, datasources.ts, alerts.ts, folders.ts, annotations.ts, health.ts

许可证

麻省理工学院