VMware-Monitor
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VMWARE_MONITOR_CONFIG | No | Path to the YAML configuration file (e.g., /path/to/config.yaml). Defaults to ~/.vmware-monitor/config.yaml if not provided. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_virtual_machinesA | [READ] List virtual machines, with filtering, sorting, and field selection. Returns the family list envelope {items, returned, limit, total, truncated,
hint}; Use this to resolve an exact VM name, then vm_info for detail or vm_investigation_bundle to drill into one; for a fleet-wide view start at cluster_health_summary instead. |
| list_esxi_hostsA | [READ] List ESXi hosts with CPU cores, memory, version, VM count, and uptime. Returns the list envelope; |
| list_all_datastoresA | [READ] List datastores with capacity, free space, type, and VM count. Returns the list envelope with a real |
| list_all_clustersA | [READ] List clusters with host count, DRS/HA status, and resource totals. Returns the list envelope with a real |
| cluster_health_summaryA | [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 Returns {totals, top_issues, issues_total, clusters, snapshot,
customization_hint} — not the list envelope. Lead with Then drill into what |
| vm_investigation_bundleA | [READ] "What is happening around this VM?" — one correlated drill-down. Use this instead of stitching vm_info + vm_list_snapshots + get_alarms + 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 cluster_health_summary names a problem VM, or when asked "what's going on with ?". Point-in-time snapshot — no trending. Acting on what you find (power, migrate, delete snapshot) belongs to vmware-aiops. |
| host_investigation_bundleA | [READ] "What is happening around this ESXi host?" — one correlated drill-down. Use this instead of stitching list_esxi_hosts + host_performance + get_alarms
Reach for it after cluster_health_summary flags a host. Point-in-time snapshot — no trending; for syslog lines use host_log_scan. Acting on a finding (maintenance mode, evacuate) belongs to vmware-aiops. |
| datastore_investigation_bundleA | [READ] "What is happening around this datastore?" — one correlated drill-down. Use this instead of stitching list_all_datastores + 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 cluster_health_summary flags storage pressure. Point-in-time snapshot — no trending. Freeing space (deleting snapshots, storage vMotion) belongs to vmware-aiops. |
| cross_vcenter_attentionA | [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 Degrades gracefully: an unreachable target is listed under |
| list_all_networksA | [READ] List networks with name, attached VM count, and accessibility. Returns the list envelope with a real |
| get_alarmsA | [READ] Get active/triggered alarms across the VMware inventory. Returns the list envelope with a real Use this for the raw alarm list; prefer cluster_health_summary when you want alarms folded into a whole-cluster verdict. Then drill into the flagged object with vm_investigation_bundle or host_investigation_bundle. |
| get_eventsA | [READ] Get recent vCenter/ESXi events filtered by severity. Returns the list envelope. No row limit is applied, so 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 Use this for an inventory-wide event sweep. When you already know the object, prefer vm_investigation_bundle / host_investigation_bundle instead: they return the same events correlated with that object's state in one call. ESXi syslog lines are not events — use host_log_scan for those. |
| get_host_sensorsA | [READ] Get hardware sensor status (temperature, voltage, fan, ...) for all hosts. Returns the list envelope with a real Use this for physical hardware only — for CPU/memory load use host_performance, and follow up on a red sensor with host_investigation_bundle to see the alarms and events around that host. |
| get_host_servicesA | [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
Use this to check whether SSH, NTP or the firewall service is in the expected state. For NTP specifically prefer ntp_status, which also reports the configured servers. Starting or stopping a service is a write — this skill cannot do it; use vmware-aiops. |
| host_log_scanA | [READ] Scan recent ESXi host syslog lines for error/warning patterns. Reads the last Use this when get_events or host_investigation_bundle show a host in trouble
but not why: vCenter events and ESXi syslog are different sources. Filter
with |
| vm_infoA | [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 vm_performance, and for the same VM correlated with its host, alarms and events use vm_investigation_bundle. 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. |
| vm_list_snapshotsA | [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 Use this for one known VM; prefer snapshot_aging 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. |
| host_performanceA | [READ] Real-time CPU/memory/disk/network utilisation per ESXi host. Returns the list envelope with a real Use this to find which host is hot, then host_investigation_bundle to drill into it, or vm_performance to see which VMs on it are driving the load. |
| vm_performanceA | [READ] Real-time CPU/memory/disk/network utilisation per virtual machine. Returns the list envelope with a real Use this to rank load across VMs; for one VM's configuration use vm_info, and to see the same VM correlated with its host, alarms and events use vm_investigation_bundle. |
| snapshot_agingA | [READ] Sweep ALL VMs for snapshots and flag old / sprawling ones. Use this for fleet-wide snapshot sprawl; prefer vm_list_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. |
| vm_backup_snapshot_historyA | [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 Returns a rollup, not the list envelope: counts, four hour statistics
(backup_active / snapshot_present / total_window / snapshot_removal),
latest_cycle, longest_cycle, and Read two fields before reporting all-clear. Duplicate VM names raise rather than resolve to one, because a duration attributed to the wrong same-named VM looks exactly like a correct answer. For snapshots that exist right now use vm_list_snapshots or snapshot_aging. |
| certificate_statusA | [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 Use this alongside license_status and ntp_status for a platform-hygiene sweep. Renewing a certificate is a write this skill cannot do; use vmware-aiops or vCenter directly. |
| license_statusA | [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 Use this to catch over-allocation or an approaching expiry, alongside certificate_status and ntp_status for a platform-hygiene sweep. Which host consumes which license is not reported — use list_esxi_hosts for the host inventory. Assigning a license is a write; use vmware-aiops. |
| ntp_statusA | [READ] Per-host NTP configuration health (servers + ntpd service state). Returns the list envelope; every matching host is enumerated, so 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 NTP is misconfigured. Filtering rows for Prefer this over get_host_services for time problems: that tool reports whether ntpd runs but not which servers are configured. Fixing NTP is a write; use vmware-aiops. |
| datastore_capacityA | [READ] Per-datastore capacity with thin-provisioning over-commit. Returns the list envelope with a real Use this for the capacity view, then datastore_investigation_bundle to drill into a specific datastore's hosts, VMs and alarms. Reclaiming space (delete snapshots, storage vMotion) belongs to vmware-aiops. |
| resource_pool_usageA | [READ] Per-resource-pool CPU/memory reservation, limit, and current usage. Returns the list envelope with a real Use this when a VM is throttled but its host is not busy — the cap is usually the pool. Then vm_performance to see which VMs in it are demanding, or cluster_health_summary for the cluster-level picture. |
| active_tasksA | [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 Use this before blaming load: a migration or clone in flight explains pressure that host_performance shows. Pair with active_sessions to see who started it. Read-only — cancelling a task belongs to vmware-aiops. |
| active_sessionsA | [READ] Currently authenticated vCenter/ESXi sessions (who is logged in). Returns the list envelope with a real Use this to attribute a change to a person — pair it with active_tasks, which names the user who started each task. Read-only — terminating a session is not supported here. |
| host_memory_tieringA | [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 off reads as tiering_type "noTiering", nvme_gb 0.0 — that is a real "checked, none", not a gap. Gotchas: reads pyVmomi HostSystem.hardware.memoryTierInfo (needs ESXi 8.0U3+/9.x); older hosts report tiering_type "unknown". Read-only. |
| cluster_patch_complianceA | [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 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}. Gotchas: |
| cluster_last_apply_resultA | [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 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 Gotchas: |
| vcenter_deployment_sizeA | [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 Gotchas: 9.1-only endpoint — older vCenters will 404 (authored teaching error). Endpoint and field parse verified against a live VCF 9.1 vCenter. Read-only. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vmware-skills/VMware-Monitor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server