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)
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
- Clone the repository containing the MCP server.
- Create and configure environment variables (see environment variables section below).
- 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
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP