goose/documentation/docs/mcp/vmware-aiops-mcp.md
Douwe Osinga ceb94b24dc
Some checks are pending
Canary / Prepare Version (push) Waiting to run
Canary / Release (push) Blocked by required conditions
Cargo Deny / deny (push) Waiting to run
Unused Dependencies / machete (push) Waiting to run
CI / changes (push) Waiting to run
CI / Check Rust Code Format (push) Blocked by required conditions
CI / Build and Test Rust Project (push) Blocked by required conditions
CI / Build and Test TLS Backend (native-tls) (push) Blocked by required conditions
CI / Build and Test TLS Backend (rustls-tls) (push) Blocked by required conditions
Canary / build-cli-linux (push) Blocked by required conditions
Canary / Upload Install Script (push) Waiting to run
Canary / bundle-macos-arm64 (push) Blocked by required conditions
Canary / bundle-macos-x64 (push) Blocked by required conditions
Canary / bundle-desktop-linux (push) Blocked by required conditions
Canary / bundle-windows (push) Blocked by required conditions
Canary / bundle-windows-cuda (push) Blocked by required conditions
Create Minor Release PR / check-version-bump-pr (push) Waiting to run
Create Minor Release PR / release (push) Blocked by required conditions
Live Provider Tests / check-fork (push) Waiting to run
Live Provider Tests / changes (push) Blocked by required conditions
Live Provider Tests / Build Binary (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (push) Blocked by required conditions
Live Provider Tests / Smoke Tests (Code Execution) (push) Blocked by required conditions
Live Provider Tests / Compaction Tests (push) Blocked by required conditions
Publish Ask AI Bot Docker Image / docker (push) Waiting to run
Publish Docker Image / docker (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
CI / Build Rust Project on Windows (push) Waiting to run
CI / Check MSRV (push) Blocked by required conditions
CI / Lint Rust Code (push) Blocked by required conditions
CI / Check Generated Schemas are Up-to-Date (push) Blocked by required conditions
CI / Test and Lint Electron Desktop App (push) Blocked by required conditions
Deploy Documentation / deploy (push) Waiting to run
Clean up stale documentation audit findings (#10114)
Co-authored-by: Douwe M Osinga <douwe@sidewalklabs.com>
2026-07-17 13:36:58 +02:00

4.9 KiB

title description
VMware AIops Extension 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 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 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

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

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.