
VMware Aria Operations
io.github.zw008Published by GitHub account zw008v1.8.8Updated Oct 24, 2026
VMware Aria Operations: metrics, alerts, capacity, anomaly detection — 18 MCP tools.
Overview
MCP server for VMware Aria Operations (VCF Operations) that lets an assistant read metrics, alerts, capacity and health, and perform a few guarded write…
- What you can do
- List resources and read their metrics, health badges, top consumers, metric keys, properties and relationships
- List, get and investigate alerts, read alert definitions and recommendations, acknowledge or cancel alerts, and add notes
- Read capacity overview, remaining capacity, time-remaining and rightsizing recommendations
- List anomalies and risk badges, and check platform health, collector groups, node memory/swap/heap and adapter collection state
- Generate, list, fetch and delete reports, and start or end resource maintenance
- Query fleet certificates, password accounts, VCF domains, diagnostic findings and real-time PromQL, plus a raw read-only API index lookup
- When to use it
- Useful when you want an AI agent to answer questions about a VMware Aria Operations environment in natural language: current CPU or memory consumers, critical alerts, capacity exhaustion forecasts, over-provisioned VMs, anomalies or platform health. Also suited to routine operations such as acknowledging alerts or putting a host into maintenance.
- Requirements
- Runs locally as a Python package installed with uv or pip, started as a stdio process. Needs network access to the Aria Operations host over HTTPS, a config file with target host, username, port and auth source, and the account password supplied through an environment variable or a .env file. A private CA may require SSL_CERT_FILE.
Installation
In SourceWeft
- Open VMware Aria Operations in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
VMware Aria Operations MCP Skill
For a read-only check of this skill with your model and agent host, use the shared model-fit self-test in the marketplace root.
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 — [email protected] 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).
Upgrading to 2.0
2.0 renames 4 of its MCP tools so every name starts with a verb (e.g. findings_list → list_findings, fleet_certificate_list → list_fleet_certificates, fleet_domain_list → list_fleet_domains). The full old → new table is in
RELEASE_NOTES.md. Nothing else changes: same tools, parameters,
safety gates and CLI commands. If an agent prompt, script or ~/.vmware/rules.yaml names a tool, update it — though deny
rules written with the old names keep working with vmware-policy ≥ 1.18 (vmware-audit policy lists any rule the
renames widened), and vmware-pilot ≥ 1.13 translates old names in saved workflows.
If an install older than 2.0 shares that rules.yaml, give it vmware-policy ≥ 1.18.2 too: it matches each rule
against both the old and the new name, so one file serves both.
Overview
vmware-aria exposes 46 MCP tools for interacting with Aria Operations through natural language AI agents (Claude Code, Cursor, Goose, etc.):
Total: 46 tools — 36 read-only, 10 write
Quick Start
Offline / Air-Gapped Install (from source)
This project uses the modern PEP 517 build system (hatchling), so there is no
setup.py by design — that is expected, not a missing file. If you cloned the
source and hit ERROR: File "setup.py" or "setup.cfg" not found ... editable mode currently requires a setuptools-based build, your pip is older than 21.3 and
cannot do an editable (-e) install with a non-setuptools backend. Editable
mode is a developer convenience, not needed to run the tool — do one of:
For a truly air-gapped host, build the wheels on a connected machine and copy them over — the target then needs no network:
CLI Examples
MCP Setup (Claude Code)
After uv tool install vmware-aria, add to ~/.claude.json:
v1.5.15+ uses the single-command form
vmware-aria mcp. The legacyvmware-aria-mcpconsole script is still kept for backward compatibility. If you must useuvx --from vmware-aria vmware-aria mcp(no install) and hitinvalid peer certificate: UnknownIssuerbehind a corporate TLS proxy, setUV_NATIVE_TLS=trueor use the recommendedvmware-aria mcpform 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:
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
Companion Skills
Security
- Passwords loaded from env vars or
.envfile, never fromconfig.yaml - Every MCP tool call and every CLI command that reaches Aria audit-logged to
~/.vmware/audit.db(via vmware-policy); CLI write operations (alert acknowledge/cancel, alert notes, alert definition management, report generate/delete, resource maintenance start/end) also append to~/.vmware-aria/audit.log - API responses sanitized (control chars stripped, 500-char limit) to prevent prompt injection
- MCP destructive writes (alert acknowledge/cancel, alert definition and report delete, maintenance start/end) take
confirm(defaultfalse): withoutconfirm=truethey return ablast_radiusof what would change and change nothing;confirm=trueis refused on a blocker (e.g. a resource already in maintenance) or an unreadable field. The oldconfirmedalias was removed in 2.4.2; a call that passes it is refused as an unknown argument - TLS verification is on by default; for a private CA set
SSL_CERT_FILEto a bundle with your CA (see setup guide).verify_ssl: falseis for isolated self-signed labs only
Official Broadcom References
- REST APIs: https://developer.broadcom.com/xapis — VCF Operations API (formerly Aria Operations suite-api)
- SDKs: https://developer.broadcom.com/sdks — VCF Python SDK
- CLI Tools: https://developer.broadcom.com/tools — PowerCLI 9.1 includes "VCF Operations (formerly vRealize Operations Manager)" cmdlets
Remote access (HTTPS) and limiting tools
By default vmware-aria mcp speaks stdio to one local client and offers every tool. Two options change that
(vmware-policy ≥ 1.21.0).
Serve over HTTPS so clients on other machines can connect. Every caller needs a bearer token:
Connect a client (Claude Code shown; any MCP client that supports streamable HTTP and custom headers works):
- The server will not start without a token, refuses Host/Origin values outside
--public-name, and checks before it binds that unauthenticated requests get 401. Use a certificate your clients trust for those names. - Behind a TLS-terminating reverse proxy on the same machine use
--transport http --host 127.0.0.1 --public-name mcp.example.comand pass theAuthorizationheader through. - Behind a load balancer or gateway on another machine, keep
--transport https(a self-signed certificate is fine), list in--public-namethe host name the balancer sends asHost, and have it forwardAuthorization. Its health probe can useGET /healthz, which needs no token and returns only{"status": "ok"}(vmware-policy ≥ 1.23.0). - Send
traceparentorX-Request-IDwith each request to have it stored on the audit row;vmware-audit log --correlation-id IDthen finds the calls behind one platform request. - The audit log records each caller as
token:<name>. Calls run side by side: each holds its own session to a target, up toVMWARE_MCP_POOL_SIZE(default 2) sessions per target. Each session is a login on the target; a call waits at most 300 s for a free one. - Everyone who can reach the endpoint acts with this server's account. Tokens identify callers; they grant nothing on the platform. Run one endpoint per privilege level.
- Several people or roles on one endpoint: run
vmware-audit roles enableonce, then give each token a role (vmware-audit token create NAME --role reader, or a role inroles.yamlnaming tools and targets; vmware-policy ≥ 1.24.0). A role limits what the token may call on this endpoint; it cannot grant more than the account has. See vmware-policy's README, "Roles for network callers".
Offer only read tools, plus the writes you choose:
Tools not offered do not appear in the client's tool list. A bad value or an unknown write tool stops the server (exit 2). This limits what clients are offered; it is not authorization, so the account itself should be least-privilege.
Details: skills/vmware-aria/references/setup-guide.md ("Serving MCP over HTTPS", "Limiting which tools are offered").
License
MIT — see LICENSE
Source: README.md at commit a920f29
Tools
0Version history
1- v1.8.8LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.