Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VMWARE_HOSTNovCenter Server or ESXi hostname or IP. Also VSPHERE_HOST.
VMWARE_PORTNoAPI port.443
VMWARE_USERNoAlias for VMWARE_USERNAME.
VSPHERE_HOSTNoAlias for VMWARE_HOST.
VSPHERE_USERNoAlias for VMWARE_USERNAME.
VMWARE_INSECURENoShorthand for disabling verification.false
VMWARE_PASSWORDNoPassword. Also VSPHERE_PASSWORD.
VMWARE_USERNAMENovSphere account. Also VMWARE_USER, VSPHERE_USER.
VMWARE_CACHE_TTLNoSeconds to cache the inventory tree used for path resolution.60
VMWARE_CA_BUNDLENoCA certificate bundle to trust instead of the system store.
VMWARE_LOG_LEVELNoLog level. Logs go to stderr.INFO
VMWARE_TRANSPORTNostdio, streamable-http or sse.stdio
VSPHERE_PASSWORDNoAlias for VMWARE_PASSWORD.
VMWARE_VERIFY_SSLNoVerify the TLS certificate.true
VMWARE_MAX_RESULTSNoHard cap on items returned by any listing.500
VMWARE_TASK_TIMEOUTNoHow long to wait for a vSphere task before handing back its id.600
VMWARE_CONNECT_TIMEOUTNoHTTP connection timeout in seconds.30
VMWARE_MAX_CONCURRENCYNoMaximum simultaneous calls to vCenter.8
VMWARE_PERMISSION_MODENoread-only, write or destructive.read-only
VMWARE_DEFAULT_PAGE_SIZENoPage size when a tool call omits limit.100

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
vsphere_aboutA

Identify the connected vSphere endpoint.

Returns the product name and version of vCenter Server or ESXi, the API version, the account the server is authenticated as, and the permission mode this MCP server is running in. Call this first to find out whether write operations are allowed at all.

vsphere_list_datacentersA

List every datacenter in the vSphere inventory.

vsphere_list_clustersA

List compute clusters with their capacity, DRS and HA configuration.

Args: name: Optional filter on cluster name. Plain text matches as a case-insensitive substring; * and ? enable glob matching. datacenter: Only return clusters in this datacenter. limit: Maximum number of clusters to return. offset: Number of matches to skip, for paging.

vsphere_list_hostsA

List ESXi hosts with hardware, version and live CPU/memory utilisation.

Args: name: Optional host name filter (substring, or glob with */?). cluster: Only return hosts belonging to this cluster. datacenter: Only return hosts in this datacenter. connection_state: Filter by connected, disconnected or notResponding. limit: Maximum number of hosts to return. offset: Number of matches to skip, for paging.

vsphere_get_hostA

Full detail for one ESXi host, including attached VMs and datastores.

Args: host: Host name, managed object id (host-42), hardware UUID or inventory path.

vsphere_list_resource_poolsA

List resource pools with their reservations, limits and current usage.

Args: name: Optional resource pool name filter. limit: Maximum number of pools to return. offset: Number of matches to skip, for paging.

vsphere_search_inventoryA

Search the inventory by name across several object types at once.

Useful when you know a name but not what kind of object it is, or when you need the managed object id to pass to another tool.

Args: query: Name to search for (substring, or glob with */?). types: Object types to search. Defaults to all of vm, host, cluster, datastore, network, datacenter, resource_pool and folder. limit: Maximum number of matches to return in total.

vsphere_list_vmsA

List virtual machines with power state, resources and guest details.

All filters are combined with AND. Results are capped; check the truncated field and page with offset when it is true.

Args: name: VM name filter. Plain text matches as a case-insensitive substring; * and ? enable glob matching. power_state: poweredOn, poweredOff or suspended. datacenter: Only VMs in this datacenter. cluster: Only VMs whose host belongs to this cluster. host: Only VMs registered to this ESXi host (name or moid). guest_os: Filter on the configured guest OS name, e.g. Ubuntu. ip_address: Filter on the primary guest IP address (substring match). include_templates: Include VM templates alongside real VMs. only_templates: Return only VM templates. limit: Maximum number of VMs to return. offset: Number of matches to skip, for paging.

vsphere_get_vmA

Full detail for one virtual machine.

