Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
VMWARE_AIOPS_CONFIGNoPath to the YAML configuration file containing vCenter/ESXi targets. If not specified, the server typically looks for a config in ~/.vmware-aiops/config.yaml.

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
list_virtual_machines

List all virtual machines with name, power state, CPU, memory, guest OS, and IP.

Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted.

list_esxi_hosts

List all ESXi hosts with CPU cores, memory, version, VM count, and uptime.

Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted.

list_all_datastores

List all datastores with capacity, free space, type, and VM count.

Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted.

list_all_clusters

List all clusters with host count, DRS/HA status, and resource totals.

Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted.

get_alarms

Get all active/triggered alarms across the VMware inventory.

Args: target: Optional vCenter/ESXi target name from config. Uses default if omitted.

get_events

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.

vm_info

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_power_on

Power on a virtual machine.

Args: vm_name: Exact name of the virtual machine. target: Optional vCenter/ESXi target name from config. Uses default if omitted.

vm_power_off

Power off a virtual machine. Graceful shutdown by default, force if specified.

Args: vm_name: Exact name of the virtual machine. force: If True, hard power off. If False, graceful guest shutdown. target: Optional vCenter/ESXi target name from config. Uses default if omitted.

browse_datastore

Browse files in a vSphere datastore directory.

Use this to discover OVA, ISO, VMDK, and other files on datastores before deploying VMs.

Args: datastore_name: Name of the datastore to browse. path: Subdirectory path (empty string for root). pattern: Glob pattern to filter files (e.g. ".ova", ".iso", "*"). target: Optional vCenter/ESXi target name from config.

scan_datastore_images

Scan all accessible datastores for deployable images (OVA/ISO/OVF/VMDK).

Results are cached locally in ~/.vmware-aiops/image_registry.json for fast lookup via list_cached_images. Run this to refresh the cache.

Args: target: Optional vCenter/ESXi target name from config.

list_cached_images

List deployable images from the local registry cache.

Run scan_datastore_images first to populate the cache.

Args: image_type: Filter by extension: "ova", "iso", "ovf", or "vmdk". datastore: Filter by datastore name.

deploy_vm_from_ova

Deploy a VM from a local OVA file.

Parses the OVF descriptor, creates import spec, uploads VMDKs via HTTP NFC lease. Optionally powers on and creates a baseline snapshot.

Args: ova_path: Local file path to the .ova file. vm_name: Desired name for the new VM. datastore_name: Target datastore for the VM. network_name: Network to attach (default "VM Network"). folder_path: VM folder path in vCenter (optional). power_on: Power on after deployment. snapshot_name: Create a baseline snapshot with this name (optional). target: Optional vCenter/ESXi target name from config.

deploy_vm_from_template

Deploy a new VM by cloning from a vSphere template.

Args: template_name: Name of the source vSphere template. new_name: Name for the new VM. datastore_name: Target datastore (uses template's datastore if omitted). cpu: Override CPU count (optional). memory_mb: Override memory in MB (optional). power_on: Power on after deployment. snapshot_name: Create a baseline snapshot with this name (optional). target: Optional vCenter/ESXi target name from config.

deploy_linked_clone

Create a linked clone from a VM snapshot (near-instant, minimal disk).

Linked clones share the source disk and use copy-on-write delta disks. This is the fastest provisioning method.

Args: source_vm_name: Source VM to clone from. snapshot_name: Snapshot on the source VM to use as clone base. new_name: Name for the new linked clone. cpu: Override CPU count (optional). memory_mb: Override memory in MB (optional). power_on: Power on after creation. baseline_snapshot: Create a new snapshot on the clone (optional). target: Optional vCenter/ESXi target name from config.

attach_iso_to_vm

Attach an ISO from a datastore to a VM's CD-ROM drive.

Args: vm_name: Target VM name. iso_ds_path: Datastore path, e.g. "[datastore1] iso/ubuntu.iso". target: Optional vCenter/ESXi target name from config.

convert_vm_to_template

Convert a powered-off VM to a vSphere template.

After conversion the VM cannot be powered on — it serves as a clone source for deploy_vm_from_template.

Args: vm_name: Name of the VM to convert (must be powered off). target: Optional vCenter/ESXi target name from config.

batch_clone_vms

Batch clone multiple VMs from a source VM (gold image).

Each clone: full copy → optional reconfigure → optional snapshot → optional power on.

Args: source_vm_name: Source VM to clone from. vm_names: List of names for the new VMs. cpu: Override CPU count for all clones (optional). memory_mb: Override memory for all clones (optional). snapshot_name: Create a baseline snapshot on each clone (optional). power_on: Power on each clone after creation. target: Optional vCenter/ESXi target name from config.

batch_linked_clone_vms

Batch create linked clones from a VM snapshot (fastest batch provisioning).

Each clone shares the source disk via copy-on-write.

Args: source_vm_name: Source VM to clone from. snapshot_name: Snapshot to use as clone base. vm_names: List of names for the new linked clones. cpu: Override CPU count (optional). memory_mb: Override memory (optional). power_on: Power on each clone. baseline_snapshot: Create a new snapshot on each clone (optional). target: Optional vCenter/ESXi target name from config.

batch_deploy_from_spec

Batch deploy VMs from a YAML specification file.

The YAML spec supports all provisioning channels:

  • source: clone from a VM

  • template: clone from a vSphere template

  • linked_clone: instant clone from a snapshot

  • Per-VM ova: deploy from OVA file

  • Fallback: create empty VMs (optionally with ISO)

Args: spec_path: Path to the deploy.yaml specification file. target: Optional vCenter/ESXi target name from config.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/zw008/vmware-aiops'

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