azure-resource-lookup について
azure-resource-lookup は、サブスクリプションとリソースグループをまたいで Azure リソースを一覧表示、検索、探索するエージェントスキルです。専用の MCP ツールで対象の種類を扱えない場合は、Azure Resource Graph でクエリを実行します。
主な機能
- 01サブスクリプションとリソースグループをまたぐリソースインベントリの照会
- 02Azure Resource Graph 向け KQL クエリの生成
- 03対応する専用 MCP ツールへのルーティング
- 04孤立リソースやタグ未設定のリソースの検出
- 05クエリのスコープ指定と出力の整形
活用シーン
- 01サブスクリプション内の Web アプリやコンテナーアプリなどの一覧表示
- 02未接続のディスクや未使用の NIC などの孤立リソースの検出
- 03リソースのタグ監査や状態による絞り込み
MCP 対応
このスキルは extension_cli_generate などの Azure MCP ツールで az graph query コマンドを生成し、サブスクリプションとリソースグループの一覧ツールで検索範囲を絞り込みます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ microsoft/ azure-skills --skill azure-resource-lookupインストール後、Claude Code で/azure-resource-lookupを入力して読み込まれたか確認します。
同梱ファイルreferences/azure-resource-graph.md
詳細
Azure Resource Lookup
サブスクリプションとリソースグループをまたいで、あらゆる種類の Azure リソースを一覧表示、検索、検出します。専用の MCP ツールでは対応できないリソースの種類について、高速で横断的なクエリには Azure Resource Graph(ARG)を使用します。
このスキルを使用する場面
ユーザーが次のことを求めている場合に、このスキルを使用します。
- あらゆる種類のリソース(VM、Web アプリ、ストレージアカウント、コンテナーアプリ、データベースなど)を一覧表示する
- 特定のサブスクリプションまたはリソースグループ内のリソースを表示する
- 複数のサブスクリプションまたはリソースの種類をまたいでクエリする
- 孤立したリソース(未接続のディスク、未使用の NIC、アイドル状態の IP)を検索する
- 必須タグや構成が不足しているリソースを検出する
- 複数の種類にまたがるリソースインベントリを取得する
- 特定の状態(異常、プロビジョニング失敗、停止中)にあるリソースを検索する
- 「自分が持っているリソースは何ですか?」または「Azure リソースを表示してください」という質問に回答する
- Web アプリ、Web サイト、App Service を一覧表示する
⚠️ 警告: App Service / Web Apps には、専用の MCP
listコマンドがありません。「Web サイトを一覧表示して」「Web アプリを一覧表示して」「App Service を一覧表示して」などのプロンプトは、Azure Resource Graph を使用するため、必ずこのスキルに振り分けてください。
💡 ヒント: 単一のリソースの種類に関するクエリでは、まず専用の MCP ツールで対応できるか確認してください(下記のルーティング表を参照)。該当するツールがない場合は、Azure Resource Graph を使用します。
クイックリファレンス
| プロパティ | 値 |
|---|---|
| クエリ言語 | KQL(Kusto Query Language のサブセット) |
| CLI コマンド | az graph query -q "<KQL>" -o table |
| 拡張機能 | az extension add --name resource-graph |
| MCP ツール | az graph query の意図を指定した extension_cli_generate |
| 最適な用途 | サブスクリプションをまたぐクエリ、孤立したリソース、タグの監査 |
MCP ツール
| ツール | 目的 | 使用する場面 |
|---|---|---|
extension_cli_generate | az graph query コマンドを生成する | 主なツール — ユーザーの意図から ARG クエリを生成する |
mcp_azure_mcp_subscription_list | 利用可能なサブスクリプションを一覧表示する | クエリの前にサブスクリプションの範囲を確認する |
mcp_azure_mcp_group_list | リソースグループを一覧表示する | クエリの範囲を絞り込む |
ワークフロー
ステップ 1:専用の MCP ツールを確認する
単一のリソースの種類に関するクエリでは、専用の MCP ツールで対応できるか確認します。
| リソースの種類 | MCP ツール | 対応範囲 |
|---|---|---|
| 仮想マシン | compute | ✅ 全面的 — 一覧表示、詳細、サイズ |
| ストレージアカウント | storage | ✅ 全面的 — アカウント、BLOB、テーブル |
| Cosmos DB | cosmos | ✅ 全面的 — アカウント、データベース、クエリ |
| Key Vault | keyvault | ⚠️ 部分的 — シークレット/キーのみ。Vault の一覧表示には非対応 |
| SQL データベース | sql | ⚠️ 部分的 — リソースグループ名が必要 |
| コンテナーレジストリ | acr | ✅ 全面的 — レジストリの一覧表示 |
| Kubernetes(AKS) | aks | ✅ 全面的 — クラスター、ノードプール |
| App Service / Web Apps | appservice | ❌ 一覧表示コマンドなし — ARG を使用 |
| Container Apps | — | ❌ MCP ツールなし — ARG を使用 |
| Event Hubs | eventhubs | ✅ 全面的 — 名前空間、ハブ |
| Service Bus | servicebus | ✅ 全面的 — キュー、トピック |
専用ツールが利用可能で、十分な範囲に対応している場合は、それを使用します。それ以外の場合は、ステップ 2 に進みます。
ステップ 2:ARG クエリを生成する
extension_cli_generate を使用して、az graph query コマンドを作成します。
mcp_azure_mcp_extension_cli_generate
intent: "query Azure Resource Graph to <user's request>"
cli-type: "az"
一般的な KQL パターンについては、Azure Resource Graph クエリパターンを参照してください。
ステップ 3:結果を実行して整形する
生成したコマンドを実行します。--query(JMESPath)を使用して出力を整形します。
az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table
結果数を制限するには --first N を使用します。範囲を指定するには --subscriptions を使用します。
エラー処理
| エラー | 原因 | 対処方法 |
|---|---|---|
resource-graph extension not found | 拡張機能がインストールされていません | az extension add --name resource-graph |
AuthorizationFailed | サブスクリプションへの読み取りアクセス権がありません | RBAC を確認してください。Reader ロールが必要です |
クエリで BadRequest が発生する | KQL 構文が無効です | テーブル名と列名を確認してください。大文字と小文字を区別せずに型を照合するには =~ を使用してください |
| 結果が空です | 一致するリソースがないか、スコープが誤っています | --subscriptions フラグを確認し、リソースの種類の表記を確認してください |
制約
- ✅ 必ず 大文字と小文字を区別せずに型を照合するには
=~を使用してください(型は小文字です) - ✅ 必ず 大規模なテナントでは、
--subscriptionsまたは--firstを指定してクエリのスコープを設定してください - ✅ 優先して 単一のリソース種類を対象にするクエリには、専用の MCP ツールを使用してください
- ❌ 決して リアルタイム監視に ARG を使用しないでください(データには多少の遅延があります)
- ❌ 決して ARG を通じて変更を試みないでください(読み取り専用です)