Includes virtual hardware (disks and network adapters), guest networking and filesystem usage reported by VMware Tools, resource allocations, and the snapshot tree.

Args: vm: VM name, managed object id (vm-1024), BIOS/instance UUID or inventory path such as /Prod/vm/Tier1/web-01.

vsphere_get_vm_summary_by_hostA

Aggregate VM counts and allocated resources per ESXi host.

A quick capacity/placement overview: how many VMs sit on each host, how many are powered on, and how much vCPU and memory has been handed out.

vsphere_list_datastoresA

List datastores with capacity, free space and over-provisioning.

provisioned_gib includes space promised to thin disks that has not been written yet, so it can exceed capacity_gib; overprovisioned flags exactly that case.

Args: name: Datastore name filter (substring, or glob with */?). datacenter: Only datastores in this datacenter. datastore_type: Filter by storage type such as VMFS, NFS or vsan. min_used_percent: Only datastores at or above this utilisation, for spotting the ones about to fill up. limit: Maximum number of datastores to return. offset: Number of matches to skip, for paging.

vsphere_list_networksA

List networks: standard port groups, distributed port groups and opaque networks.

Distributed port groups additionally report their VLAN configuration and the distributed switch they belong to.

Args: name: Network name filter (substring, or glob with */?). datacenter: Only networks in this datacenter. kind: standard-portgroup, distributed-portgroup or opaque-network. limit: Maximum number of networks to return. offset: Number of matches to skip, for paging.

vsphere_list_tasksA

List recent vSphere tasks, newest first.

Use this to see what changed in the environment and whether an operation someone else started succeeded.

Args: entity: Restrict to tasks on this object and its children. entity_type: What kind of object entity names. hours: How far back to look, in hours. states: Filter by task state: queued, running, success or error. limit: Maximum number of tasks to return.

vsphere_get_taskA

Check the state and progress of a single vSphere task.

Tools that started work with wait=false, or that timed out waiting, return a task_id you can poll here.

Args: task_id: The task's managed object id, e.g. task-4218.

vsphere_list_running_tasksA

List the tasks vCenter is currently running or has just finished.

vsphere_list_eventsA

List recent vSphere events, newest first.

Events are the audit trail of the environment: logins, configuration changes, HA actions, alarm transitions and hardware problems.

Args: entity: Restrict to events about this object and its children. entity_type: What kind of object entity names. hours: How far back to look, in hours. categories: Filter by info, warning, error or user. limit: Maximum number of events to return.

vsphere_list_alarmsA

List every currently triggered alarm across the inventory.

This is the fastest way to answer "what is unhealthy right now".

Args: status: Filter by severity: red (alert) or yellow (warning). include_acknowledged: Include alarms an operator has already acknowledged. limit: Maximum number of alarms to return. offset: Number of matches to skip, for paging.

vsphere_get_performanceA

Read CPU, memory, disk and network performance counters for a VM or host.

Each counter comes back summarised (latest, average, minimum, maximum) over the requested window. realtime gives 20-second samples for roughly the last hour; the rollup intervals cover longer periods.

Args: entity: VM or host name, managed object id, UUID or inventory path. entity_type: Whether entity is a vm or a host. interval: realtime, 5min, 30min, 2hours or 1day. samples: Number of samples to retrieve, most recent first. counters: Specific counters in group.name.rollup form, e.g. cpu.ready.summation. Defaults to a standard set.

vsphere_change_vm_power_stateA

Change the power state of a virtual machine.

Prefer the guest actions when VMware Tools is running: shutdown_guest and reboot_guest let the operating system shut down cleanly, whereas power_off and reset are the equivalent of pulling the plug and can lose unwritten data.

Guest actions complete inside the guest and return as soon as vSphere has passed the request to VMware Tools, so wait does not apply to them.

Requires permission mode write or higher.

Args: vm: VM name, managed object id, UUID or inventory path. action: One of power_on, power_off, suspend, reset, shutdown_guest, reboot_guest or standby_guest. wait: Wait for the vSphere task to finish before returning. timeout_seconds: Override the default task timeout.

vsphere_list_snapshotsA

List the snapshots of a virtual machine as both a tree and a flat list.

Each snapshot carries the moid needed to revert to or delete it, and is_current marks the snapshot the VM is currently running from.

Args: vm: VM name, managed object id, UUID or inventory path.

vsphere_create_snapshotA

