Claude CodeのGrafana Assistantプラグインで、CLI操作のスキルを使う手順
Grafana Labsのgrafana-assistantプラグインは、grafana-assistant CLIの使い方を教えるスキル1本とルール1本の小さな構成です。入れ方、前提のCLI、Claude Codeで効く範囲を示します。
grafana-assistantは、Grafana Labsが配布するClaude Code用プラグインです。中身はgrafana-assistantコマンドの使い方を教えるスキル1本と、Grafana MCPツールの使い方のルール1本だけ。MCPサーバーは含まれません。
つまり、入れても監視データに直接つながるわけではありません。つなぐのは、別途入れたgrafana-assistant CLIです。このプラグインは、Claude CodeがそのCLIを正しい順序で呼べるようにする手引きにあたります。
3つのGrafanaプラグインのどれを入れるか
Grafana公式のマーケットプレイスには、似た名前のプラグインが3つあります。まず自分の用途がどれかを決めます。
| 使う環境 | 入れるもの |
|---|---|
| Grafana Cloudをclaude.ai・Claude Desktop・モバイル・Coworkで使う | 入れるものGrafana Cloudコネクタ |
| Grafana CloudをClaude Codeなどで使う | 入れるものgrafana-cloud-mcpプラグイン |
| セルフホストのGrafana、またはサービスアカウントトークンで使う | 入れるものgrafana-mcpプラグイン |
grafana-assistant CLIをClaude Codeから呼びたい | 入れるものgrafana-assistantプラグイン(本記事) |
grafana-cloud-mcpは、ホスト型のMCPサーバー(https://mcp.grafana.com/mcp)と、60以上のツールを説明するスキルをまとめたものです。grafana-mcpは、Dockerで動くローカルのMCPサーバーを入れます。この2つはGrafanaのデータを直接読み書きするためのもので、grafana-assistantとは役割が違います。
Grafana MCPの導入とRBACはmcp-grafanaの導入とRBAC設計で扱っています。
プラグインの入れ方
Grafanaのリポジトリ自体がマーケットプレイスなので、先にそれを追加してから個別のプラグインを入れます。
/plugin marketplace add grafana/ai-marketplace
/plugin install grafana-assistant@grafana-ai-marketplacegrafana-ai-marketplaceは、リポジトリのmarketplace.jsonに書かれたマーケットプレイス名です。このファイルには、grafana-assistant・grafana-mcp・grafana-cloud-mcpの3つが登録されています。
/plugin installはセッション内では即時には入れず、プラグインの詳細パネルを開いてスコープを選ばせます。スコープは次の2つが基本です。
- ユーザースコープ: 自分のマシンのすべてのプロジェクトで有効
- プロジェクトスコープ: そのリポジトリの全員で有効(
.claude/settings.jsonに書かれる)
プロジェクトスコープは設定ファイルに有効化の記述が入るだけで、各メンバーのマシンへ自動では入りません。チームで使うなら、各自がclaude plugin install grafana-assistant@grafana-ai-marketplace --scope projectを一度実行します。
claude.comのマーケットプレイスページにも「Install in Claude Code」があります。配布元はGrafana、プラグインの説明は「Skills and rules for developing and using the Grafana Assistant app and CLI」です。
同梱されているのはスキル1本とルール1本
プラグインのバージョンは0.2.0、ライセンスはApache-2.0です。READMEが挙げる構成要素は2つだけです。
| ファイル | 内容 |
|---|---|
skills/grafana-assistant-cli/SKILL.md | 内容grafana-assistant CLIでGrafana AssistantをA2A API経由で使う手順 |
rules/grafana-assistant.mdc | 内容Grafana MCPツールを効率よく使うためのベストプラクティス |
スキルの説明文には「grafana-assistant」「Grafana Assistant CLI」「assistant tunnel」という語が入っています。スキルの起動条件は、この説明文に書かれています。
スキルが前提にするgrafana-assistant CLI
スキルは、grafana-assistantバイナリが$PATHにすでにあることを前提にしています。しかも「自動でインストールしない」と明記され、コマンドが見つからなければ止まってユーザーに導入を促す作りです。
CLIの入手先は、Grafanaのassistant-cliリポジトリ(ビルド済みバイナリとDockerイメージ)です。プラグインを入れてもCLIは入りません。先にCLIを用意します。
認証と接続先の設定
スキルに書かれたセットアップは次の4コマンドです。
grafana-assistant config set-instance mystack \
--url https://mystack.grafana.net
grafana-assistant config use-instance mystack
grafana-assistant auth # ブラウザでPKCE認証
grafana-assistant chat # 対話チャットを開始ブラウザ認証には「Assistant CLI User」ロールが要ります。Editor以上のロールには最初から含まれます。カスタムロールならgrafana-assistant-app.tokens:access権限を足します。
設定ファイルは次の順で探され、最初に見つかったものが使われます。
- 環境変数
GRAFANA_ASSISTANT_CONFIGが指すファイル - カレントディレクトリの
./grafana-assistant.yaml(--local指定時) ~/.config/grafana-assistant/config.yaml
資格情報の優先順位は、--urlと--tokenフラグ、環境変数GRAFANA_URLとGRAFANA_SA_TOKEN、--instanceフラグ、設定ファイルのcurrent-instanceの順です。サービスアカウントのトークンをファイルに平文で置きたくないときは、設定ファイルでtoken: ${GRAFANA_PROD_TOKEN}のように環境変数を参照できます。
Claude Codeからの呼び方: promptとcontextId
エージェントから使う主役は、1回きりの質問を投げて答えを受け取るpromptサブコマンドです。対話用のchatは全画面のTUIを開きます。
grafana-assistant prompt "assistantサービスのエラー率を見せて" --json
grafana-assistant prompt "ハンドラ別に分けて" -c <contextId> --json落とし穴は、promptを呼ぶたびに新しい独立した会話が始まることです。文脈を引き継ぐには、最初の呼び出しに--jsonを付けてcontextIdを控え、以降の呼び出しに-c <contextId>を渡します。JSON出力は次の形です。
{
"taskId": "a2a-xxx",
"contextId": "uuid",
"agentId": "grafana_assistant_cli",
"status": "completed",
"response": "アシスタントの全文回答"
}statusはcompleted・failed・timeout・canceled・unknownのいずれかです。スキルは、文脈の引き継ぎが「context was not created by CLI」のように失敗したら、それまでの発見をプロンプト本文に直接書くよう案内しています。長い調査ほど、contextIdに頼るより要点を埋め込むほうが確実だという注記もあります。
応答時間は、アシスタントが呼ぶツールの数によって30秒から300秒ほどかかります。chatのタイムアウト既定は300秒で、--timeout 600で延ばせます。
CLIのアシスタントは読み取り専用
スキルによると、CLI側のGrafana Assistantは読み取り専用です。できることは次のとおりです。
- PromQL・Graphite・LogQL・TraceQL・SQLなどで、設定済みのデータソースを横断して問い合わせる
- データソース、メトリクス名、ラベル値、ログストリームを探す
- ダッシュボードを検索し、パネル定義を読む
- Grafanaのドキュメントやブログを検索する
- アラート履歴、オンコール、インシデントを調べる
逆に、ダッシュボードの作成・変更、アラートルールとサイレンスの管理、Grafana画面への誘導は、CLIでは使えません(Web版とSlack版だけ)。変更まで任せたい場合は、grafana-cloud-mcpの書き込み権限つきの接続のほうが向きます。書き込みの認可には、Assistant Adminロールかgrafana-assistant-app.cloud-mcp.scope:write権限が別途要ります。
調査の流れは、スキルが3つの型で説明しています。
| 型 | 流れ |
|---|---|
| 素早いデータ確認 | 流れデータソースを探す、メトリクスやログ名を探す、クエリを実行、結果を提示 |
| 障害調査 | 流れメトリクスからログ、トレースへ信号を追い、原因を絞る |
| Q&A | 流れGrafanaや可観測性の質問をドキュメントで答える |
ルールファイルはClaude Codeでどう効くか
ここがこのプラグインで最も読み違えやすい点です。同梱のルールはrules/grafana-assistant.mdc、つまりCursorのルール形式です。READMEの1行目も「Cursor plugin」と書かれています。
一方、Claude Codeのプラグインの標準レイアウト表に並ぶのは、スキル・コマンド・エージェント・フック・MCPサーバー・LSPサーバーなどで、rules/ディレクトリは載っていません。したがって、.mdcがClaude Codeで自動的に読み込まれるとは言えません。確実に効くのはスキル側です。
ルールの中身は、Grafana MCPのツールを前提にした8項目です。
get_dashboard_by_uidではなくget_dashboard_summaryを使い、完全なJSONでコンテキストを埋めないget_dashboard_propertyでJSONPathを使い、必要な部分だけ取る- 部分的な変更には
patch_dashboardを優先する - Prometheusには妥当な時間範囲を指定する
- Lokiにはラベルマッチャーつきの絞ったLogQLを使う
- 取得の前に
search_dashboardsで探す - 書き込み系(
update_dashboard・create_incident・create_alert_rule)は、ユーザーが明示したときだけ - 結果を示すときは
generate_deeplinkでクリックできるURLを付ける
READMEによれば、これらのMCPツールを使うにはgrafana-mcpプラグインを別に入れます。grafana-assistantだけを入れた状態では、ルールの指すツールがそもそも存在しません。
ルールをCLAUDE.mdに写して使う
MCPも併用するなら、この8項目をCLAUDE.mdに書き写すのが確実です。例えば次のような形です(公式のルールに沿った例示です)。
## Grafana MCP の使い方
- ダッシュボードは get_dashboard_summary で概要を見てから、
get_dashboard_property で必要な部分だけ取得する
- Prometheus のクエリには必ず時間範囲を付ける
- update_dashboard / create_incident / create_alert_rule は、
ユーザーが明示的に頼んだときだけ実行するツール名の違いにも注意が要ります。ルールは部分変更にpatch_dashboardを挙げますが、mcp-grafanaのダッシュボード解説では、部分変更はupdate_dashboardのpatchモードとして扱われています。実際に使えるツール名は、入れたMCPサーバーのツール一覧で確かめてから写してください。ダッシュボードの読み方はsummaryとJSONPathの使い分けに詳しくあります。
実行権限とセキュリティ
スキルには「Shellツールではrequired_permissions: ["all"]を使う」「block_until_msを300000以上にする」という指示があります。どちらもCursorのShellツールの引数名です。Claude Codeでは対応する設定が別なので、そのまま真似せず、権限はsettings.jsonのpermissionsで決めます。
grafana-assistantだけを事前に許可する例を挙げます。
{
"permissions": {
"allow": ["Bash(grafana-assistant prompt *)"]
}
}promptは読み取り専用のアシスタントに質問を送るだけですが、tunnel系は別です。トンネルは、Grafana Assistantに自分のマシン上でツールを実行させる仕組みで、tunnel connectはフォアグラウンド接続、--terminalでターミナルツールを有効にします。既定の保護は次のとおりです。
- ファイルシステム: 読み取り専用で、プロジェクトの範囲に限る。
~/.ssh・~/.gnupg・~/.aws/credentials・**/.env・**/secrets.yaml・**/*.pem・**/*.keyを遮断し、ファイルサイズの上限は1MB - ターミナル:
rm -rf /・mkfs・dd・フォーク爆弾などを遮断し、環境変数は最小限
許可と拒否の一覧は、設定ファイルのtunnel.toolsで変えられます。tunnel系を許可に含めるかどうかは、allowに入れる範囲で線を引きます。
よくあるつまずき
- プラグインを入れたのにデータが見えない: MCPサーバーが同梱されていないためです。Grafanaのデータを直接読むならgrafana-cloud-mcpかgrafana-mcpを足します。
grafana-assistant: command not found: スキルは自動導入をしません。assistant-cliのバイナリを$PATHに置きます。- 追加質問の答えが前の話を覚えていない:
--jsonと-c <contextId>を使っていない可能性が高いです。 - ブラウザ認証が通らない: Assistant CLI Userロールか
grafana-assistant-app.tokens:access権限が足りません。 - ダッシュボードを書き換えさせたい: CLIのアシスタントは読み取り専用です。
同じようにスキルと周辺ツールを束ねた可観測性系のプラグインには、Claude CodeのLogfireプラグインがあります。プラグイン内の環境変数やパスの解決はプラグインの環境変数とパスの解決ルールにまとめています。
まとめ
このプラグインは、grafana-assistant CLIを使う人のための、スキル中心の薄い手引きです。Grafanaのデータへ直接つなぐ役目は、grafana-cloud-mcpかgrafana-mcpが担います。
CLIだけ先に動かしたいなら、CLIの導入とブラウザ認証、プラグインの導入の順です。ルールの8項目を生かしたいなら、MCPを併用したうえでCLAUDE.mdに写すほうが、Claude Codeでは確実です。