< mcp-name: io.github.vmware-skills/vmware-monitor VMware Monitor 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.
VMware Monitor
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **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.
English | 中文
**Read-only** VMware vCenter/ESXi monitoring — 33 tools. No destructive operations exist in this codebase, and a test enforces that.
> **Why a separate repository?** VMware Monitor is fully independent from VMware-AIops. No power off, delete, create, reconfigure, snapshot-create/revert/delete, clone, or migrate functions exist in this codebase — not a prompt constraint, an absence.
>
> **How that is enforced, precisely.** tests/eval/regression/test_read_only_enforcement.py parses every source file with ast and requires each vSphere method the package calls to appear on a reviewed allowlist, cross-checked against pyVmomi's own type metadata: anything returning a vim.Task, or gated by vCenter on a non-read privilege, fails unless a human wrote down why. Today that allowlist is fourteen methods. The check is a gate on the code as written — it cannot see a method name assembled at runtime, and nothing runs it automatically, so it holds only as far as someone runs the test suite. For a guarantee that does not depend on this repository at all, point the skill at a dedicated account holding vCenter's built-in **Read-Only** role (which reads need more than that role).
>
> **What "read-only" does not cover.** It is a claim about vCenter/ESXi: no code path changes their state. On vCenter the skill opens only its own login session and short-lived query handles it releases. It does write locally: ~/.vmware-monitor/config.yaml and .env (via init; plaintext passwords in .env are rewritten as b64: on load), audit logs (~/.vmware/audit.db for MCP calls, ~/.vmware-monitor/audit.log for CLI commands), --html snapshots in ~/vmware-health/, and — only after daemon start — daemon.pid, scan.log, and posts to a webhook you configured. Full table: setup guide.
Companion Skills
| Skill | Scope | Tools | Install |
|-------|-------|:-----:|---------|
| **vmware-aiops** ⭐ entry point | VM lifecycle, deployment, guest ops, clusters | 49 | uv tool install vmware-aiops |
| **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-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-aria** | Aria Ops metrics, alerts, capacity planning | 28 | uv tool install vmware-aria |
| **vmware-avi** | AVI (NSX ALB) load balancing, AKO on Kubernetes | 28 | uv tool install vmware-avi |
| **vmware-harden** | Compliance baselines, drift detection (read-only) | 6 | uv tool install vmware-harden |
| **vmware-log-insight** | Centralized syslog search, aggregation, alerts | 7 | uv tool install vmware-log-insight |
| **vmware-debug** | Incident timeline correlation, root cause | 2 | uv tool install vmware-debug |
| **vmware-pilot** | Multi-step workflow orchestration, approval gates | 13 | uv tool install vmware-pilot |
Upgrading to 2.0
2.0 renames 23 of its MCP tools so every name starts with a verb (e.g. active_sessions → list_active_sessions, active_tasks → list_active_tasks, certificate_status → get_certificate_status). 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.
⚡ Quick Investigation Reports
Five opinionated, read-only reports that answer an operator's real questions — each **aggregates and correlates server-side** and hands back a high-signal result (never raw inventory). Every report also renders a **self-contained offline HTML snapshot** with --html (no external assets, nothing leaves the machine; drill-down detail collapses in native sections, zero JavaScript).