Get the FREE Ultimate OpenClaw Setup Guide →

vmware-vsphere

An MCP (Model Context Protocol) Server that acts as a standardized interface exposing VMware vCenter functionalities as Tools directly consumable by AI models (LLMs)

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio giuliolibrando-vmware-vsphere-mcp-server docker run -i giuliolibrando/vmware-vsphere-mcp-server \
  --env INSECURE="True" \
  --env SERVER_HOST="0.0.0.0" \
  --env SERVER_PORT="8000" \
  --env VCENTER_HOST="vcenter.domain.local" \
  --env VCENTER_USER="username@domain.local" \
  --env VCENTER_PASSWORD="your_password_here"

How to use

This MCP server provides full lifecycle management for VMware vSphere resources via a secure, containerized interface. It exposes a rich set of tools for VM operations, infrastructure discovery, monitoring, snapshots, templates, and automated workflows. The server is designed to be deployed with Docker, typically via docker-compose, and exposes an HTTP endpoint at /mcp that can be integrated with AnythingLLM or other agents. You can use the available tools to list VMs and hosts, Power on/off VMs, capture performance metrics, manage snapshots and templates, and perform bulk operations. Destructive actions are protected by a confirmation mechanism to prevent accidental data loss.

Once deployed, you can access the tool catalog through your MCP client and issue commands such as list_vms, get_vm_details, power_on_vm, and get_vm_performance_info. You can also generate comprehensive VM reports, query resource utilization, and manage network configurations. The server authenticates via environment-sourced credentials, so you should configure VCENTER_HOST, VCENTER_USER, and VCENTER_PASSWORD in your environment before use.

How to install

Prerequisites

  • Docker and Docker Compose installed on the host
  • VMware vCenter Server with REST API access
  • Valid vCenter credentials

Quick Start

  1. Clone the repository containing the MCP server.
  2. Create and configure environment variables (see environment variables section below).
  3. Deploy using Docker:
# Example: start the MCP server container
# Ensure you have the correct image name and optional docker-compose setup as appropriate for your repo
docker run -d --name vsphere-mcp-server \
  -p 8000:8000 \
  -e VCENTER_HOST=vcenter.domain.local \
  -e VCENTER_USER=username@domain.local \
  -e VCENTER_PASSWORD=your_password_here \
  -e INSECURE=True \
  -e SERVER_HOST=0.0.0.0 \
  -e SERVER_PORT=8000 \
  giuliolibrando/vmware-vsphere-mcp-server

If you prefer docker-compose (recommended for local dev):

# Example docker-compose.yml snippet
version: '3.8'
services:
  vsphere-mcp:
    image: giuliolibrando/vmware-vsphere-mcp-server
    container_name: vsphere-mcp
    ports:
      - "8000:8000"
    environment:
      - VCENTER_HOST=vcenter.domain.local
      - VCENTER_USER=username@domain.local
      - VCENTER_PASSWORD=your_password_here
      - INSECURE=True
      - SERVER_HOST=0.0.0.0
      - SERVER_PORT=8000

Prerequisites recap

  • Docker and Docker Compose installed
  • Access to a vCenter with REST API enabled
  • A container-enabled environment to run the MCP server

Additional notes

Environment-based authentication is used to protect credentials. Ensure your .env or environment variables are properly set and not committed to version control. If you encounter SSL certificate issues with vCenter, you can set INSECURE=True for development, but prefer proper certificate validation in production. When deploying behind a reverse proxy, configure SERVER_HOST and SERVER_PORT accordingly and ensure the proxy forwards to the MCP endpoint at /mcp. The AnythingLLM integration example shows how to register the MCP server for ingest and querying.

Related MCP Servers

Sponsor this space

Reach thousands of developers