Skip to main content

VMware Aria Operations (vRealize Operations) monitoring, alerting, and capacity planning

Project description

VMware Aria Operations MCP Skill

Note: In VCF 9.0 and later, VMware Aria Operations has been rebranded as VCF Operations. This skill works against both names — the /suite-api/ REST endpoints are unchanged.

Author: Wei Zhou, VMware by Broadcom — wei-wz.zhou@broadcom.com This is a community-driven project by a VMware engineer, not an official VMware product. For official VMware developer tools see developer.broadcom.com.

AI-assisted monitoring and capacity planning for VMware Aria Operations (vRealize Operations) via the Model Context Protocol (MCP).

Python 3.10+ License: MIT

Overview

vmware-aria exposes 28 MCP tools for interacting with Aria Operations through natural language AI agents (Claude Code, Cursor, Goose, etc.):

Category Tools Type
Resources list, get, metrics, health badge, top consumers Read-only (5)
Alerts list, get, investigate (alert→resource), acknowledge, cancel, definitions Read + 2 Write (6)
Alert Definitions symptom definitions, create, enable/disable, delete Read + 3 Write (4)
Capacity overview, remaining, time-remaining, rightsizing Read-only (4)
Reports definitions, generate, list, get, delete Read + 2 Write (5)
Anomaly list anomalies, risk badge Read-only (2)
Health platform health, collector groups Read-only (2)

Total: 28 tools — 21 read-only, 7 write

  • Read-only mode — one env var strips every write tool from the MCP registry; ideal for audits, PoCs, and untrusted/local models — see Read-Only Mode

Quick Start

# 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

Read-Only Mode

A prompt instruction is advisory — a model can ignore it. Read-only mode is structural: set VMWARE_READ_ONLY=true and all 7 write tools (alert acknowledge/cancel, alert definition create/enable-disable/delete, report generate/delete) are removed from the MCP registry at startup. list_tools() never offers them, so the model cannot call what it cannot see. Off by default, and fail-closed: if the mode is requested but cannot be guaranteed, the server refuses to start.

Three ways to enable:

{
  "mcpServers": {
    "vmware-aria": {
      "command": "vmware-aria",
      "args": ["mcp"],
      "env": { "VMWARE_READ_ONLY": "true" }
    }
  }
}
  • Per-skill override: VMWARE_ARIA_READ_ONLY=true (takes precedence over the family-wide VMWARE_READ_ONLY)
  • Config alternative: read_only: true in ~/.vmware-aria/config.yaml

Precedence: per-skill env → family env → config → off. Startup logs list exactly which tools were withheld.

Running with local or small models? See skills/vmware-aria/references/agent-guardrails.md.

CLI Examples

# 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
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
vmware-aria capacity rightsizing

# Check Aria platform health
vmware-aria health status
vmware-aria health collectors

MCP Setup (Claude Code)

After uv tool install vmware-aria, add to ~/.claude.json:

{
  "mcpServers": {
    "vmware-aria": {
      "command": "vmware-aria",
      "args": ["mcp"],
      "env": {
        "VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
      }
    }
  }
}

v1.5.15+ uses the single-command form vmware-aria mcp. The legacy vmware-aria-mcp console script is still kept for backward compatibility. If you must use uvx --from vmware-aria vmware-aria mcp (no install) and hit invalid peer certificate: UnknownIssuer behind a corporate TLS proxy, set UV_NATIVE_TLS=true or use the recommended vmware-aria mcp form above.

Then use natural language:

  • "Show me the top 10 CPU consumers right now"
  • "List all CRITICAL alerts and acknowledge them"
  • "How long until the prod cluster runs out of memory?"
  • "Which VMs are over-provisioned? Show rightsizing recommendations"
  • "Are there any anomalies on vm-web-01?"

Authentication

Aria Operations uses vRealizeOpsToken authentication:

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

Tokens have a 6-hour sliding validity (extended on each call, per the official spec); the client re-acquires automatically 60 seconds before expiry. The validity field is the expiry timestamp in epoch milliseconds, not a duration.

Architecture

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

Companion Skills

Skill Scope Tools Install
vmware-aiops ⭐ entry point VM lifecycle, deployment, guest ops, clusters 49 uv tool install vmware-aiops
vmware-monitor Read-only monitoring, alarms, events, VM info 27 uv tool install vmware-monitor
vmware-nsx NSX networking: segments, gateways, NAT, IPAM 33 uv tool install vmware-nsx-mgmt
vmware-nsx-security DFW microsegmentation, security groups, Traceflow 21 uv tool install vmware-nsx-security
vmware-avi AVI / NSX ALB load balancing, AKO K8s operations 28 uv tool install vmware-avi
vmware-storage Datastores, iSCSI, vSAN 11 uv tool install vmware-storage
vmware-vks Tanzu Namespaces, TKC cluster lifecycle 20 uv tool install vmware-vks
vmware-harden Compliance baselines, drift detection 6 uv tool install vmware-harden

Security

  • Passwords loaded from env vars or .env file, never from config.yaml
  • Write operations (alert acknowledge/cancel, alert definition management, report generate/delete) audit-logged to ~/.vmware/audit.db (MCP, via vmware-policy) and ~/.vmware-aria/audit.log (CLI)
  • API responses sanitized (control chars stripped, 500-char limit) to prevent prompt injection
  • Supports self-signed certificates (verify_ssl: false) for lab environments

Official Broadcom References

License

MIT — see LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vmware_aria-1.8.0.tar.gz (202.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vmware_aria-1.8.0-py3-none-any.whl (71.1 kB view details)

Uploaded Python 3

File details

Details for the file vmware_aria-1.8.0.tar.gz.

File metadata

  • Download URL: vmware_aria-1.8.0.tar.gz
  • Upload date:
  • Size: 202.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vmware_aria-1.8.0.tar.gz
Algorithm Hash digest
SHA256 55de221ece69bf3dad303d1b89cee0eca00ff076e818ba592986aac2afe58290
MD5 879a85c1ba52838cdfb0e054903b4a13
BLAKE2b-256 cde0e713d261db5a03e3b7f3b2e2014fc3c2cc510e58cdfa01ff67e8b0be5eda

See more details on using hashes here.

File details

Details for the file vmware_aria-1.8.0-py3-none-any.whl.

File metadata

  • Download URL: vmware_aria-1.8.0-py3-none-any.whl
  • Upload date:
  • Size: 71.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for vmware_aria-1.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c2db2bbeb1d26afb3d93cb5e5de9785973eda7f552896b0e6fbba9cbc3494735
MD5 6d8b0784f168136fd3e4346ae9f52884
BLAKE2b-256 c54bafd541eb56f64163ed421bd7ac0e20d6a0ff08fd3248b0238cb60c7c01c2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page