Featured

Deploy OpenClaw in 60 seconds β€” 20% off logoDeploy OpenClaw in 60 seconds β€” 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger β†’
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger β†’
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free β†’
Your own AI agent, running 24/7 with QwikClaw logoYour own AI agent, running 24/7 with QwikClaw

QwikClaw sets up and runs an always-on OpenClaw agent for you. One click, no config files, no server setup.

Deploy now β†’
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data β€” no proxies, no parsers, no maintenance.

Start building free β†’
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it β€” secured from day one.

Get it set up for you β†’
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free β†’
Reach 47,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here β†’

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

zw008/vmware-monitor MCP server](https://glama.ai/mcp/servers/zw008/vmware-monitor/badges/score.svg)](https://glama.ai/mcp/servers/zw008/vmware-monitor) 🐍 ☁️ - Read-only VMware vSphere/vCenter monitoring β€” inventory, alarms, events, host health, VM info,...

README.md

<!-- 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. For official VMware developer tools see developer.broadcom.com.

English | δΈ­ζ–‡

Read-only VMware vCenter/ESXi monitoring β€” 27 tools, code-level safety. No destructive operations exist in this codebase.

Why a separate repository? VMware Monitor is fully independent from VMware-AIops. Safety is enforced at the code level: no power off, delete, create, reconfigure, snapshot-create/revert/delete, clone, or migrate functions exist in this codebase. Not just prompt constraints β€” zero destructive code paths.

![ClawHub](https://clawhub.ai/skills/vmware-monitor) ![Skills.sh](https://skills.sh/vmware-skills/VMware-Monitor) ![Claude Code Marketplace](https://github.com/vmware-skills/VMware-Monitor) ![License: MIT](LICENSE)

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 |

⚑ 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 <details> sections, zero JavaScript).

| Question | Command | What it correlates | |----------|---------|--------------------| | "Is anything on fire?" across all clusters | vmware-monitor summary | Every cluster's hosts + VM power + live CPU/mem + alarms β†’ ranked top-N issues + per-cluster status | | "What needs attention now?" across all vCenters | vmware-monitor attention | Every configured vCenter merged into one globally-ranked issue list; unreachable targets degrade gracefully | | "What's happening around this VM?" | vmware-monitor investigate vm <name> | VM state + host it runs on + cluster + backing datastores + snapshots + alarms + performance + a merged event timeline | | "What's happening around this host?" | vmware-monitor investigate host <name> | Host state + cluster + the VMs it runs + mounted datastores + alarms + performance + correlated timeline | | "What's happening around this datastore?" | vmware-monitor investigate datastore <name> | Capacity/free + mounting hosts + VMs it backs + alarms + correlated timeline |

# Triage the estate, then drill into whatever it flags:
vmware-monitor attention                         # what needs attention now, all vCenters
vmware-monitor summary --top 5                   # is anything on fire, one vCenter
vmware-monitor investigate vm web-01 --hours 72  # everything around a VM, 72h event window
vmware-monitor investigate vm web-01 --html      # β†’ offline snapshot in ~/vmware-health/

Unknown object names return a teaching error naming exactly how to list objects. Via MCP these are the tools cluster_health_summary, cross_vcenter_attention, vm_investigation_bundle, host_investigation_bundle, datastore_investigation_bundle β€” the model calls them and explains the aggregated result in operational language. Full flags: references/cli-reference.md.

Quick Install (Recommended)

Works with Claude Code, Cursor, Codex, Gemini CLI, Trae, and 30+ AI agents:

# Via Skills.sh
npx skills add vmware-skills/VMware-Monitor

# Via ClawHub
clawhub install vmware-monitor

PyPI Install (No GitHub Access Required)

# Install via uv (recommended)
uv tool install vmware-monitor

# Or via pip
pip install vmware-monitor

# China mainland mirror (faster)
pip install vmware-monitor -i https://pypi.tuna.tsinghua.edu.cn/simple

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:

# From the source tree β€” a normal (non-editable) install builds a wheel:
pip install .              # NOT  pip install -e .

# ...or upgrade pip first, and editable works too:
pip install --upgrade pip && pip install -e .

For a truly air-gapped host, build the wheels on a connected machine and copy them over β€” the target then needs no network:

# On a connected machine, collect this package + its dependencies as wheels:
pip wheel . -w dist        # β†’ dist/*.whl   (or: uv build, for just this package)

# Copy dist/ to the air-gapped host, then install offline:
pip install --no-index --find-links dist vmware-monitor

---

Capabilities (Read-Only)

Architecture

User (Natural Language)
  ↓
AI CLI Tool (Claude Code / Gemini / Codex / Aider / Continue / Trae / Kimi)
  ↓ Reads SKILL.md / AGENTS.md / rules
  ↓
vmware-monitor CLI (read-only)
  ↓ pyVmomi (vSphere SOAP API)
  ↓
vCenter Server ──→ ESXi Clusters ──→ VMs
    or
ESXi Standalone ──→ VMs

Version Compatibility

| vSphere / VCF Version | Support | Notes | |----------------|---------|-------| | VCF 9.1 / vSphere 9.1 | βœ… Full | Released 2026-05-12. pyVmomi <10.0 resolves and connects via SOAP. | | VCF 9.0 / vSphere 9.0 | βœ… Full | pyVmomi 8.0.3+ connects against vSphere 9 SOAP API. | | 8.0 / 8.0U1-U3 | βœ… Full | pyVmomi 8.0.3+ | | 7.0 / 7.0U1-U3 | βœ… Full | All read-only APIs supported | | 6.7 | βœ… Compatible | Backward-compatible, tested | | 6.5 | βœ… Compatible | Backward-compatible, tested |

Official Broadcom References

  • SDKs: <https://developer.broadcom.com/sdks> β€” VCF Python SDK (recommended for VCF 9+, bundles pyVmomi + vSAN SDK), vSphere Automation SDK for Python
  • REST APIs: <https://developer.broadcom.com/xapis> β€” vSphere Automation API, VCF API
  • CLI Tools: <https://developer.broadcom.com/tools> β€” PowerCLI 9.1, ESXCLI, OVF Tool

1. Inventory

| Feature | vCenter | ESXi | Details | |---------|:-------:|:----:|---------| | List VMs | βœ… | βœ… | Name, power state, CPU, memory, guest OS, IP, folder_path (vCenter inventory folder, e.g. /Datacenters/Production/Web Tier); MCP list_virtual_machines supports folder_filter for case-insensitive folder-tree search | | 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, accessibility β€” CLI inventory networks, MCP list_all_networks |

2. Health & Monitoring

| Feature | vCenter | ESXi | Details | |---------|:-------:|:----:|---------| | Active Alarms | βœ… | βœ… | Severity, alarm name, entity, timestamp | | Event/Log Query | βœ… | βœ… | Filter by time range, severity; 50+ event types | | Hardware Sensors | βœ… | βœ… | Per-sensor type (temperature/voltage/fan...), reading, unit, and health status (green/yellow/red) β€” CLI health sensors, MCP get_host_sensors | | Host Services | βœ… | βœ… | hostd, vpxa running/stopped status β€” CLI health services, MCP get_host_services |

Monitored Event Types:

| Category | Events | |----------|--------| | VM Failures | VmFailedToPowerOnEvent, VmDiskFailedEvent, VmFailoverFailed | | Host Issues | HostConnectionLostEvent, HostShutdownEvent, HostIpChangedEvent | | Storage | DatastoreCapacityIncreasedEvent, SCSI high latency | | HA/DRS | DasHostFailedEvent, DrsVmMigratedEvent, DrsSoftRuleViolationEvent | | Auth | UserLoginSessionEvent, BadUsernameSessionEvent |

3. VM Info & Snapshot List (Read-Only)

| Feature | Details | |---------|---------| | VM Info | Name, power state, guest OS, CPU, memory, IP, VMware Tools, disks, NICs, folder_path | | Snapshot List | List existing snapshots with name and creation time (no create/revert/delete) β€” CLI vm snapshot-list, MCP tool vm_list_snapshots |

4. Scheduled Scanning & Notifications

| Feature | Details | |---------|---------| | Daemon | APScheduler-based, configurable interval (default 15 min) | | Multi-target Scan | Sequentially scan all configured vCenter/ESXi targets | | Scan Content | Alarms + Events + Host logs (hostd, vmkernel, vpxd) | | Log Analysis | Regex pattern matching: error, fail, critical, panic, timeout | | Structured Log | JSONL output to ~/.vmware-monitor/scan.log | | Webhook | Slack, Discord, or any HTTP endpoint | | Daemon Management | daemon start/stop/status, PID file, graceful shutdown |

5. Safety Features

| Feature | Details | |---------|---------| | Code-Level Isolation | Independent repository β€” zero destructive functions in codebase | | Audit Trail | All queries logged to ~/.vmware-monitor/audit.log (JSONL) | | Password Protection | .env file loading with permission check (warn if not 600) | | SSL Self-signed Support | disableSslCertValidation β€” only for ESXi with self-signed certs in isolated labs; production should use CA-signed certificates | | Prompt Injection Protection | vSphere event messages and host logs are truncated, sanitized, and wrapped in boundary markers | | Webhook Data Scope | Sends monitoring summaries to user-configured URLs only β€” no third-party services by default | | Production Recommended | AI agents can misinterpret context and execute unintended destructive operations β€” real-world incidents have shown AI-driven tools deleting production databases and entire environments. VMware-Monitor eliminates this risk: no destructive code paths exist. Use VMware-AIops only in dev/lab environments |

What's NOT Included (By Design)

These operations do not exist in this repository:

  • ❌ Power on/off, reset, suspend VMs
  • ❌ Create, delete, reconfigure VMs
  • ❌ Create, revert, delete snapshots
  • ❌ Clone or migrate VMs
  • ❌ _double_confirm, _show_state_preview, _validate_vm_params

For these operations, use the full VMware-AIops repository.

---

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

---

Common Workflows

Daily Health Check

  1. Check alarms: vmware-monitor health alarms --target prod-vcenter
  2. Review recent events: vmware-monitor health events --hours 24 --severity warning
  3. List hosts: vmware-monitor inventory hosts β€” check connection state and memory usage

Investigate a Specific Object (drill-down)

One call correlates the object with its surrounding infrastructure and recent history β€” see ⚑ Quick Investigation Reports above.

  1. Start from triage: vmware-monitor attention (all vCenters) or vmware-monitor summary (one)
  2. Drill into what it flags: vmware-monitor investigate vm <name> (or host / datastore)
  3. Widen the event window with --hours 72; share it with --html (offline snapshot)
  4. If the name is unknown β†’ the teaching error names how to list objects (inventory vms/hosts, list_all_datastores)

Set Up Continuous Monitoring

  1. Configure webhook in ~/.vmware-monitor/config.yaml
  2. Start daemon: vmware-monitor daemon start
  3. Daemon scans every 15 min, sends alerts to Slack/Discord

---

Troubleshooting

Alarms returns empty but vCenter shows alarms

The get_alarms tool queries triggered alarms at the root folder level. Some alarms are entity-specific β€” try checking events instead: vmware-monitor health events --hours 1 --severity info.

"Connection refused" error

  1. Run vmware-monitor doctor to diagnose
  2. Verify target hostname/IP and port (443) in config.yaml
  3. For self-signed certs: set disableSslCertValidation: true

Events returns too many results

Use severity filter: --severity warning (default) filters out info-level events. Use --hours 4 to narrow the time range.

VM info shows "guest_os: unknown"

VMware Tools not installed or not running in the guest. Install/start VMware Tools for guest OS detection, IP address, and guest family info.

Doctor passes but commands fail with timeout

vCenter may be under heavy load. Try targeting a specific ESXi host directly instead of vCenter, or increase connection timeout in config.yaml.

---

Supported AI Platforms

| Platform | Status | Config File | AI Model | |----------|--------|-------------|----------| | Claude Code | βœ… Native Skill | skills/vmware-monitor/SKILL.md | Anthropic Claude | | Gemini CLI | βœ… Context file + MCP | skills/vmware-monitor/SKILL.md | Google Gemini | | OpenAI Codex CLI | βœ… Skill + AGENTS.md | skills/vmware-monitor/SKILL.md | OpenAI GPT | | Aider | βœ… Conventions | skills/vmware-monitor/SKILL.md | Any (cloud + local) | | Continue CLI | βœ… Rules | skills/vmware-monitor/SKILL.md | Any (cloud + local) | | Trae IDE | βœ… Rules | skills/vmware-monitor/SKILL.md | Claude/DeepSeek/GPT-4o | | Kimi Code CLI | βœ… Skill | skills/vmware-monitor/SKILL.md | Moonshot Kimi | | MCP Server | βœ… MCP Protocol | vmware_monitor/mcp_server/ | Any MCP client | | Python CLI | βœ… Standalone | N/A | N/A |

Platform Comparison

| Feature | Claude Code | Gemini CLI | Codex CLI | Aider | Continue | Trae IDE | Kimi CLI | |---------|-------------|------------|-----------|-------|----------|----------|----------| | Cloud AI | Anthropic | Google | OpenAI | Any | Any | Multi | Moonshot | | Local models | β€” | β€” | β€” | Ollama | Ollama | β€” | β€” | | Skill system | SKILL.md | Context file | SKILL.md | β€” | Rules | Rules | SKILL.md | | MCP support | Native | Native | Via Skills | Third-party | Native | β€” | β€” | | Free tier | β€” | 60 req/min | β€” | Self-hosted | Self-hosted | β€” | β€” |

MCP Server Integrations

The vmware-monitor MCP server works with any MCP-compatible agent or tool. Ready-to-use configuration templates are in examples/mcp-configs/. All 27 tools are read-only β€” code-level enforced safety.

| Agent / Tool | Local Model Support | Config Template | Integration Guide | |-------------|:-------------------:|-----------------|-------------------| | Xiaoguai (小ζ€ͺ) | βœ… Self-hosted, any LLM | MCP setup | Guide | | Goose | βœ… Ollama, LM Studio | goose.json | Guide | | LocalCowork | βœ… Fully offline | localcowork.json | Guide | | mcp-agent | βœ… Ollama, vLLM | mcp-agent.yaml | Guide | | VS Code Copilot | β€” | vscode-copilot.json | Guide | | Cursor | β€” | cursor.json | β€” | | Continue | βœ… Ollama | continue.yaml | Guide | | Claude Code | β€” | claude-code.json | β€” |

Xiaoguai (小ζ€ͺ) β€” a self-hostable, audit-first agent platform (Rust, single binary + embedded SQLite) from the same maintainer. It runs the read-only vmware-monitor MCP server as one of its toolboxes; being both an MCP consumer and an MCP server, its HMAC-chained audit log pairs naturally with this skill's code-level read-only guarantee β€” every query is logged, nothing mutates. See its MCP integration guide.

Fully local operation (no cloud API required):

# Aider + Ollama + vmware-monitor (via SKILL.md)
aider --conventions skills/vmware-monitor/SKILL.md --model ollama/qwen2.5-coder:32b

# Any MCP agent + local model + vmware-monitor MCP server
# See examples/mcp-configs/ for your agent's config format

---

Installation

Step 0: Prerequisites

# Python 3.10+ required
python3 --version

# Node.js 18+ required for Gemini CLI and Codex CLI
node --version

Step 1: Clone & Install Python Backend

git clone https://github.com/vmware-skills/VMware-Monitor.git
cd VMware-Monitor
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Step 2: Configure

mkdir -p ~/.vmware-monitor
cp config.example.yaml ~/.vmware-monitor/config.yaml
# Edit config.yaml with your vCenter/ESXi targets

Set passwords via .env file (recommended): ```bash cp .env.example ~/.vmware-monitor/.env chmod 600 ~/.vmware-monitor/.env

Edit and fill in your passwords


> **Security note**: Prefer `.env` file over command-line `export` to avoid passwords appearing in shell history. `config.yaml` stores only hostnames, ports, and a reference to the `.env` file β€” it does **not** contain passwords or tokens. All secrets are stored exclusively in `.env` (`chmod 600`). Webhook notifications are disabled by default; when enabled, payloads contain no credentials, IPs, or PII β€” only aggregated alert metadata sent to user-configured URLs only. We recommend using a least-privilege read-only vCenter service account.

Password environment variable naming convention:

VMWARE_{TARGET_NAME_UPPER}_PASSWORD

Replace hyphens with underscores, UPPERCASE

Example: target "home-esxi" β†’ VMWARE_HOME_ESXI_PASSWORD

Example: target "prod-vcenter" β†’ VMWARE_PROD_VCENTER_PASSWORD


### Step 3: Connect Your AI Tool

Choose one (or more) of the following:

---

#### Option A: Claude Code

**Method 1: Skills.sh or ClawHub (recommended)**

Either installer places the skill in Claude Code's skills directory for you:

npx skills add vmware-skills/VMware-Monitor

or

clawhub install vmware-monitor ```

Method 2: Manual skill install

git clone https://github.com/vmware-skills/VMware-Monitor.git
cd VMware-Monitor

# Copy the skill into Claude Code's personal skills directory
mkdir -p ~/.claude/skills/vmware-monitor
cp -r skills/vmware-monitor/. ~/.claude/skills/vmware-monitor/

For tool access (not just skill context), also register the MCP server:

claude mcp add vmware-monitor -- vmware-monitor mcp

Restart Claude Code, then: `` > Show me all VMs on esxi-lab.example.com ``

---

Option B: Gemini CLI

# Install Gemini CLI
npm install -g @google/gemini-cli

# Load the skill as project context (Gemini CLI reads GEMINI.md on startup)
cp skills/vmware-monitor/SKILL.md ./GEMINI.md

For tool access (not just context), register the MCP server in ~/.gemini/settings.json:

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

Then start Gemini CLI: `` gemini > Show me all VMs on my ESXi host ``

---

Option C: OpenAI Codex CLI

# Install Codex CLI
npm i -g @openai/codex
# Or on macOS:
# brew install --cask codex

# Copy skill to Codex skills directory
mkdir -p ~/.codex/skills/vmware-monitor
cp skills/vmware-monitor/SKILL.md ~/.codex/skills/vmware-monitor/SKILL.md

# Copy AGENTS.md to project root
cp skills/vmware-monitor/SKILL.md ./AGENTS.md

Then start Codex CLI: ``bash codex --enable skills > List all VMs on my ESXi ``

---

Option D: Aider (supports local models)

# Install Aider
pip install aider-chat

# Install Ollama for local models (optional)
# macOS:
brew install ollama
ollama pull qwen2.5-coder:32b

# Run with cloud API
aider --conventions skills/vmware-monitor/SKILL.md

# Or with local model via Ollama
aider --conventions skills/vmware-monitor/SKILL.md \
  --model ollama/qwen2.5-coder:32b

---

Option E: Continue CLI (supports local models)

# Install Continue CLI
npm i -g @continuedev/cli

# Copy rules file
mkdir -p .continue/rules
cp skills/vmware-monitor/SKILL.md .continue/rules/vmware-monitor.md

Configure ~/.continue/config.yaml for local model: ```yaml models:

  • name: local-coder

provider: ollama model: qwen2.5-coder:32b ```

Then: ``bash cn > Check ESXi health and alarms ``

---

Option F: Trae IDE

Copy the rules file to your project's .trae/rules/ directory:

mkdir -p .trae/rules
cp skills/vmware-monitor/SKILL.md .trae/rules/project_rules.md

Trae IDE's Builder Mode reads .trae/rules/ Markdown files at startup.

Note: You can also install Claude Code extension in Trae IDE and use .claude/skills/ format directly.

---

Option G: Kimi Code CLI

# Copy skill file to Kimi skills directory
mkdir -p ~/.kimi/skills/vmware-monitor
cp skills/vmware-monitor/SKILL.md ~/.kimi/skills/vmware-monitor/SKILL.md

---

Option H: MCP Server (Glama / Claude Desktop)

The MCP server exposes VMware read-only monitoring as tools via the Model Context Protocol. Works with any MCP-compatible client (Claude Desktop, Cursor, etc.).

After uv tool install vmware-monitor, start the MCP server with one command (v1.5.15+):

# Recommended β€” single command, no network re-resolve
vmware-monitor mcp

# With a custom config path
VMWARE_MONITOR_CONFIG=/path/to/config.yaml vmware-monitor mcp

Claude Desktop config (claude_desktop_config.json): ``json { "mcpServers": { "vmware-monitor": { "command": "vmware-monitor", "args": ["mcp"], "env": { "VMWARE_MONITOR_CONFIG": "/path/to/config.yaml" } } } } ``

<details> <summary>Alternative: uvx (no install) or legacy entry point</summary>

# Run without installing (requires PyPI access each launch)
uvx --from vmware-monitor vmware-monitor mcp

# Legacy entry point (still works, kept for backward compatibility)
vmware-monitor-mcp

Behind a corporate TLS proxy? uvx may fail with invalid peer certificate: UnknownIssuer. Use the recommended vmware-monitor mcp form above (no network needed), or set UV_NATIVE_TLS=true.

</details>

---

Option I: Standalone CLI (no AI)

# Already installed in Step 1
source .venv/bin/activate

vmware-monitor inventory vms --target home-esxi
vmware-monitor health alarms --target home-esxi
vmware-monitor vm info my-vm --target home-esxi

---

Update / Upgrade

Already installed? Re-run the install command for your channel to get the latest version:

| Install Channel | Update Command | |----------------|----------------| | ClawHub | clawhub install vmware-monitor | | Skills.sh | npx skills add vmware-skills/VMware-Monitor | | Git clone | cd VMware-Monitor && git pull origin main && uv pip install -e . | | uv | uv tool install vmware-monitor --force |

Check your current version: vmware-monitor --version

---

Chinese Cloud Models

For users in China who prefer domestic cloud APIs or have limited access to overseas services.

DeepSeek

export DEEPSEEK_API_KEY="your-key"
aider --conventions skills/vmware-monitor/SKILL.md \
  --model deepseek/deepseek-coder

Qwen (Alibaba Cloud)

export DASHSCOPE_API_KEY="your-key"
aider --conventions skills/vmware-monitor/SKILL.md \
  --model qwen/qwen-coder-plus

Local Models (Aider + Ollama)

For fully offline operation β€” no cloud API, no internet, full privacy.

brew install ollama
ollama pull qwen2.5-coder:32b
ollama serve

aider --conventions skills/vmware-monitor/SKILL.md \
  --model ollama/qwen2.5-coder:32b

---

CLI Reference

# Diagnostics
vmware-monitor doctor                   # Check environment, config, connectivity
vmware-monitor doctor --skip-auth       # Skip vSphere auth check (faster)

# MCP Config Generator
vmware-monitor mcp-config generate --agent goose        # Generate config for Goose
vmware-monitor mcp-config generate --agent claude-code  # Generate config for Claude Code
vmware-monitor mcp-config list                          # List all supported agents

# Inventory
vmware-monitor inventory vms [--target <name>]
vmware-monitor inventory vms --limit 10 --sort-by memory_mb   # Top 10 VMs by memory
vmware-monitor inventory vms --power-state poweredOn           # Only powered-on VMs
vmware-monitor inventory vms --sort-by folder_path             # Group VMs by inventory folder
# All `inventory vms` results include a `folder_path` field (e.g. `/Datacenters/Production/Web Tier`).
# MCP tool `list_virtual_machines` additionally supports `folder_filter="Production"` for case-insensitive folder-tree search.
vmware-monitor inventory hosts [--target <name>]
vmware-monitor inventory datastores [--target <name>]
vmware-monitor inventory clusters [--target <name>]

# Health
vmware-monitor health alarms [--target <name>]
vmware-monitor health events [--hours 24] [--severity warning]

# VM Info (read-only)
vmware-monitor vm info <vm-name>
vmware-monitor vm snapshot-list <vm-name>

# Scanning & Daemon
vmware-monitor scan now [--target <name>]
vmware-monitor daemon start
vmware-monitor daemon stop
vmware-monitor daemon status

---

Configuration

See config.example.yaml for all options.

| Section | Key | Default | Description | |---------|-----|---------|-------------| | targets | name | β€” | Friendly name | | targets | host | β€” | vCenter/ESXi hostname or IP | | targets | type | vcenter | vcenter or esxi | | targets | port | 443 | Connection port | | targets | verify_ssl | false | SSL certificate verification | | scanner | interval_minutes | 15 | Scan frequency | | scanner | severity_threshold | warning | Min severity: critical/warning/info | | scanner | lookback_hours | 1 | How far back to scan | | notify | log_file | ~/.vmware-monitor/scan.log | JSONL log output | | notify | webhook_url | β€” | Webhook endpoint (Slack, Discord, etc.) |

---

Project Structure

VMware-Monitor/
β”œβ”€β”€ skills/                        # Skills index (npx skills add)
β”‚   └── vmware-monitor/
β”‚       β”œβ”€β”€ SKILL.md
β”‚       └── references/            # Detailed docs loaded on-demand
β”œβ”€β”€ vmware_monitor/                # Python backend (read-only only)
β”‚   β”œβ”€β”€ config.py                  # YAML + .env config
β”‚   β”œβ”€β”€ connection.py              # Multi-target pyVmomi
β”‚   β”œβ”€β”€ cli.py                     # Typer CLI (read-only commands only)
β”‚   β”œβ”€β”€ ops/
β”‚   β”‚   β”œβ”€β”€ inventory.py           # VMs, hosts, datastores, clusters
β”‚   β”‚   β”œβ”€β”€ health.py              # Alarms, events, sensors
β”‚   β”‚   └── vm_info.py             # VM info, snapshot list (read-only)
β”‚   β”œβ”€β”€ scanner/                   # Log scanning daemon
β”‚   β”œβ”€β”€ notify/                    # Notifications (JSONL + webhook)
β”‚   └── mcp_server/                # MCP server (read-only tools only)
β”œβ”€β”€ examples/mcp-configs/          # MCP client config templates
β”œβ”€β”€ tests/                         # Test suite
β”œβ”€β”€ smithery.yaml                  # Smithery marketplace config
β”œβ”€β”€ RELEASE_NOTES.md
β”œβ”€β”€ config.example.yaml
└── pyproject.toml

Related Projects

| Skill | Scope | Tools | Install | |-------|-------|:-----:|---------| | vmware-monitor | Read-only monitoring, alarms, events | 27 | uv tool install vmware-monitor | | vmware-aiops | 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 |

---

Troubleshooting & Contributing

If you encounter any errors or issues, please send the error message, logs, or screenshots to zhouwei008@gmail.com. Contributions are welcome!

License

MIT

See related servers & alternatives β†’

Related MCP servers

Browse all β†’

Related guides

Hand-picked reading to help you choose and use Developer Tools servers.