AI-powered VMware vCenter/ESXi monitoring and operations tool.
VMware AIops
English | 中文
AI-powered VMware vCenter/ESXi monitoring and operations tool.
Need read-only monitoring only? See VMware-Monitor — an independent repository with code-level safety (zero destructive code in the codebase).
Quick Install (Recommended)
Works with Claude Code, Cursor, Codex, Gemini CLI, Trae, and 30+ AI agents:
# Via Skills.sh
npx skills add zw008/VMware-AIops
# Via ClawHub
clawhub install vmware-aiops
PyPI Install (No GitHub Access Required)
# Install via uv (recommended)
uv tool install vmware-aiops
# Or via pip
pip install vmware-aiops
# China mainland mirror (faster)
pip install vmware-aiops -i https://pypi.tuna.tsinghua.edu.cn/simple
Claude Code Plugin Install
# Add marketplace
/plugin marketplace add zw008/VMware-AIops
# Install plugin
/plugin install vmware-ops
# Use the skill
/vmware-ops:vmware-aiops
Capabilities Overview
CLI vs MCP: Which Mode to Use
| Scenario | Recommended | Why |
|---|---|---|
| Local/small models (Ollama, Qwen <32B) | CLI | ~2K tokens context vs ~10K for MCP; small models struggle with 31 tool schemas |
| Token-sensitive workflows | CLI | SKILL.md + Bash tool = minimal overhead |
| Cloud models (Claude, GPT-4o) | Either | Both work; MCP gives structured JSON I/O |
| Automated pipelines / Agent chaining | MCP | Type-safe parameters, structured output, no shell parsing |
Rule of thumb: Use CLI for cost efficiency and small models. Use MCP for structured automation with large models.
Architecture
User (Natural Language)
↓
AI CLI Tool (Claude Code / Gemini / Codex / Aider / Continue / Trae / Kimi)
↓ reads SKILL.md / AGENTS.md / rules
↓
vmware-aiops CLI
↓ pyVmomi (vSphere SOAP API)
↓
vCenter Server ──→ ESXi Cluster ──→ VM
or
ESXi Standalone Host ──→ VM
Version Compatibility
| vSphere Version | Support | Notes |
|---|---|---|
| 8.0 / 8.0U1-U3 | ✅ Full | CreateSnapshot_Task deprecated → use CreateSnapshotEx_Task |
| 7.0 / 7.0U1-U3 | ✅ Full | All APIs supported |
| 6.7 | ✅ Compatible | Backward-compatible, tested |
| 6.5 | ✅ Compatible | Backward-compatible, tested |
pyVmomi auto-negotiates the API version during SOAP handshake — no manual configuration needed. The same codebase manages both 7.0 and 8.0 environments seamlessly.
1. Inventory
| Feature | vCenter | ESXi | Details |
|---|---|---|---|
| List VMs | ✅ | ✅ | Name, power state, CPU, memory, guest OS, IP |
| List Hosts | ✅ | ⚠️ Self only | CPU cores, memory, ESXi version, VM count, uptime |
| List Datastores | ✅ | ✅ | Capacity, free/used, type (VMFS/NFS), usage % |
| List Clusters | ✅ | ❌ | Host count, DRS/HA status |
| List Networks | ✅ | ✅ | Network name, associated VM count |
2. Health & Monitoring
| Feature | vCenter | ESXi | Details |
|---|---|---|---|
| Active Alarms | ✅ | ✅ | Severity, alarm name, entity, timestamp |
| Event/Log Query | ✅ | ✅ | Filter by time range (--hours), severity level; 50+ event types |
| Hardware Sensors | ✅ | ✅ | Temperature, voltage, fan status |
| Host Services | ✅ | ✅ | hostd, vpxa, etc. running/stopped |
Monitored Event Types:
| Category | Events |
|---|---|
| VM Failures | VmFailedToPowerOnEvent, VmDiskFailedEvent, VmFailoverFailed |
| Host Issues | HostConnectionLostEvent, HostShutdownEvent, HostIpChangedEvent |
| Storage | DatastoreCapacityIncreasedEvent, NASDatastoreEvent, SCSI high latency |
| HA/DRS | DasHostFailedEvent, DrsVmMigratedEvent, DrsSoftRuleViolationEvent |
| Auth | UserLoginSessionEvent, BadUsernameSessionEvent |
3. VM Lifecycle
| Operation | Command | Confirmation | vCenter | ESXi |
|---|---|---|---|---|
| Power On | vm power-on <name> |
— | ✅ | ✅ |
| Graceful Shutdown | vm power-off <name> |
Double | ✅ | ✅ |
| Force Power Off | vm power-off <name> --force |
Double | ✅ | ✅ |
| Reset | vm reset <name> |
— | ✅ | ✅ |
| Suspend | vm suspend <name> |
— | ✅ | ✅ |
| VM Info | vm info <name> |
— | ✅ | ✅ |
| Create VM | vm create <name> --cpu --memory --disk |
— | ✅ | ✅ |
| Delete VM | vm delete <name> |
Double | ✅ | ✅ |
| Reconfigure | vm reconfigure <name> --cpu --memory |
Double | ✅ | ✅ |
| Create Snapshot | vm snapshot-create <name> --name <snap> |
— | ✅ | ✅ |
| List Snapsho |
Tools (5)
vm-power-onPowers on a specified virtual machine.vm-power-offGracefully shuts down or force powers off a virtual machine.vm-infoRetrieves detailed information about a specific virtual machine.vm-snapshot-createCreates a snapshot for a specified virtual machine.vm-deleteDeletes a specified virtual machine.Environment Variables
VCENTER_HOSTrequiredThe IP address or hostname of the vCenter or ESXi host.VCENTER_USERrequiredUsername for vSphere authentication.VCENTER_PASSWORDrequiredPassword for vSphere authentication.Configuration
{"mcpServers": {"vmware-aiops": {"command": "uvx", "args": ["vmware-aiops"], "env": {"VCENTER_HOST": "your-vcenter-ip", "VCENTER_USER": "your-user", "VCENTER_PASSWORD": "your-password"}}}}