Home
Login

Grafana向けのモデルコンテキストプロトコル(MCP)サーバー。AIエージェントがGrafanaインスタンスとそのエコシステムにアクセスできるようにし、ダッシュボード管理、データソースクエリ、アラートルール設定などの機能をサポートします。

Apache-2.0Go 1.0kgrafanamcp-grafana Last Updated: 2025-06-24

Grafana MCP Server プロジェクト詳細

プロジェクト概要

Grafana MCP Server は、モデルコンテキストプロトコル (Model Context Protocol, MCP) に基づくサーバーであり、Grafana インスタンスとその周辺のエコシステムとの統合専用に設計されています。このプロジェクトは、AI エージェント(Claude Desktop など)に、Grafana のさまざまな機能へのアクセスと操作能力を提供します。

コア機能特性

ダッシュボード管理

  • ダッシュボード検索: 特定のダッシュボードを迅速に検索および特定
  • ダッシュボード取得: UID を使用して完全なダッシュボード構成を取得
  • ダッシュボード更新/作成: ダッシュボードを動的に変更または新規作成(コンテキストウィンドウの制限に注意)

データソース統合

  • データソース管理: データソース情報をリストおよび取得
  • 複数データソースのクエリサポート:
    • Prometheus: PromQL クエリを実行して、メトリクスデータを取得
    • Loki: LogQL クエリを実行して、ログデータを検索
    • Tempo: 分散トレーシングデータクエリ
    • Pyroscope: パフォーマンス分析データクエリ

メタデータクエリ

  • Prometheus メタデータ: メトリクスメタデータ、メトリクス名、ラベル名、およびラベル値を取得
  • Loki メタデータ: ログラベル名、ラベル値、および統計情報を取得

イベントとアラート管理

  • イベント管理: イベントの検索、作成、更新、およびクローズ
  • アラートルール: アラートルール情報をリストおよび取得、アラートステータスを取得
  • 連絡先管理: アラート連絡先のリスト、作成、および変更

Grafana OnCall 統合

  • シフト管理: 当番計画のリストおよび管理
  • 当番情報: 当番の詳細と現在の当番ユーザーを取得
  • チームとユーザー管理: チームとユーザー情報を管理
  • アラートグループ管理: アラートグループをリスト

Sift 調査機能

  • スマート調査: Sift 調査を開始し、結果を表示
  • 調査管理: 調査情報の作成、リスト、および取得
  • 分析機能: 調査分析結果を取得
  • エラーパターン認識: ログ内のエラーパターンを検索
  • パフォーマンス分析: 遅いリクエストを識別

ツール設定

このプロジェクトは、柔軟なツール設定オプションを提供し、特定の機能カテゴリを有効または無効にすることができます。

ツール名称 分類 説明
search_dashboards Search ダッシュボードを検索
get_dashboard_by_uid Dashboard UID を使用してダッシュボードを取得
update_dashboard Dashboard ダッシュボードを更新または新規作成
list_datasources Datasources データソースをリスト
query_prometheus Prometheus Prometheus クエリを実行
query_loki_logs Loki ログをクエリおよび検索
list_incidents Incident イベントをリスト
list_alert_rules Alerting アラートルールをリスト
list_oncall_schedules OnCall OnCall 当番計画をリスト
find_error_pattern_logs Sift エラーパターンを検索

--disable-<category> フラグを使用すると、特定のツールカテゴリを無効にできます。たとえば、--disable-oncall を使用すると、OnCall 関連ツールを無効にできます。

インストールと設定

インストール方法

1. Docker イメージ
docker pull mcp/grafana
docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your_token> mcp/grafana
2. バイナリファイルのダウンロード

releases ページ から最新バージョンをダウンロードし、$PATH ディレクトリに配置します。

3. ソースコードのコンパイル
GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest

設定

前提条件
  1. Grafana でサービスアカウントを作成し、十分な権限を割り当てます
  2. サービスアカウントトークンを生成します

Claude Desktop 設定

バイナリファイルを使用する場合:

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

Docker を使用する場合:

{
  "mcpServers": {
    "grafana": {
      "command": "docker",
      "args": [
        "run", "--rm", "-p", "8000:8000",
        "-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY",
        "mcp/grafana"
      ],
      "env": {
        "GRAFANA_URL": "http://localhost:3000",
        "GRAFANA_API_KEY": "<your service account token>"
      }
    }
  }
}
デバッグモード

-debug フラグを追加してデバッグモードを有効にすると、詳細な HTTP リクエストとレスポンスのログが提供されます。

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

開発とテスト

開発環境設定

# サーバーの実行
make run

# Docker イメージのビルド
make build-image

# Docker コンテナの実行
docker run -it --rm -p 8000:8000 mcp-grafana:latest

テストタイプ

ユニットテスト
make test-unit
# または
make test
統合テスト
# Docker コンテナの起動が必要
make test-integration
クラウドテスト
# クラウド Grafana インスタンスと認証情報が必要
make test-cloud
フルテスト
# ローカル Grafana インスタンスの起動
docker-compose up -d

# すべてのテストの実行
make test-all

コード品質

コードチェック
make lint
JSON Schema チェック

このプロジェクトには、jsonschema 構造体タグ内のエスケープされていないカンマをチェックするためのカスタムリンターが含まれています。

make lint-jsonschema

技術アーキテクチャ

  • プログラミング言語: Go
  • プロトコル: Model Context Protocol (MCP)
  • 通信方式: stdin/stdout または SSE (Server-Sent Events)
  • サポートされるクライアント: Claude Desktop などの MCP 互換クライアント

使用シナリオ

  1. AI 駆動の監視: AI エージェントが監視データをインテリジェントにクエリおよび分析できるようにする
  2. 自動化された運用: AI を使用してダッシュボードとアラートルールを自動的に作成および管理する
  3. インテリジェントなインシデント対応: AI を利用してログとメトリクスを分析し、問題を迅速に特定して解決する
  4. データインサイト: AI が複雑な監視データから価値のある情報を抽出するのを支援する

このプロジェクトは、AI と従来の監視ツールを統合する新しいトレンドを表しており、開発者に人工知能アシスタントと Grafana エコシステムを接続する強力なブリッジを提供します。

Star History Chart