VMware Aria Operations (vRealize Operations) monitoring, alerting, and capacity planning
Project description
VMware Aria Operations MCP Skill
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).
Overview
vmware-aria exposes 18 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, acknowledge, cancel, definitions | Read + 2 Write (5) |
| Capacity | overview, remaining, time-remaining, rightsizing | Read-only (4) |
| Anomaly | list anomalies, risk badge | Read-only (2) |
| Health | platform health, collector groups | Read-only (2) |
Total: 18 tools — 16 read-only, 2 write (acknowledge/cancel alerts)
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
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)
Add to ~/.claude.json:
{
"mcpServers": {
"vmware-aria": {
"command": "vmware-aria-mcp",
"env": {
"VMWARE_ARIA_CONFIG": "~/.vmware-aria/config.yaml"
}
}
}
}
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 OpsToken authentication:
POST /suite-api/api/auth/token/acquire
{"username": "admin", "password": "...", "authSource": "LOCAL"}
→ {"token": "abc123", "validity": 1800000}
Subsequent requests: Authorization: OpsToken abc123
Tokens are valid for 30 minutes and automatically refreshed 60 seconds before expiry.
Architecture
User (natural language)
↓
AI Agent (Claude Code / Goose / Cursor)
↓ [reads SKILL.md]
vmware-aria MCP server (stdio transport)
↓ [HTTPS + OpsToken]
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 | 31 | uv tool install vmware-aiops |
| vmware-monitor | Read-only monitoring, alarms, events, VM info | 8 | uv tool install vmware-monitor |
| vmware-nsx | NSX networking: segments, gateways, NAT, IPAM | 31 | uv tool install vmware-nsx-mgmt |
| vmware-nsx-security | DFW microsegmentation, security groups, Traceflow | 20 | uv tool install vmware-nsx-security |
| vmware-storage | Datastores, iSCSI, vSAN | 11 | uv tool install vmware-storage |
| vmware-vks | Tanzu Namespaces, TKC cluster lifecycle | 20 | uv tool install vmware-vks |
Security
- Passwords loaded from env vars or
.envfile, never fromconfig.yaml - Write operations (acknowledge/cancel alert) audit-logged to
~/.vmware-aria/audit.log - API responses sanitized (control chars stripped, 500-char limit) to prevent prompt injection
- Supports self-signed certificates (
verify_ssl: false) for lab environments
License
MIT — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vmware_aria-1.5.10.tar.gz.
File metadata
- Download URL: vmware_aria-1.5.10.tar.gz
- Upload date:
- Size: 98.6 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f83439d7e02896ac991f23e99a00865ff8bd30a678e3a69ce8870b704e5fab2
|
|
| MD5 |
31761f4f0c463b3e7cd8676468cb8a0e
|
|
| BLAKE2b-256 |
e7b568b6645f555a962f31c93ea5d2468a15c3ae9c9298074cdd483d87f7ab6c
|
File details
Details for the file vmware_aria-1.5.10-py3-none-any.whl.
File metadata
- Download URL: vmware_aria-1.5.10-py3-none-any.whl
- Upload date:
- Size: 34.3 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6aa71a17371356f8e76e9602ec40ea69c60f323e0b73d2f64a3ad54d4c834057
|
|
| MD5 |
815aaf3324be71cb492dfaf6baecd8a6
|
|
| BLAKE2b-256 |
7213cb421636aa3e36c17e69ae670ff93440dda84474ed827972a2ba8174f6f8
|