neronain
MCP Server
neronain
public

esxi mcp server

基于 MCP 协议的 VMware ESXi/vCenter 管理服务器,提供虚拟机管理的 REST API 接口。

Repository Info

0
Stars
0
Forks
0
Watchers
0
Issues
Python
Language
MIT License
License

About This Server

基于 MCP 协议的 VMware ESXi/vCenter 管理服务器,提供虚拟机管理的 REST API 接口。

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

# 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:

```bash
pip install pyvmomi pyyaml uvicorn mcp-core
```

2. Create configuration file `config.yaml`:

```yaml
vcenter_host: "your-vcenter-ip"
vcenter_user: "[email protected]"
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
```

3. Run the server:

```bash
python server.py -c config.yaml
```

## API Interface

### Authentication

All privileged operations require authentication first:

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

### Main Tool Interfaces

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

2. Clone VM
```json
{
    "template_name": "source-vm",
    "new_name": "new-vm-name"
}
```

3. Delete VM
```json
{
    "name": "vm-name"
}
```

4. Power Operations
```json
{
    "name": "vm-name"
}
```

### Resource Monitoring Interface

Get VM performance data:
```http
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

Quick Start

1

Clone the repository

git clone https://github.com/neronain/esxi-mcp-server
2

Install dependencies

cd esxi-mcp-server
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownerneronain
Repoesxi-mcp-server
Language
Python
LicenseMIT License
Last fetched8/8/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation