--- title: VMware AIops Extension description: Add vmware-aiops MCP Server as a goose Extension for natural language VMware vCenter/ESXi operations --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import CLIExtensionInstructions from '@site/src/components/CLIExtensionInstructions'; import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller'; This tutorial covers how to add [vmware-aiops](https://github.com/zw008/VMware-AIops) as a goose extension, enabling natural language management of VMware vCenter and ESXi infrastructure. With this extension, goose can list VMs, check health, power on/off machines, deploy from templates, run commands inside VMs, and orchestrate multi-step operations with automatic rollback. :::tip Quick Install Install vmware-aiops first: ```sh uv tool install vmware-aiops vmware-aiops mcp-config install --agent goose ``` ```sh uv tool install vmware-aiops vmware-aiops mcp-config install --agent goose ``` ::: ## Configuration :::info Prerequisites You need [uv](https://docs.astral.sh/uv/) and a running VMware vCenter Server or ESXi host. VMware Tools must be running inside guest VMs for Guest Operations features. ::: **Step 1: Install and configure credentials** ```sh uv tool install vmware-aiops mkdir -p ~/.vmware-aiops cat > ~/.vmware-aiops/config.yaml << 'EOF' targets: my-vcenter: host: vcenter.example.com username: administrator@vsphere.local password_env: VMWARE_PASSWORD verify_ssl: false EOF echo "VMWARE_PASSWORD=your_password" > ~/.vmware-aiops/.env chmod 600 ~/.vmware-aiops/.env ``` **Step 2: Verify connectivity** ```sh vmware-aiops doctor ``` **Step 3: Add to goose** Set VMWARE_AIOPS_CONFIG to the absolute path of your config.yaml. See the vmware-aiops repository for full setup instructions. } /> ## Example Usage In this example, I'll use goose to perform a daily health check across my vCenter environment and remediate a disk space issue on a VM — all via natural language. ### goose Prompt ``` Check the health of my vCenter environment. Show any active alarms and powered-off VMs that haven't been used recently. If datastore usage is above 85%, tell me which VMs are using the most space. ``` ### goose Output ``` I'll start with a full health check of your vCenter environment. --- get_alarms --- Found 2 active alarms: - esxi-03: CPU ready > 5% (Warning) — sustained for 2 hours - datastore02: 87% capacity used (Critical) ← needs attention --- list_virtual_machines (power_state=poweredOff) --- 4 powered-off VMs found: - vm-test-old (last powered on: 21 days ago) - vm-dev-unused (last powered on: 14 days ago) - vm-staging-v1 (last powered on: 8 days ago) - vm-backup-runner (last powered on: 3 days ago) --- browse_datastore (datastore02) --- Largest consumers on datastore02: 1. vm-db-prod: 320 GB (snapshots not cleaned up) 2. vm-web-cluster: 180 GB 3. vm-test-old: 95 GB (powered off) Recommendation: Delete vm-test-old (powered off 21 days, 95 GB) to free space immediately. Also, vm-db-prod has stale snapshots — consolidating them would recover ~120 GB. Shall I create a plan to remove vm-test-old and consolidate vm-db-prod snapshots? ``` ``` Yes, go ahead. ``` ``` --- vm_create_plan --- Plan created: Step 1: Power off check for vm-test-old (already off ✓) Step 2: Delete vm-test-old Step 3: Consolidate snapshots on vm-db-prod ⚠️ Step 2 is irreversible. Step 3 is safe (read-only snapshot merge). --- vm_apply_plan --- Step 1/3: Verified vm-test-old is powered off ✓ Step 2/3: Deleted vm-test-old — freed 95 GB ✓ Step 3/3: Consolidated vm-db-prod snapshots — freed 118 GB ✓ datastore02 is now at 64% capacity. All alarms should clear within 5 minutes. ```