Grafana MCP サーバー
Grafana 用のモデル コンテキスト プロトコル(MCP) サーバー。
これにより、Grafana インスタンスと周囲のエコシステムにアクセスできるようになります。
特徴
- [x] ダッシュボードを検索
- [x] ダッシュボード
- [x] UIDでダッシュボードを取得する
- [x] ダッシュボードを更新または作成する(免責事項:コンテキストウィンドウには注意してください。詳細はhttps://github.com/grafana/mcp-grafana/issues/101を参照してください)
- [x] ダッシュボード内のすべてのパネルからタイトル、クエリ文字列、データソース情報(UIDとタイプを含む)を取得します。
- [x] データソース情報の一覧表示と取得
- [ ] データソースのクエリ
- [x] プロメテウス
- [x] ロキ
- [x] ログクエリ
- [x] メトリッククエリ
- [ ] テンポ
- [ ] パイロスコープ
- [x] Prometheusメタデータのクエリ
- [x] メトリックメタデータ
- [x] メトリック名
- [x] ラベル名
- [x] ラベル値
- [x] Lokiメタデータのクエリ
- [x] ラベル名
- [x] ラベル値
- [x] 統計
- [x] インシデントの検索、作成、更新、クローズ
- [x] Sift調査を開始して結果を表示する
- [x] 調査を作成する
- [x] 制限パラメータ付き調査の一覧表示
- [x] 調査を受ける
- [x] 分析を取得
- [x] Siftを使用してログ内のエラーパターンを見つける
- [x] Siftを使って遅いリクエストを見つける
- [ ] 他のシフトチェックにツールを追加する
- [ ] 警告
- [x] アラートルール情報の一覧表示と取得
- [x] アラートルールのステータス(実行中/正常/エラーなど)を取得します。
- [ ] アラートルールの作成と変更
- [x] 連絡先リスト
- [ ] 連絡先の作成と変更
- [x] Grafana OnCall機能にアクセスする
- [x] スケジュールの一覧表示と管理
- [x] シフトの詳細を取得する
- [x] 現在のオンコールユーザーを取得する
- [x] チームとユーザーの一覧
- [ ] アラートグループの一覧
- [x] 管理機能
- [ ] ユーザー一覧
- [x] チーム一覧
- [ ] 役割をリストする
- [ ] 役割の割り当てを一覧表示する
- [ ] デバッグロールの割り当て
ツールリストは設定可能なので、MCPクライアントで利用できるようにするツールを選択できます。これは、特定の機能を使用しない場合や、コンテキストウィンドウをあまり占有したくない場合に便利です。特定のカテゴリのツールを無効にするには、サーバーの起動時に--disable-<category>
フラグを使用します。例えば、OnCallツールを無効にするには、 --disable-oncall
を使用します。
ツール
道具 | カテゴリ | 説明 |
---|---|---|
list_teams | 管理者 | すべてのチームを一覧表示する |
search_dashboards | 検索 | ダッシュボードを検索 |
get_dashboard_by_uid | ダッシュボード | uidでダッシュボードを取得する |
update_dashboard | ダッシュボード | ダッシュボードを更新または新規作成する |
get_dashboard_panel_queries | ダッシュボード | ダッシュボードからパネルのタイトル、クエリ、データソースの UID とタイプを取得します |
list_datasources | データソース | データソースの一覧 |
get_datasource_by_uid | データソース | uidでデータソースを取得する |
get_datasource_by_name | データソース | 名前でデータソースを取得する |
query_prometheus | プロメテウス | Prometheusデータソースに対してクエリを実行する |
list_prometheus_metric_metadata | プロメテウス | メトリックメタデータの一覧表示 |
list_prometheus_metric_names | プロメテウス | 利用可能なメトリック名を一覧表示する |
list_prometheus_label_names | プロメテウス | セレクタに一致するラベル名をリストする |
list_prometheus_label_values | プロメテウス | 特定のラベルの値を一覧表示する |
list_incidents | 事件 | Grafanaインシデントでインシデントを一覧表示する |
create_incident | 事件 | Grafanaでインシデントを作成する |
add_activity_to_incident | 事件 | Grafana Incidentのインシデントにアクティビティ項目を追加する |
resolve_incident | 事件 | Grafanaでインシデントを解決する |
query_loki_logs | ロキ | LogQL(ログまたはメトリッククエリ)を使用してログをクエリおよび取得する |
list_loki_label_names | ロキ | ログで利用可能なすべてのラベル名を一覧表示する |
list_loki_label_values | ロキ | 特定のログラベルの値を一覧表示する |
query_loki_stats | ロキ | ログストリームに関する統計情報を取得する |
list_alert_rules | 警告 | アラートルールの一覧 |
get_alert_rule_by_uid | 警告 | UIDでアラートルールを取得する |
list_oncall_schedules | オンコール | Grafana OnCall からスケジュールを一覧表示する |
get_oncall_shift | オンコール | 特定のオンコールシフトの詳細を取得する |
get_current_oncall_users | オンコール | 特定のスケジュールで現在オンコール中のユーザーを取得する |
list_oncall_teams | オンコール | Grafana OnCall からチームを一覧表示する |
list_oncall_users | オンコール | Grafana OnCall からユーザーを一覧表示する |
get_investigation | ふるいにかける | UUIDで既存のSift調査を取得する |
get_analysis | ふるいにかける | Sift調査から特定の分析を取得する |
list_investigations | ふるいにかける | オプションの制限付きでSift調査のリストを取得します |
find_error_pattern_logs | ふるいにかける | Loki ログ内のエラー パターンの増加を検出します。 |
find_slow_requests | ふるいにかける | 関連するテンポ データ ソースから遅いリクエストを見つけます。 |
使用法
- Grafanaで、必要なツールを使用するのに十分な権限を持つサービスアカウントを作成し、サービスアカウントトークンを生成して、設定ファイルで使用するためにクリップボードにコピーします。詳細については、 Grafanaのドキュメントを参照してください。
mcp-grafana
をインストールするにはいくつかのオプションがあります。- Docker イメージ: Docker Hub から事前に構築された Docker イメージを使用します。
- バイナリをダウンロード(https://github.com/grafana/mcp-grafana/releases)から
mcp-grafana
の最新リリースをダウンロードし、$PATH
に配置します。 - ソースからビルド:Goツールチェーンがインストールされている場合は、
GOBIN
環境変数を使用してバイナリをインストールするディレクトリを指定し、ソースからビルドしてインストールすることもできます。このディレクトリはPATH
にも含まれている必要があります。
- Docker イメージ: Docker Hub から事前に構築された Docker イメージを使用します。
- サーバー設定をクライアント設定ファイルに追加します。例えば、Claude Desktopの場合は以下のようになります。バイナリを使用する場合:Docker を使用する場合:
注意: Claude Desktop で
Error: spawn mcp-grafana ENOENT
表示される場合は、mcp-grafana
へのフルパスを指定する必要があります。
リモート MCP サーバーで VSCode を使用する
.vscode/settings.json
に以下が含まれていることを確認してください。
デバッグモード
コマンドに-debug
フラグを追加することで、Grafana トランスポートのデバッグモードを有効にできます。これにより、MCP サーバーと Grafana API 間の HTTP リクエストとレスポンスの詳細なログが記録され、トラブルシューティングに役立ちます。
Claude Desktop 構成でデバッグ モードを使用するには、次のように構成を更新します。
バイナリを使用する場合:
Docker を使用する場合:
発達
貢献を歓迎します!ご提案や改善点がありましたら、問題を報告するか、プルリクエストを送信してください。
このプロジェクトはGoで書かれています。お使いのプラットフォームの指示に従ってGoをインストールしてください。
サーバーを実行するには、次を使用します。
カスタムビルドされたDockerイメージ内でSSEトランスポートを使用してサーバーを実行することもできます。イメージをビルドするには、
イメージを実行するには、次を使用します。
テスト
利用できるテストには 3 つの種類があります。
- ユニットテスト (外部依存関係は不要):
次のようにしてユニット テストを実行することもできます。
- 統合テスト (Docker コンテナが起動して実行されている必要があります):
- クラウド テスト (クラウド Grafana インスタンスと認証情報が必要です):
注: クラウドテストはCIで自動的に構成されます。ローカル開発の場合は、独自のGrafana Cloudインスタンスと認証情報を設定する必要があります。
より包括的な統合テストでは、Grafana インスタンスをポート 3000 でローカルに実行する必要があります。これは Docker Compose で起動できます。
統合テストは次のように実行できます。
ツールを追加する場合は、それらの統合テストを追加してください。既存のテストは良い出発点となるはずです。
リンティング
コードを lint するには、次を実行します。
これには、 jsonschema
構造体タグ内のエスケープされていないカンマをチェックするカスタムリンターが含まれています。 description
フィールド内のカンマは\\,
でエスケープする必要があります。このリンターだけを実行するには、次のコマンドを使用します。
詳細については、 JSONSchema Linter のドキュメントを参照してください。
ライセンス
このプロジェクトは、Apache License バージョン 2.0に基づいてライセンスされます。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Grafana 用のモデル コンテキスト プロトコル (MCP) サーバー。
これにより、Grafana インスタンスと周囲のエコシステムにアクセスできるようになります。
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.Last updated -88427JavaScript
- AsecurityAlicenseAqualityA beginner-friendly Model Context Protocol (MCP) server that helps users understand MCP concepts, provides interactive examples, and lists available MCP servers. This server is designed to be a helpful companion for developers working with MCP. Also comes with a huge list of servers you can install.Last updated -3936JavaScriptApache 2.0
- -securityAlicense-qualityMCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.Last updated -43TypeScriptMIT License
- -securityAlicense-qualityMCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.Last updated -132TypeScriptMIT License