Skip to main content
Glama

A VMware ESXi/vCenter management server

ESXi MCP Server

A VMware ESXi/vCenter management server based on MCP (Model Control Protocol), providing simple REST API interfaces for virtual machine management.

Features

  • Support for ESXi and vCenter Server connections

  • Real-time communication based on SSE (Server-Sent Events)

  • RESTful API interface with JSON-RPC support

  • API key authentication

  • Complete virtual machine lifecycle management

  • Real-time performance monitoring

  • SSL/TLS secure connection support

  • Flexible configuration options (YAML/JSON/Environment Variables)

Core Functions

  • Virtual Machine Management

    • Create VM

    • Clone VM

    • Delete VM

    • Power On/Off operations

    • List all VMs

  • Performance Monitoring

    • CPU usage

    • Memory usage

    • Storage usage

    • Network traffic statistics

Requirements

  • Python 3.7+

  • pyVmomi

  • PyYAML

  • uvicorn

  • mcp-core (Machine Control Protocol core library)

Quick Start

  1. Install dependencies:

pip install pyvmomi pyyaml uvicorn mcp-core
  1. Create configuration file config.yaml:

vcenter_host: "your-vcenter-ip" vcenter_user: "administrator@vsphere.local" vcenter_password: "your-password" datacenter: "your-datacenter" # Optional cluster: "your-cluster" # Optional datastore: "your-datastore" # Optional network: "VM Network" # Optional insecure: true # Skip SSL certificate verification api_key: "your-api-key" # API access key log_file: "./logs/vmware_mcp.log" # Log file path log_level: "INFO" # Log level
  1. Run the server:

python server.py -c config.yaml

API Interface

Authentication

All privileged operations require authentication first:

POST /sse/messages Authorization: Bearer your-api-key

Main Tool Interfaces

  1. Create VM

{ "name": "vm-name", "cpu": 2, "memory": 4096, "datastore": "datastore-name", "network": "network-name" }
  1. Clone VM

{ "template_name": "source-vm", "new_name": "new-vm-name" }
  1. Delete VM

{ "name": "vm-name" }
  1. Power Operations

{ "name": "vm-name" }

Resource Monitoring Interface

Get VM performance data:

GET vmstats://{vm_name}

Configuration

Parameter

Description

Required

Default

vcenter_host

vCenter/ESXi server address

Yes

-

vcenter_user

Login username

Yes

-

vcenter_password

Login password

Yes

-

datacenter

Datacenter name

No

Auto-select first

cluster

Cluster name

No

Auto-select first

datastore

Storage name

No

Auto-select largest available

network

Network name

No

VM Network

insecure

Skip SSL verification

No

false

api_key

API access key

No

-

log_file

Log file path

No

Console output

log_level

Log level

No

INFO

Environment Variables

All configuration items support environment variable settings, following these naming rules:

  • VCENTER_HOST

  • VCENTER_USER

  • VCENTER_PASSWORD

  • VCENTER_DATACENTER

  • VCENTER_CLUSTER

  • VCENTER_DATASTORE

  • VCENTER_NETWORK

  • VCENTER_INSECURE

  • MCP_API_KEY

  • MCP_LOG_FILE

  • MCP_LOG_LEVEL

Security Recommendations

  1. Production Environment:

    • Use valid SSL certificates

    • Enable API key authentication

    • Set appropriate log levels

    • Restrict API access scope

  2. Testing Environment:

    • Set insecure: true to skip SSL verification

    • Use more detailed log level (DEBUG)

License

MIT License

Contributing

Issues and Pull Requests are welcome!

Changelog

v0.0.1

  • Initial release

  • Basic VM management functionality

  • SSE communication support

  • API key authentication

  • Performance monitoring

Author

Bright8192

Acknowledgments

  • VMware pyvmomi team

  • MCP Protocol development team

-
security - not tested
A
license - permissive license
-
quality - not tested

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    MCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.
    Last updated -
    2
    4
    MIT License
  • -
    security
    A
    license
    -
    quality
    MCP Server provides a simpler API to interact with the Model Context Protocol by allowing users to define custom tools and services to streamline workflows and processes.
    Last updated -
    17
    3
    MIT License
  • -
    security
    F
    license
    -
    quality
    A simple MCP server that allows accessing and executing shell commands on a VM machine through a web-based terminal interface, with automatic tunneling to make the VM accessible from anywhere.
    Last updated -
    245
    5
  • -
    security
    A
    license
    -
    quality
    An enhanced Python-based MCP server that enables complete VM lifecycle management and monitoring of Proxmox virtualization platforms through natural language, with 11 REST API endpoints for seamless integration.
    Last updated -
    26
    MIT License
    • Apple
    • Linux

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bright8192/esxi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server