VMware Aria Operations について
VMware 環境の監視を行うチーム向けの MCP サーバーです。メトリクス、アラート、キャパシティ、異常、レポート、健全性を扱い、書き込み操作には安全確認を設けています。
主な機能
- 01リソースのメトリクスと関係の照会
- 02アラートの調査と管理
- 03キャパシティと適正化の分析
- 04異常とプラットフォーム健全性の確認
- 05レポート生成とフリート照会
- 06変更操作の確認ゲート
活用シーン
- 01CPU 使用率の高いリソースの特定
- 02重大アラートの確認と承認
- 03クラスターのメモリ残余時間の推定
- 04異常と過剰構成の VM の発見
MCP 対応
VMware Aria Operations と VCF Operations を操作する 46 個の MCP ツールを公開します。ローカルクライアント向けの stdio と、リモート MCP クライアント向けの HTTPS に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
44掲載時のツール一覧 · 1 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| name | string | はい | Alert definition の名前(Aria Operations 内で一意である必要があります)。 |
| target | any | いいえ | 設定にある Aria target 名。省略時はデフォルトが使用されます。 |
| criticality | string | いいえ | アラートの重大度:INFORMATION、WARNING、IMMEDIATE、CRITICAL。 |
| description | string | はい | このアラートが発生する条件と理由。 |
| adapter_kind | string | いいえ | Adapter kind キー。デフォルトは VMWARE(vSphere adapter)です。 |
| resource_kind | string | はい | VirtualMachine、HostSystem、ClusterComputeResource、または Datastore。 |
| symptom_definition_ids | array | はい | 症状定義の UUID。いずれか 1 つが発火するとアラートがトリガーされます(OR)。 |
詳細
VMware Aria Operations MCP スキル
注:VCF 9.0 以降では、VMware Aria Operations は VCF Operations に名称変更されました。このスキルはどちらの名称でも動作します。
/suite-api/REST エンドポイントに変更はありません。
作成者:Wei Zhou、VMware by Broadcom — [email protected] VMware のエンジニアによるコミュニティ主導のプロジェクトであり、VMware の公式製品ではありません。 VMware の公式開発者ツールについては、developer.broadcom.com をご覧ください。
Model Context Protocol(MCP)を介して、VMware Aria Operations(vRealize Operations)の監視とキャパシティプランニングを AI で支援します。
2.0 へのアップグレード
2.0 では、すべての名前が動詞で始まるように、4 つの MCP ツールの名前を変更しました(例:findings_list → list_findings、fleet_certificate_list → list_fleet_certificates、fleet_domain_list → list_fleet_domains)。旧名から新名への完全な対応表は
RELEASE_NOTES.md にあります。それ以外に変更はありません。同じツール、パラメーター、安全ゲート、CLI コマンドです。エージェントのプロンプト、スクリプト、または ~/.vmware/rules.yaml でツール名を指定している場合は、更新してください。ただし、旧名で記述された拒否ルールは vmware-policy ≥ 1.18 で引き続き機能します(vmware-audit policy で名前変更によって適用範囲が広がったルールを確認できます)。また、vmware-pilot ≥ 1.13 は、保存済みワークフロー内の旧名を変換します。
2.0 より前のバージョンをインストールしている環境でも同じ rules.yaml を共有する場合は、そちらにも vmware-policy ≥ 1.18.2 を導入してください。各ルールを旧名と新名の両方に照合するため、1 つのファイルで両方に対応できます。
概要
vmware-aria は、自然言語による AI エージェント(Claude Code、Cursor、Goose など)を介して Aria Operations と連携するための 46 個の MCP ツールを公開します。
| カテゴリ | ツール | 種類 |
|---|---|---|
| リソース | 一覧、取得、メトリクス、ヘルスバッジ、上位の消費者、メトリクスキー、プロパティ、関係 | 読み取り専用(8) |
| アラート | 一覧、取得、調査(アラート→リソース)、確認、キャンセル、定義、メモ(一覧/追加)、推奨事項 | 読み取り+書き込み 3 個(9) |
| アラート定義 | 症状定義、作成、有効化/無効化、削除 | 読み取り+書き込み 3 個(4) |
| キャパシティ | 概要、残量、残り時間、適正サイズ化 | 読み取り専用(4) |
| レポート | 定義、生成、一覧、取得、削除 | 読み取り+書き込み 2 個(5) |
| 異常 | 異常の一覧、リスクバッジ | 読み取り専用(2) |
| ヘルス | プラットフォームのヘルス、コレクターグループ、Aria ノードのメモリ/スワップ/ヒープ、アダプターの収集状態 | 読み取り専用(4) |
| メンテナンス | リソースのメンテナンス開始/終了、メンテナンススケジュール | 読み取り+書き込み 2 個(3) |
| フリート/PromQL(VCF Ops 9.1) | フリート証明書、パスワードアカウント、VCF ドメイン、診断結果、リアルタイム PromQL クエリ | 読み取り専用(5) |
| Raw API | API 操作インデックスの検索、インデックスに登録されたパスへの GET(上記のツールで対応していない読み取り用) | 読み取り専用(2) |
合計:46 個のツール — 読み取り専用 36 個、書き込み 10 個
クイックスタート
# Install
uv tool install vmware-aria
# Configure
mkdir -p ~/.vmware-aria
cat > ~/.vmware-aria/config.yaml << 'EOF'
targets:
prod:
host: aria-ops.example.com
username: admin
port: 443
verify_ssl: true
auth_source: LOCAL
default_target: prod
EOF
# Set password (never in config.yaml)
echo "VMWARE_ARIA_PROD_PASSWORD=your_password" > ~/.vmware-aria/.env
chmod 600 ~/.vmware-aria/.env
# Verify setup
vmware-aria doctor
オフライン/エアギャップ環境へのインストール(ソースから)
このプロジェクトでは最新の PEP 517 ビルドシステム(hatchling)を使用しているため、意図的に setup.py はありません。これは想定どおりであり、ファイルの欠落ではありません。ソースをクローンして、ERROR: File "setup.py" or "setup.cfg" not found ... editable mode currently requires a setuptools-based build というエラーが発生した場合、使用している pip は 21.3 より古く、setuptools 以外のバックエンドでの 編集可能な(-e)インストールに対応していません。編集可能モードは開発時に便利な機能であり、ツールの実行には必要ありません。次のいずれかを実行してください。
# From the source tree — a normal (non-editable) install builds a wheel:
pip install . # NOT pip install -e .
# ...or upgrade pip first, and editable works too:
pip install --upgrade pip && pip install -e .
完全なエアギャップ環境のホストでは、ネットワークに接続できるマシンで wheel をビルドして転送してください。転送先ではネットワークが不要です。
# On a connected machine, collect this package + its dependencies as wheels:
pip wheel . -w dist # → dist/*.whl (or: uv build, for just this package)
# Copy dist/ to the air-gapped host, then install offline:
pip install --no-index --find-links dist vmware-aria
CLI の例
# List top CPU consumers
vmware-aria resource top --metric 'cpu|usage_average' --top 10
# Check active CRITICAL alerts
vmware-aria alert list --criticality CRITICAL
# Acknowledge an alert
vmware-aria alert acknowledge <alert-id>
# Fetch 4-hour CPU + memory metrics for a VM ("missing" says why a key has no points)
vmware-aria resource metrics <vm-id> --metrics 'cpu|usage_average,mem|usage_average' --hours 4
# Check cluster capacity
vmware-aria capacity remaining <cluster-id>
vmware-aria capacity time-remaining <cluster-id>
# Find rightsizing opportunities (vCPU / memory now → recommended, direction, actionable)
vmware-aria capacity rightsizing
# Check Aria platform health: HEALTHY / DEGRADED / DOWN / UNKNOWN, per service, plus version
vmware-aria health status
vmware-aria health collectors
# Is the Aria node short of memory? Which adapter stopped collecting?
vmware-aria health node
vmware-aria health adapters
# Look up the metric keys a VM reports before querying them
vmware-aria resource keys <vm-id> --filter 'mem|'
# Put a host in maintenance for 2 hours before planned work, then end it (asks once; --dry-run prints the API call)
vmware-aria maintenance start <host-id> --duration 120
vmware-aria maintenance end <host-id>
# Record who is handling an alert, and read what Aria recommends
vmware-aria alert note-add <alert-id> "Taking this: rebooting esx-03"
vmware-aria alert recommendations <alert-id>
MCP のセットアップ(Claude Code)
uv tool install vmware-aria の実行後、~/.claude.json に追加します:
{
"mcpServers": {
"vmware-aria": {
"command": "vmware-aria",
"args": ["mcp"],
"env": {
"VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
}
}
}
}
v1.5.15+ では、単一コマンド形式の
vmware-aria mcpを使用します。旧式のvmware-aria-mcpコンソールスクリプトも、後方互換性のため引き続き提供されています。 インストールせずにuvx --from vmware-aria vmware-aria mcpを使用する必要があり、 企業の TLS プロキシ経由でinvalid peer certificate: UnknownIssuerが発生した場合は、UV_NATIVE_TLS=trueを設定するか、上記の推奨形式vmware-aria mcpを使用してください。
続いて、自然言語で指示します:
- 「現在、CPU を最も消費している上位 10 件を表示して」
- 「CRITICAL アラートをすべて一覧表示して、確認済みにして」
- 「prod クラスターのメモリが不足するまで、あとどのくらい?」
- 「過剰にプロビジョニングされている VM はどれ?適正化の推奨事項を表示して」
- 「vm-web-01 に異常はある?」
認証
Aria Operations では、vRealizeOpsToken 認証を使用します:
POST /suite-api/api/auth/token/acquire
{"username": "admin", "password": "...", "authSource": "LOCAL"}
→ {"token": "abc123", "validity": 1765182896000} # validity = expiry epoch ms
Subsequent requests: Authorization: vRealizeOpsToken abc123
トークンの有効期間はスライド方式で 6 時間です(公式仕様に従い、呼び出しごとに延長されます)。クライアントは有効期限の 60 秒前に自動でトークンを再取得します。validity フィールドは有効期間ではなく、エポックミリ秒単位の有効期限タイムスタンプです。
アーキテクチャ
User (natural language)
↓
AI Agent (Claude Code / Goose / Cursor)
↓ [reads SKILL.md]
vmware-aria MCP server (stdio transport)
↓ [HTTPS + vRealizeOpsToken]
Aria Operations Suite API
↓
VMs / Hosts / Clusters / Alerts / Capacity
関連スキル
| スキル | 対象範囲 | ツール | インストール |
|---|---|---|---|
| vmware-aiops ⭐ エントリーポイント | VM のライフサイクル、デプロイ、ゲスト操作、クラスター | 60 | uv tool install vmware-aiops |
| vmware-monitor | 読み取り専用の監視、アラーム、イベント、VM 情報 | 32 | uv tool install vmware-monitor |
| vmware-nsx | NSX ネットワーク:セグメント、ゲートウェイ、NAT、IPAM | 33 | uv tool install vmware-nsx-mgmt |
| vmware-nsx-security | DFW マイクロセグメンテーション、セキュリティグループ、Traceflow | 22 | uv tool install vmware-nsx-security |
| vmware-avi | AVI / NSX ALB のロードバランシング、AKO K8s 操作 | 28 | uv tool install vmware-avi |
| vmware-storage | データストア、iSCSI、vSAN | 12 | uv tool install vmware-storage |
| vmware-vks | Tanzu Namespaces、TKC クラスターのライフサイクル | 23 | uv tool install vmware-vks |
| vmware-harden | コンプライアンスベースライン、ドリフト検出 | 8 | uv tool install vmware-harden |
セキュリティ
- パスワードは環境変数または
.envファイルから読み込み、config.yamlからは読み込みません - Aria に到達するすべての MCP ツール呼び出しと CLI コマンドは、
~/.vmware/audit.dbに監査ログとして記録されます(vmware-policy 経由)。CLI の書き込み操作(アラートの確認済み設定/キャンセル、アラートのメモ、アラート定義の管理、レポートの生成/削除、リソースのメンテナンス開始/終了)は、さらに~/.vmware-aria/audit.logに追記されます - API 応答は、プロンプトインジェクションを防ぐためにサニタイズされます(制御文字を削除し、500 文字に制限)
- MCP の破壊的な書き込み操作(アラートの確認済み設定/キャンセル、アラート定義とレポートの削除、メンテナンスの開始/終了)では、
confirm(既定値はfalse)を指定します。confirm=trueを指定しない場合は、変更対象のblast_radiusを返し、何も変更しません。ブロッカー(リソースがすでにメンテナンス中の場合など)がある場合や、フィールドを読み取れない場合、confirm=trueは拒否されます。古いconfirmedエイリアスは 2.4.2 で削除されており、これを渡す呼び出しは不明な引数として拒否されます - TLS 検証はデフォルトで有効です。プライベート CA を使用する場合は、CA を含むバンドルを
SSL_CERT_FILEに設定してください(セットアップガイドを参照)。verify_ssl: falseは、隔離された自己署名ラボでのみ使用してください
Broadcom 公式リファレンス
- REST API:https://developer.broadcom.com/xapis — VCF Operations API(旧 Aria Operations suite-api)
- SDK:https://developer.broadcom.com/sdks — VCF Python SDK
- CLI ツール:https://developer.broadcom.com/tools — PowerCLI 9.1 には「VCF Operations(旧 vRealize Operations Manager)」のコマンドレットが含まれます
リモートアクセス(HTTPS)とツールの制限
デフォルトでは、vmware-aria mcp はローカルの 1 つのクライアントと stdio で通信し、すべてのツールを提供します。次の 2 つのオプションで動作を変更できます
(vmware-policy ≥ 1.21.0)。
HTTPS で提供すると、別のマシン上のクライアントが接続できるようになります。すべての呼び出し元にベアラートークンが必要です。
vmware-audit token create alice # prints the token once; give it to alice
vmware-audit token list # names only
vmware-audit token revoke alice # refused from its next request, no restart
vmware-aria mcp --transport https --host 0.0.0.0 --port 8443 \
--cert /etc/vmware-mcp/server.pem --key /etc/vmware-mcp/server-key.pem \
--public-name mcp.example.com
クライアントを接続します(Claude Code を例に示します。ストリーミング可能な HTTP とカスタムヘッダーに対応する MCP クライアントであれば使用できます)。
claude mcp add --transport http vmware-aria https://mcp.example.com:8443/mcp \
--header "Authorization: Bearer $VMWARE_MCP_TOKEN"
{
"mcpServers": {
"vmware-aria": {
"type": "http",
"url": "https://mcp.example.com:8443/mcp",
"headers": { "Authorization": "Bearer ${VMWARE_MCP_TOKEN}" }
}
}
}
- トークンがない場合、サーバーは起動しません。また、
--public-nameに含まれない Host/Origin 値を拒否し、バインド前に未認証のリクエストが 401 を返すことを確認します。これらの名前について、クライアントが信頼する証明書を使用してください。 - 同じマシン上の TLS 終端リバースプロキシの背後で動作させる場合は、
--transport http --host 127.0.0.1 --public-name mcp.example.comを使用し、Authorizationヘッダーを転送してください。 - 別のマシン上のロードバランサーまたはゲートウェイの背後で動作させる場合は、
--transport httpsのままにします(自己署名証明書でも構いません)。ロードバランサーがHostとして送信するホスト名を--public-nameに指定し、Authorizationを転送するよう設定してください。 ヘルスプローブにはGET /healthzを使用できます。このエンドポイントはトークン不要で、{"status": "ok"}のみを返します (vmware-policy ≥ 1.23.0)。 - 各リクエストに
traceparentまたはX-Request-IDを付けると、監査ログの行に保存されます。vmware-audit log --correlation-id IDを使うと、1 つのプラットフォームリクエストに関連する呼び出しを検索できます。 - 監査ログでは、各呼び出し元が
token:<name>として記録されます。呼び出しは並行して実行され、それぞれがターゲットへの独自のセッションを保持します。各ターゲットにつき最大VMWARE_MCP_POOL_SIZE(デフォルトは 2)セッションまで使用でき、各セッションはターゲットへのログインです。空きセッションがない場合、呼び出しは最大 300 秒待機します。 - エンドポイントに接続できるすべてのユーザーは、このサーバーのアカウントで操作します。 トークンは呼び出し元を識別しますが、プラットフォーム上の権限を付与するものではありません。権限レベルごとにエンドポイントを 1 つ実行してください。
- 1 つのエンドポイントで複数のユーザーまたはロールに対応する場合:
vmware-audit roles enableを 1 回実行してから、各トークンにロールを割り当てます(vmware-audit token create NAME --role readerを使用するか、ツールとターゲットを指定したroles.yaml内でロールを設定します。vmware-policy ≥ 1.24.0)。ロールは、このエンドポイントでトークンが呼び出せる内容を制限します。アカウントが持つ権限を超える権限を付与することはできません。vmware-policy の README「ネットワーク呼び出し元向けのロール」を参照してください。
読み取りツールと、選択した書き込みツールのみを提供します:
vmware-aria mcp --expose read --allow-write acknowledge_alert
# or: VMWARE_ARIA_MCP_EXPOSE=read VMWARE_ARIA_MCP_ALLOW_WRITE=acknowledge_alert vmware-aria mcp
提供対象外のツールは、クライアントのツール一覧に表示されません。不正な値、または不明な書き込みツールが指定されると、サーバーは停止します (終了コード 2)。これはクライアントに提供するツールを制限するものであり、認可ではありません。そのため、アカウント自体には最小限の権限を設定してください。
詳細:skills/vmware-aria/references/setup-guide.md(「MCP を HTTPS で提供する」「提供するツールの制限」)。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。