mcpField
V
VMware Aria Operations

VMware Aria Operations

ローカル
github.com/zw008クラウド・インフラ35 日前に更新

VMware Aria Operations について

VMware Aria Operations MCP Skillは、自然言語エージェントにMCP経由でVMware Aria Operationsの監視・キャパシティ管理機能を提供します。リソース、アラート、異常、容量を扱い、破壊的な書き込みには確認手順があります。

主な機能

  1. 01リソース指標、プロパティ、関係の照会
  2. 02アラートの一覧表示と調査
  3. 03容量とリソースサイジング提案の確認
  4. 04異常、ヘルス、コレクターの確認
  5. 05レポートとメンテナンス操作の管理
  6. 06PromQLによるリアルタイムデータ照会

活用シーン

  1. 01CPU使用率が最も高いリソースの特定
  2. 02重大なアラートの確認と承認
  3. 03クラスターのメモリ枯渇までの時間の推定
  4. 04過剰プロビジョニングされたVMや異常の特定

MCP 対応

VMware Aria Operations Suite APIを介し、リソース、アラート、容量、異常、ヘルスなどのツールを提供し、一部の書き込み操作にも対応します。MCPクライアントはstdioまたは認証付きHTTPSで接続できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"zw008-vmware-aria": {
"command": "uvx",
"args": [
"vmware-aria"
]
}
}
}
起動コマンドuvx vmware-aria

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypivmware-aria1.8.8

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

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 で支援します。

Python 3.10+ License: MIT

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 APIAPI 操作インデックスの検索、インデックスに登録されたパスへの 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 のライフサイクル、デプロイ、ゲスト操作、クラスター60uv tool install vmware-aiops
vmware-monitor読み取り専用の監視、アラーム、イベント、VM 情報32uv tool install vmware-monitor
vmware-nsxNSX ネットワーク:セグメント、ゲートウェイ、NAT、IPAM33uv tool install vmware-nsx-mgmt
vmware-nsx-securityDFW マイクロセグメンテーション、セキュリティグループ、Traceflow22uv tool install vmware-nsx-security
vmware-aviAVI / NSX ALB のロードバランシング、AKO K8s 操作28uv tool install vmware-avi
vmware-storageデータストア、iSCSI、vSAN12uv tool install vmware-storage
vmware-vksTanzu Namespaces、TKC クラスターのライフサイクル23uv tool install vmware-vks
vmware-hardenコンプライアンスベースライン、ドリフト検出8uv 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 公式リファレンス

リモートアクセス(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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。