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. |
Capabilities
Features and capabilities supported by this server
| 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 optional filtering, sorting, and field selection. Returns a dict: {total, mode, vms, hint}. Each VM entry includes a
Auto-compact: when no limit/fields are set and inventory exceeds 50 VMs, returns compact fields (name, power_state, cpu, memory_mb, folder_path) to keep context manageable. Set limit or fields to override. Args:
target: Optional vCenter/ESXi target name from config. Uses default if omitted.
limit: Max number of VMs to return (None = all).
sort_by: Sort field: "name" | "cpu" | "memory_mb" | "power_state" | "folder_path".
power_state: Filter by power state: "poweredOn" | "poweredOff" | "suspended".
fields: Return only these fields (None = auto-select based on inventory size).
Available: name, power_state, cpu, memory_mb, guest_os, ip_address,
host, uuid, tools_status, folder_path.
folder_filter: Case-insensitive substring match against folder_path.
Example: |
| list_esxi_hostsA | [READ] List ESXi hosts with CPU cores, memory, version, VM count, and uptime. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of hosts to return (None = all). |
| list_all_datastoresA | [READ] List datastores with capacity, free space, type, and VM count. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of datastores to return (None = all). |
| list_all_clustersA | [READ] List clusters with host count, DRS/HA status, and resource totals. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of clusters to return (None = all). |
| list_all_networksA | [READ] List networks with name, attached VM count, and accessibility. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of networks to return (None = all). |
| get_alarmsA | [READ] Get active/triggered alarms across the VMware inventory. Each alarm includes suggested_actions with ready-to-use hints pointing to the correct companion skill and tool for remediation. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of alarms to return (None = all). Use when many alarms are active. |
| get_eventsA | [READ] Get recent vCenter/ESXi events filtered by severity. Args: hours: How many hours back to query (default 24). severity: Minimum severity level: "critical", "warning", or "info". target: Optional vCenter/ESXi target name from config. Uses default if omitted. |
| get_host_sensorsA | [READ] Get hardware sensor status (temperature, voltage, fan, ...) for all hosts. Each entry includes host, sensor_name, type, reading, unit, and status (green/yellow/red from healthState.key). Use to spot failing hardware before it causes an outage. Returns an empty list when no host exposes sensor data (e.g. nested ESXi). Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of sensor rows to return (None = all). |
| get_host_servicesA | [READ] Get host service status (running state and startup policy). Each entry includes host, service key, label, running (bool), and policy (on/off/automatic). Use to check whether SSH, NTP, or the firewall service is in the expected state. Args: host_name: Filter to a single host by exact name (None = all hosts). target: Optional vCenter/ESXi target name from config. Uses default if omitted. |
| host_log_scanA | [READ] Scan recent ESXi host syslog lines for error/warning patterns. Reads the last Only errors/warnings are returned, not the full log, so output stays small
even on large clusters. Filter to one host with Args: host_name: Filter to a single host by exact name (None = all hosts). lines: How many recent lines per log to scan (default 500). target: Optional vCenter/ESXi target name from config. Uses default if omitted. |
| vm_infoA | [READ] Get detailed information about a specific VM (CPU, memory, disks, NICs, snapshots). Args: vm_name: Exact name of the virtual machine. target: Optional vCenter/ESXi target name from config. Uses default if omitted. |
| vm_list_snapshotsA | [READ] List all snapshots of a VM, including the nesting hierarchy. Returns one entry per snapshot with name, description, created timestamp,
state, and level (0 = root; children are level+1). Returns an empty list
when the VM has no snapshots. Read-only — this skill cannot create,
revert, or delete snapshots (use vmware-aiops for those operations).
Exposes the same data as the CLI command Args: vm_name: Exact name of the virtual machine. target: Optional vCenter/ESXi target name from config. Uses default if omitted. |
| host_performanceA | [READ] Real-time CPU/memory/disk/network utilisation per ESXi host. Unlike list_esxi_hosts (static config: cores, total GB), this returns LIVE utilisation from the 20-second PerfManager interval: cpu_usage_pct, mem_usage_pct, mem_consumed_mb, disk_kbps, net_kbps. Busiest hosts first. Disconnected hosts and hosts without a real-time provider are skipped (not reported as zero). Point-in-time only — no historical trend is retained. Args: host_name: Filter to a single host by exact name (None = all hosts). target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of host rows to return (None = all). |
| vm_performanceA | [READ] Real-time CPU/memory/disk/network utilisation per virtual machine. LIVE utilisation (cpu_usage_pct, mem_usage_pct, mem_consumed_mb, disk_read_kbps, disk_write_kbps, net_kbps), busiest VMs first. Only powered-on VMs have a real-time provider; powered-off VMs are skipped. Defaults to the top 25 — pass limit=None for the full fleet. Point-in-time only; for trends use a metrics store. Args: vm_name: Filter to a single VM by exact name (None = all powered-on VMs). target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of VM rows to return (default 25; None = all). |
| snapshot_agingA | [READ] Sweep ALL VMs for snapshots and flag old / sprawling ones. Where vm_list_snapshots covers one VM, this scans the whole inventory and judges age. Returns {total_snapshots, old_snapshots, vms_with_snapshots, threshold_days, snapshots[], hint}. 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 — delete snapshots via vmware-aiops. Args: age_threshold_days: Age above which a snapshot is flagged "old" (default 30). only_old: When True, return only snapshots older than the threshold. target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of snapshot rows to return (None = all). |
| certificate_statusA | [READ] Per-host ESXi management certificate expiry. An expired ESXi cert drops host management — this surfaces it before the
outage. Returns host, not_after, days_until_expiry, and an Args: warn_days: Flag certs expiring within this many days (default 30). target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of host rows to return (None = all). |
| license_statusA | [READ] vCenter/ESXi license inventory with usage and expiry. Returns one row per license: name, edition_key, total/used units, unlimited flag (total==0), and expiration. Use to catch over-allocation or an approaching license expiry. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. |
| ntp_statusA | [READ] Per-host NTP configuration health (servers + ntpd service state). Returns host, ntp_servers, ntpd_running, ntpd_policy, and a Args: host_name: Filter to a single host by exact name (None = all hosts). target: Optional vCenter/ESXi target name from config. Uses default if omitted. |
| datastore_capacityA | [READ] Per-datastore capacity with thin-provisioning over-commit. Adds the risk signal list_all_datastores lacks: overcommit_pct (provisioned / capacity * 100). Over 100% means more space is promised to VMs than physically exists — a thin datastore can fill up while still showing free space. Returns capacity_gb, free_gb, committed_gb, provisioned_gb, used_pct, overcommit_pct; riskiest first. Point-in-time. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of datastore rows to return (None = all). |
| resource_pool_usageA | [READ] Per-resource-pool CPU/memory reservation, limit, and current usage. Returns name, cpu_reservation_mhz, cpu_limit_mhz, cpu_usage_mhz, mem_reservation_mb, mem_limit_mb, mem_usage_mb. A limit of -1 means unlimited. Use to spot pools near their reservation/limit. Sorted by memory usage descending. Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of pool rows to return (None = all). |
| active_tasksA | [READ] In-flight (and optionally just-completed) vCenter tasks. Answers "why is the cluster busy?". Returns name, entity, state, progress_pct, start_time, user, active flag, and error (for failed recent tasks). Running/queued first. Read-only — cancel tasks via vmware-aiops. Args: include_recent: Also include recently completed/failed tasks (default True). target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of task rows to return (None = all). |
| active_sessionsA | [READ] Currently authenticated vCenter/ESXi sessions (who is logged in). Returns user_name, full_name, login_time, last_active, ip_address, and a
Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted. limit: Max number of session rows to return (None = all). |
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
- 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/zw008/vmware-monitor'
If you have feedback or need assistance with the MCP directory API, please join our Discord server