home / mcp / vsphere mcp server

vSphere MCP Server

Provides a VMware vSphere MCP server enabling AI agents to manage VMs, hosts, networks, and storage via a secure, Dockerized interface.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "akshyaganesh-vmware-mcp": {
      "url": "http://vsphere-mcp-server:8000/mcp",
      "headers": {
        "INSECURE": "True",
        "SERVER_HOST": "0.0.0.0",
        "SERVER_PORT": "8000",
        "VCENTER_HOST": "vcenter.example.local",
        "VCENTER_USER": "[email protected]",
        "VCENTER_PASSWORD": "YOUR_PASSWORD"
      }
    }
  }
}

You have a dedicated MCP server for VMware vSphere that gives AI agents secure, dockerized access to manage virtual infrastructure. It exposes a wide set of VM, host, network, and datastore operations, with safety features and comprehensive monitoring to help you automate, audit, and scale your VMware environment.

How to use

You interact with the vSphere MCP Server through your MCP client to perform day-to-day VM management, infrastructure queries, monitoring, and reporting. Start by connecting your client to the MCP endpoint, then issue intent-driven requests such as listing VMs, retrieving details, powering VMs on or off, creating snapshots, and generating reports. All destructive operations require explicit confirmation, and results are returned with clear success or error messaging to help you troubleshoot quickly.

How to install

Prerequisites ensure your environment can run containerized services and reach your vCenter Server.

Install and run the MCP server with Docker Compose by following these steps.

# Prerequisites
- Docker
- Docker Compose
- VMware vCenter Server with REST API access
- Valid vCenter credentials

# Quick Start
# 1. Prepare environment variables
cp env.example .env
# Edit .env with your vCenter credentials and server settings

# 2. Deploy the MCP server
docker compose up -d

Additional setup and configuration

Create a local environment file to configure vCenter connection and server listening details.

# .env example content after editing
VCENTER_HOST=vcenter.domain.local
[email protected]
VCENTER_PASSWORD=your_password_here
INSECURE=True

SERVER_HOST=0.0.0.0
SERVER_PORT=8000

Available tools

list_vms

List all virtual machines with their current power states

get_vm_details

Retrieve detailed information for a specific VM by its ID or name

power_on_vm

Power on a specified VM

power_off_vm

Power off a specified VM

restart_vm

Restart a specified VM

list_hosts

List all ESXi hosts in the environment

list_datastores

List all datastores available in the vCenter

list_networks

List all networks present in the vCenter

list_datacenters

List all datacenters managed by the vCenter

get_vm_performance_info

Get performance metrics for a specific VM or all VMs

get_host_performance_info

Get performance metrics for a host or all hosts

get_vm_disk_usage

Get disk usage statistics for a VM

get_datastore_usage

Get datastore utilization details

get_vms_with_high_resource_usage

Identify VMs with high CPU/memory/disk usage

list_vm_snapshots

List snapshots for a given VM

create_vm_snapshot

Create a snapshot for a VM with a name and optional description

delete_vm_snapshot

Delete a specific VM snapshot with optional confirmation

list_templates

List VM templates available in the environment

get_vm_events

Retrieve VM-related events

get_alarms

Get active alarms from the environment

get_port_groups

List network port groups in use by the environment

generate_vm_report

Generate a comprehensive report for one or more VMs

get_resource_utilization_summary

Provide a summary of CPU, memory, and storage utilization across the environment

bulk_power_operations

Perform power operations on multiple VMs in a single call

bulk_delete_vms

Delete multiple VMs in a single operation

delete_vm

Delete a VM (requires explicit confirmation)

vSphere MCP Server - akshyaganesh/vmware-mcp