Take a snapshot of a virtual machine.

Snapshots are not backups: they grow with every write and degrade performance if left in place, so delete them once they are no longer needed.

Requires permission mode write or higher.

Args: vm: VM name, managed object id, UUID or inventory path. name: Name for the new snapshot. description: Optional free-text description. include_memory: Capture the memory state too, so a revert returns the VM to a running state. Slower and larger. quiesce: Ask VMware Tools to quiesce the guest filesystem for a crash-consistent snapshot. Requires VMware Tools. wait: Wait for the snapshot task to finish. timeout_seconds: Override the default task timeout.

vsphere_revert_to_snapshotA

Revert a virtual machine to a snapshot, discarding later changes.

Everything written since the snapshot was taken is lost. Requires permission mode destructive.

Args: vm: VM name, managed object id, UUID or inventory path. snapshot: Snapshot name, snapshot path (parent/child) or snapshot moid. Defaults to the VM's current snapshot. suppress_power_on: Leave the VM powered off after reverting. wait: Wait for the revert task to finish. timeout_seconds: Override the default task timeout.

vsphere_delete_snapshotA

Delete one snapshot, a snapshot subtree, or every snapshot of a VM.

Deleting a snapshot consolidates its data into the parent disk; the VM keeps all current data. Requires permission mode destructive.

Args: vm: VM name, managed object id, UUID or inventory path. snapshot: Snapshot name, path or moid. Ignored when delete_all is set. remove_children: Also delete snapshots taken from this one. delete_all: Delete the entire snapshot tree ("Delete All" in the vSphere client). wait: Wait for the delete task to finish. timeout_seconds: Override the default task timeout. Consolidation of large snapshots can take a long time.

vsphere_clone_vmA

Clone a virtual machine or deploy one from a template.

Placement defaults to the source VM's host, datastore, resource pool and folder; override any of them individually. Cloning copies every disk, so it can take a long time for large VMs -- pass wait=false to get a task id back immediately and poll it with vsphere_get_task.

Requires permission mode write or higher.

Args: vm: Source VM or template (name, moid, UUID or inventory path). name: Name for the new virtual machine. host: Target ESXi host. datastore: Target datastore for the clone's files. resource_pool: Target resource pool. folder: Target VM folder. power_on: Power the clone on once the clone completes. as_template: Register the clone as a template instead of a VM. wait: Wait for the clone task to finish. timeout_seconds: Override the default task timeout.

vsphere_reconfigure_vmA

Change a virtual machine's CPU count, memory size or notes.

Unless CPU/memory hot-add is enabled on the guest, vSphere requires the VM to be powered off for resource changes and will reject the request otherwise. Only the supplied fields are changed.

Requires permission mode write or higher.

Args: vm: VM name, managed object id, UUID or inventory path. cpu_count: New total number of virtual CPUs. cores_per_socket: Cores per virtual socket. Must divide cpu_count. memory_mb: New memory size in MiB. annotation: Replacement notes/annotation text. wait: Wait for the reconfigure task to finish. timeout_seconds: Override the default task timeout.

vsphere_migrate_vmA

Move a virtual machine to another host, datastore or resource pool.

Supplying host performs a vMotion, datastore a storage vMotion, and both at once a combined migration. At least one target is required.

Requires permission mode write or higher.

Args: vm: VM name, managed object id, UUID or inventory path. host: Destination ESXi host. datastore: Destination datastore. resource_pool: Destination resource pool. priority: vMotion scheduling priority. wait: Wait for the migration task to finish. timeout_seconds: Override the default task timeout.

vsphere_delete_vmA

Permanently delete a virtual machine and all of its files from disk.

This cannot be undone. The VM must be powered off. Requires permission mode destructive and an explicit confirm=true.

Args: vm: VM name, managed object id, UUID or inventory path. confirm: Must be true; guards against accidental deletion. wait: Wait for the delete task to finish. timeout_seconds: Override the default task timeout.

Prompts

Interactive templates invoked by user choice

NameDescription
troubleshoot_vmInvestigate why a virtual machine is slow, stuck or unreachable.
capacity_reportSummarise compute and storage capacity, utilisation and risks.

Resources

Contextual data attached and managed by the client

NameDescription
Inventory summaryCounts and totals for the whole vSphere inventory.

Latest Blog Posts

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/ISH2YU/VMware-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server