VMware Monitor
Read-only VMware vCenter/ESXi monitoring with 27 MCP tools.
Connector by zw008 · GitHub account verified by the MCP Registry
Chalk Labs
Need help deploying VMware Monitor?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/zw008-vmware-monitor
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: monitoring-observability, incident-response
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 33 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 33
Read from the source code; the running server may list different tools.
Read 33 · Look things up without changing anything.
find_aging_snapshotsget_access_infoget_alarmsget_certificate_statusget_cluster_health_summaryget_cluster_last_apply_resultget_cluster_patch_complianceget_cross_vcenter_attentionget_datastore_capacityget_eventsget_host_memory_tieringget_host_performance
Show 21 more tools
get_host_sensorsget_host_servicesget_license_statusget_ntp_statusget_resource_pool_usageget_vcenter_deployment_sizeget_vm_backup_snapshot_historyget_vm_infoget_vm_performanceinvestigate_datastoreinvestigate_hostinvestigate_vmlist_active_sessionslist_active_taskslist_all_clusterslist_all_datastoreslist_all_networkslist_esxi_hostslist_virtual_machineslist_vm_snapshotsscan_host_logs
Network hosts it talks to 2
anthropic.com· found in codegithub.com· found in code
Files it touches
- Your home directory (~)
~/.vmware-monitor/audit.log~/.vmware-monitor/config.yamlC:\\Users\\Administrator
Tools (33)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
find_aging_snapshotsread-only[READ] Sweep ALL VMs for snapshots and flag old / sprawling ones. Use this for fleet-wide snapshot sprawl; prefer list_vm_snapshots when you only care about one VM. Returns {total_snapshots, old_snapshots, vms_with_snapshots, threshold_days, snapshots[], hint} — a rollup, not the list envelope. Each row has age_days, is_old and an est_size_mb lower bound (snapshotData+snapshotMemory; delta-disk growth is not separable per-snapshot via the API). Read-only — deleting snapshots belongs to vmware-aiops. Args: age_threshold_days: Age above which a snapshot is flagged old (default 30). onl…
get_access_inforead-only[READ] The account this server uses on a target, and whether it holds a tool's privileges. When to use: a tool failed with NoPermission, returned fewer objects than expected, or you want to know up front what the configured account may read. Ask about one ``tool``, or omit it to sort every tool of this server into granted / not granted / undetermined. What it returns: {target, account, checked_on, privileges {id: state}, and either ``tool`` {name, requires, verdict, meaning, missing_at_root} or the tools_* lists}, plus the account's direct permissions (role, on, propagate). Gotchas: privile…
get_alarmsread-only[READ] Get active/triggered alarms across the VMware inventory. Returns the list envelope with a real ``total``. Each alarm carries suggested_actions naming the companion skill and tool for remediation, who acknowledged it and when (``acknowledged_by`` / ``acknowledged_at``), and ``condition_now``: ``holds`` (live), ``cleared`` (vCenter still shows it but its state condition is false now — a stale alarm; see ``condition_note``), or ``unknown`` (event/metric-based or unreadable — never guessed). The envelope's ``stale_alarms`` counts the cleared ones. An expired-vCenter-license alarm is re-che…
get_certificate_statusread-only[READ] Per-host ESXi management certificate expiry. An expired ESXi cert drops host management — this surfaces it before the outage. Returns the list envelope with a real ``total``; each row has host, not_after, days_until_expiry and an ``expiring`` flag, soonest first. Host certificates only — the vCenter appliance's own certificate is not covered. Use this alongside get_license_status and get_ntp_status for a platform-hygiene sweep. Renewing a certificate is a write this skill cannot do; use vmware-aiops or vCenter directly. Args: warn_days: Flag certs expiring within this many days (…
get_cluster_health_summaryread-only[READ] One-glance health rollup for every cluster — "is anything on fire?". Start here for single-vCenter triage. Batches hosts, VM power state, live CPU/memory pressure and alarms per cluster, scores each "ok"/"warn"/ "critical", and ranks the anomalies into ``top_issues``. Use this instead of stitching list_all_clusters + list_esxi_hosts + get_alarms yourself. Returns {totals, top_issues, issues_total, clusters, snapshot, customization_hint} — not the list envelope. Lead with ``top_issues`` (worst first), show ``clusters`` as context, always echo ``customization_hint`` last. Point-in-time …
get_cluster_last_apply_resultread-only[READ] Result of the last vLCM remediation (apply) on one cluster (REST). When to use: after a patch/remediation, to confirm the last apply succeeded and when it finished. Use get_cluster_patch_compliance for current drift; use this for the outcome of the most recent apply. What it returns: {available, cluster, status, end_time, note, fields}, read defensively. A cluster never remediated may return a "not found" teaching error; a 503 yields ``available: False`` (mid-patch, retry). Gotchas: ``cluster`` is the cluster MoID (e.g. domain-c123) — see list_all_clusters. Read-only. Endpoint and fi…
get_cluster_patch_complianceread-only[READ] vLCM software (patch) compliance for one cluster (vSphere Automation REST). When to use: to check whether a cluster's hosts match their assigned software image/baseline before or after a patch cycle. Complements get_host_memory_tiering (that is per-host hardware; this is per-cluster lifecycle state). What it returns: {available, cluster, status, hosts_total, non_compliant_hosts, scan_time, note, fields}. ``available: False`` means vCenter answered 503 — it is likely mid-patch (vSphere has no maintenance-ETA endpoint; retry shortly), not an error. Endpoint and field parse verified agai…
get_cross_vcenter_attentionread-only[READ] "What needs attention now?" across EVERY configured vCenter — one list. Start here when the estate has more than one vCenter. Rolls every configured target's cluster-health summary into one globally ranked ``top_issues`` list (worst first, each tagged with its ``vcenter``) plus a per-target rollup. Use this instead of calling get_cluster_health_summary once per target and merging yourself. Returns a rollup, not the list envelope; lead with ``top_issues``. Degrades gracefully: an unreachable target is listed under ``unreachable`` with a reason and the rest still aggregate, but it is ne…
get_datastore_capacityread-only[READ] Per-datastore capacity with thin-provisioning over-commit. Returns the list envelope with a real ``total``: capacity_gb, free_gb, committed_gb, provisioned_gb, used_pct, overcommit_pct, riskiest first. Adds the risk signal list_all_datastores lacks — overcommit_pct over 100% means more space is promised to VMs than physically exists, so a thin datastore can fill up while still showing free space. Point-in-time. Whose figure: ``view`` (vCenter / ESXi host / unknown) and ``view_note``. Provisioned space is summed by the endpoint over the VMs it has registered on the datastore, so a vCen…
get_eventsread-only[READ] Get recent vCenter/ESXi events filtered by severity. Returns the list envelope, newest first. Up to 5000 events in the window are read; when more matched, ``read_truncated`` is true and ``read_note`` says how far back the read got — the oldest events were not examined, so narrow ``hours`` before concluding nothing happened earlier in the window. Severity is this skill's own ranking where it has one, and otherwise vCenter's published event catalogue. An event neither can rank comes back with severity "unknown" (it is returned, not filtered out) and is counted in the envelope's ``unclas…
get_host_memory_tieringread-only[READ] Per-host memory tiering (vSphere 9.1) and NVMe uplift ratio. When to use: to see which ESXi hosts back RAM with NVMe (memory tiering, 8.0U3+), how large each tier is, and how much of a host's apparent memory rides on NVMe rather than DRAM. This is the only source of measured tier byte sizes. Returns the list envelope {items, returned, limit, total, truncated, hint}. Each row: host, tiering_type (noTiering|hardwareTiering|softwareTiering), tiering_active, dram_gb, nvme_gb, total_tiered_gb, uplift_ratio (total/DRAM, None if DRAM unknown), and a per-tier breakdown. A host with tiering of…
get_host_performanceread-only[READ] Real-time CPU/memory/disk/network utilisation per ESXi host. Returns the list envelope with a real ``total`` (hosts that reported metrics). Unlike list_esxi_hosts (static config: cores, total GB) this is LIVE 20-second PerfManager data: cpu_usage_pct, mem_usage_pct, mem_consumed_mb, disk_kbps, net_kbps, busiest first. Disconnected hosts and hosts without a real-time provider are skipped, not reported as zero. Point-in-time only — no historical trend. Use this to find which host is hot, then investigate_host to drill into it, or get_vm_performance to see which VMs on it are driving the…
get_host_sensorsread-only[READ] Get hardware sensor status (temperature, voltage, fan, ...) for all hosts. Returns the list envelope with a real ``total``; each row has host, sensor_name, type, reading, unit and status (green/yellow/red). No rows for a host is not "hardware is fine": every connected host that reports no sensors is listed in ``hosts_without_sensors`` with ``cim_server_running`` / ``cim_server_policy`` (the CIM Server, sfcbd-watchdog, supplies the sensors; null = not read), and ``sensors_note`` says what that means — quote it. Use this for physical hardware only — for CPU/memory load use get_host_perf…
get_host_servicesread-only[READ] Get host service status (running state and startup policy). Returns the list envelope; each row has host, service key, label, running (bool) and policy (on/off/automatic). Every matching host is enumerated, so ``truncated`` is always False. Use this to check whether SSH, NTP or the firewall service is in the expected state. For NTP specifically prefer get_ntp_status, which also reports the configured servers. Starting or stopping a service is a write — this skill cannot do it; use vmware-aiops. Args: host_name: Filter to a single host by exact name (None = all hosts). target:…
get_license_statusread-only[READ] vCenter/ESXi license inventory with usage and expiry. Returns the list envelope, one row per license: name, edition_key, total/used units, unlimited flag (row total == 0) and expiration. Every license is enumerated, so ``truncated`` is always False — this is the complete inventory. Use this to catch over-allocation or an approaching expiry, alongside get_certificate_status and get_ntp_status for a platform-hygiene sweep. ``assignments`` says which license each asset (vCenter, hosts, clusters) is assigned, with ``expired`` per asset — use it to tell whether an "expired license" alarm s…
Show 18 more tools
get_ntp_statusread-only[READ] Per-host NTP configuration health (servers + ntpd service state). Returns the list envelope; every matching host is enumerated, so ``truncated`` is always False. Each row has host, reachable, ntp_servers, ntpd_running, ntpd_policy and a ``healthy`` flag (servers configured AND ntpd running). The SOAP API does not expose live clock offset or stratum — this is configuration health only; for actual offset use esxcli on the host. healthy/ntp_servers/ntpd_running are null — not false/empty — for a host vCenter could not reach or could not read. Null means nothing was observed; false means …
get_resource_pool_usageread-only[READ] Per-resource-pool CPU/memory reservation, limit, and current usage. Returns the list envelope with a real ``total``; each row has name, cpu_reservation_mhz, cpu_limit_mhz, cpu_usage_mhz, mem_reservation_mb, mem_limit_mb, mem_usage_mb, sorted by memory usage descending. A limit of -1 means unlimited. Pool names are not cluster-qualified, so identical names in different clusters may look alike. Use this when a VM is throttled but its host is not busy — the cap is usually the pool. Then get_vm_performance to see which VMs in it are demanding, or get_cluster_health_summary for the cluster…
get_vcenter_deployment_sizeread-only[READ] vCenter appliance deployment size (NEW in vSphere 9.1, REST). When to use: to read the vCenter appliance's current (and, where reported, target) deployment size class — capacity-planning context that inventory/perf tools do not cover. What it returns: {available, note, fields} where ``fields`` is a defensive passthrough of the endpoint's top-level scalar values. ``available: False`` means vCenter answered 503 (busy/restarting) or is older than 9.1 — ``reason`` says which; nothing crashed, and neither is a failure. Gotchas: 9.1-only endpoint — an older vCenter returns ``available: Fal…
get_vm_backup_snapshot_historyread-only[READ] How long backups held a snapshot open on one VM, from task history. Image-level backup products (Veeam, Commvault, Rubrik, NetBackup) snapshot the VM, copy the frozen disks, then delete the snapshot. vCenter records both ends, so the backup window is recoverable without credentials for the backup server. This is a LOWER BOUND on the job, not its duration: work the product does before the snapshot is taken and after it is removed is invisible to vCenter. The returned ``basis`` says so — quote it alongside any figure. Returns a rollup, not the list envelope: counts, four hour statistic…
get_vm_inforead-only[READ] Get detailed information about one VM (CPU, memory, disks, NICs, snapshots). Returns a single detail dict, not the list envelope. Static configuration only — for live CPU/memory use get_vm_performance, and for the same VM correlated with its host, alarms and events use investigate_vm. Use this when you already know the exact name; get it from list_virtual_machines first, since an unknown name returns a teaching error rather than a match. Reconfiguring the VM belongs to vmware-aiops. Args: vm_name: Exact name of the virtual machine. target: vCenter/ESXi target from config (def…
get_vm_performanceread-only[READ] Real-time CPU/memory/disk/network utilisation per virtual machine. Returns the list envelope with a real ``total`` (VMs that reported metrics) — with the default limit of 25, ``truncated`` tells you whether more VMs sit behind it. LIVE data (cpu_usage_pct, mem_usage_pct, mem_consumed_mb, mem_ballooned_mb, mem_swapped_mb, disk_read_kbps, disk_write_kbps, net_kbps), busiest first. mem_usage_pct is mem.usage.average — ACTIVE guest memory over configured, not consumed, so it can read low on a VM under pressure; non-zero mem_ballooned_mb (mem.vmmemctl.average) or mem_swapped_mb (mem.swapped…
investigate_datastoreread-only[READ] "What is happening around this datastore?" — one correlated drill-down. Use this instead of stitching list_all_datastores + get_datastore_capacity + get_alarms + get_events yourself. Returns one correlated bundle (not the list envelope): capacity / free space / accessibility, the hosts that mount it, a rollup of the VMs it backs, alarms across datastore/host, and a merged event timeline. All reads are batched. Explain it in operational language; do not dump it raw. Per-datastore latency is not included. Reach for it after get_cluster_health_summary flags storage pressure. Point-in-tim…
investigate_hostread-only[READ] "What is happening around this ESXi host?" — one correlated drill-down. Use this instead of stitching list_esxi_hosts + get_host_performance + get_alarms + get_events yourself. Returns one correlated bundle (not the list envelope): the host's state (connection, CPU/memory pressure, version, uptime), its cluster, a rollup of the VMs it runs, the datastores it mounts, alarms across host/cluster/datastore, live performance, and a merged event timeline. All reads are batched. Explain it in operational language; do not dump it raw. Reach for it after get_cluster_health_summary flags a host…
investigate_vmread-only[READ] "What is happening around this VM?" — one correlated drill-down. Use this instead of stitching get_vm_info + list_vm_snapshots + get_alarms + get_vm_performance + get_events yourself. Returns one correlated bundle (not the list envelope): the VM's state, its host, cluster and backing datastores, its snapshots and triggered alarms, live performance, and a merged event timeline across VM/host/cluster/datastore (newest first). All reads are batched. Explain it in operational language; do not dump it raw. Reach for it after get_cluster_health_summary names a problem VM, or when asked "wha…
list_active_sessionsread-only[READ] Currently authenticated vCenter/ESXi sessions (who is logged in). Returns the list envelope with a real ``total``; each row has user_name, full_name, login_time, last_active, ip_address, user_agent (which client — e.g. Aria's adapter shows ``VMware vim-java``), call_count, kind (user/service) and a ``current`` flag for this skill's own session. vCenter's own solution users (``vpxd-extension-<machine id>`` and similar) are folded by default and counted in ``service_sessions``. Requires the Sessions privilege; low-privilege accounts get a single explanatory row instead of a traceback. U…
list_active_tasksread-only[READ] In-flight (and optionally just-completed) vCenter tasks. Answers "why is the cluster busy?". Returns the list envelope {items, returned, limit, total, truncated, hint} with a real ``total``; each row has name, entity, state, progress_pct, start_time, user, an active flag and error (for failed recent tasks), running/queued first, then newest first — so ``limit`` drops the oldest. vCenter keeps only a short recent-task window, so an old task may simply be gone rather than absent. Use this before blaming load: a migration or clone in flight explains pressure that get_host_performance sho…
list_all_clustersread-only[READ] List clusters with host count, DRS/HA status, and resource totals. Returns the list envelope with a real ``total``. Each row's ``moid`` (e.g. domain-c123) is the cluster id the vLCM patch tools take. Static topology only — use this to resolve a cluster name, then get_cluster_health_summary, which supersedes stitching this with list_esxi_hosts and get_alarms yourself. Args: target: vCenter/ESXi target from config (default if omitted). limit: Max clusters to return (None = all).
list_all_datastoresread-only[READ] List datastores with capacity, free space, type, and VM count. Returns the list envelope with a real ``total``. Raw free/used only — use this to resolve a datastore name, then get_datastore_capacity for thin-provisioning over-commit risk or investigate_datastore to drill into one datastore. Args: target: vCenter/ESXi target from config (default if omitted). limit: Max datastores to return (None = all).
list_all_networksread-only[READ] List networks with name, attached VM count, and accessibility. Returns the list envelope with a real ``total``. Name, vm_count and accessible only — no VLAN, uplink or NSX overlay detail. Use this to resolve a port-group name, then get_vm_info for the NICs of one VM. NSX segments live in vmware-nsx. Args: target: vCenter/ESXi target from config (default if omitted). limit: Max networks to return (None = all).
list_esxi_hostsread-only[READ] List ESXi hosts with CPU cores, memory, version, VM count, and uptime. Returns the list envelope; ``total`` is the real host count. Static config only (cores, total GB) — use this to resolve a host name, then get_host_performance for live load or investigate_host to drill into one host. Args: target: vCenter/ESXi target from config (default if omitted). limit: Max hosts to return (None = all).
list_virtual_machinesread-only[READ] List virtual machines, with filtering, sorting, and field selection. Returns the family list envelope {items, returned, limit, total, truncated, hint}; ``total`` is the real post-filter count, so read ``truncated`` before summarising. Over 50 VMs with no limit/fields, only the first five fields below come back (``mode`` says which). ``vms`` is a deprecated pre-1.8.0 alias of ``items``, removed in 2.0 — read ``items``. Use this to resolve an exact VM name, then get_vm_info for detail or investigate_vm to drill into one; for a fleet-wide view start at get_cluster_health_summary instead.…
list_vm_snapshotsread-only[READ] List all snapshots of one VM, including the nesting hierarchy. Returns the list envelope, one row per snapshot with name, description, created timestamp, state and level (0 = root; children are level+1). Empty ``items`` with ``truncated`` False means the VM genuinely has no snapshots. Read-only — creating, reverting and deleting snapshots live in vmware-aiops. Use this for one known VM; prefer find_aging_snapshots to sweep the whole inventory for old or sprawling snapshots. Get the name from list_virtual_machines first — an unknown name returns a teaching error. Args: vm_name: Ex…
scan_host_logsread-only[READ] Scan recent ESXi host syslog lines for error/warning patterns. Reads the last ``lines`` entries of the hostd/vmkernel/vpxa logs via the diagnostic system and returns only the lines matching known trouble patterns (error, fail, critical, panic, lost access, timeout, …). Severity follows the level ESXi wrote on the line (Cr/Er/Wa/In…, raw token in ``log_level``); a critical keyword still wins. By default findings are grouped by pattern — each item has count, hosts, first_seen/last_seen (log time), severity, source (``host_log:<key>``), pattern and one sample; ``lines_matched`` is the ung…
Compare and alternatives
Featured in
Signals
- Stars
- 15
- Forks
- 4
- Open issues
- 0
- Weekly downloads
- 823
- Last commit
- Oct 23, 2026 (8 days ago)
- Last release
- Oct 19, 2026 (12 days ago)
- Last package publish
- Oct 19, 2026 (12 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.zw008/vmware-monitor- Version
- 1.8.8
- Auth
- No auth
- Packages
- pypi vmware-monitor
- License
- MIT
- Repository
- github.com/zw008/VMware-Monitor
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from zw008
- 0.681score
VMware AIops
zw008
AI-powered VMware vCenter/ESXi VM lifecycle and deployment with 31 MCP tools.
ConnectorAFreshness: ALocal★ 79↓ 731/wkClaude Code +5 - 0.653score
VMware VKS
zw008
vSphere with Tanzu (VKS): Namespace and TanzuKubernetesCluster lifecycle.
ConnectorAFreshness: ALocal★ 5↓ 519/wkClaude Code +5 - 0.652score
VMware Harden
zw008
VMware compliance scanning (CIS, vSphere SCG, GB/T 22239, PCI-DSS) with drift detection.
ConnectorAFreshness: ALocalRead-only★ 4↓ 614/wkClaude Code +5 - 0.650score
VMware NSX
zw008
VMware NSX networking management with 31 MCP tools: segments, gateways, NAT, routing, IPAM.
ConnectorAFreshness: ALocal★ 5↓ 377/wkClaude Code +5 - 0.649score
VMware Pilot
zw008
Multi-step workflow orchestration for VMware MCP skills with approval gates and rollback.
ConnectorAFreshness: ALocal★ 4↓ 420/wkClaude Code +5 - 0.649score
VMware Storage
zw008
VMware vSphere storage management with 11 MCP tools: datastores, iSCSI, vSAN.
ConnectorAFreshness: ALocal★ 3↓ 578/wkClaude Code +5
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get VMware Monitor running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
VMware Monitor MCP server. Agent Mart. https://agentmart.dev/connectors/zw008-vmware-monitor (last updated 2026-10-24)