# Vmware Esxi Mcp

> Professional Model Context Protocol (MCP) server for VMware ESXi hypervisor management. Enterprise-ready solution with secure interfaces for ESXi operations, VM lifecycle management, and infrastructure monitoring.

- **Type:** MCP server
- **Install:** `agentstack add mcp-uldyssian-sh-vmware-esxi-mcp`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [uldyssian-sh](https://agentstack.voostack.com/s/uldyssian-sh)
- **Installs:** 0
- **Category:** [Integrations](https://agentstack.voostack.com/c/integrations)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [uldyssian-sh](https://github.com/uldyssian-sh)
- **Source:** https://github.com/uldyssian-sh/vmware-esxi-mcp

## Install

```sh
agentstack add mcp-uldyssian-sh-vmware-esxi-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# VMware ESXi MCP Server

[](https://opensource.org/licenses/MIT)
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io/)
[](https://github.com/uldyssian-sh/vmware-esxi-mcp/security)

A professional Model Context Protocol (MCP) server implementation for VMware ESXi hypervisor management. This enterprise-ready solution provides secure, standardized interfaces for ESXi host operations, virtual machine lifecycle management, and infrastructure monitoring.

## Features

### Core ESXi Management
- **Host Operations**: Power management, maintenance mode, configuration
- **Virtual Machine Lifecycle**: Create, clone, migrate, snapshot management
- **Resource Monitoring**: CPU, memory, storage, network utilization
- **Security Management**: User permissions, SSL certificates, firewall rules
- **Storage Operations**: Datastore management, VMFS operations, NFS/iSCSI configuration

### MCP Integration
- **Standardized Protocol**: Full MCP specification compliance
- **Tool Discovery**: Dynamic capability advertisement
- **Resource Management**: Efficient connection pooling and caching
- **Error Handling**: Comprehensive error reporting and recovery
- **Authentication**: Secure credential management with token refresh

### Enterprise Features
- **High Availability**: Connection failover and retry mechanisms
- **Audit Logging**: Comprehensive operation tracking
- **Role-Based Access**: Granular permission controls
- **Performance Optimization**: Bulk operations and async processing
- **Exception Management**: Comprehensive error handling with custom exception classes
- **Monitoring Integration**: Prometheus metrics and health checks

## Quick Start

### Prerequisites
- Python 3.8 or higher
- VMware ESXi 6.7 or later
- Network connectivity to ESXi host
- Valid ESXi credentials with appropriate permissions

### Installation

```bash
# Clone the repository
git clone https://github.com/uldyssian-sh/vmware-esxi-mcp.git
cd vmware-esxi-mcp

# Install dependencies
pip install -r requirements.txt

# Configure environment
cp config.example.yaml config.yaml
# Edit config.yaml with your ESXi details
```

### Configuration

Create `config.yaml`:

```yaml
esxi:
  host: "esxi-host.example.com"
  username: "root"
  password: "${ESXI_PASSWORD}"
  port: 443
  ssl_verify: true
  timeout: 30

mcp:
  server_name: "vmware-esxi-mcp"
  version: "1.5.0"
  capabilities:
    - "vm_management"
    - "host_operations"
    - "resource_monitoring"

logging:
  level: "INFO"
  file: "esxi-mcp.log"
  max_size: "10MB"
  backup_count: 5

security:
  api_key: "${MCP_API_KEY}"
  rate_limit: 100
  session_timeout: 3600
```

### Usage

```bash
# Start the MCP server
python -m vmware_esxi_mcp --config config.yaml

# Or use environment variables
export ESXI_HOST="esxi-host.example.com"
export ESXI_USERNAME="root"
export ESXI_PASSWORD="your-password"
export MCP_API_KEY="your-api-key"

python -m vmware_esxi_mcp
```

## MCP Tools

### Virtual Machine Management

#### create_vm
Create a new virtual machine with specified configuration.

```json
{
  "name": "create_vm",
  "description": "Create a new virtual machine",
  "inputSchema": {
    "type": "object",
    "properties": {
      "vm_name": {"type": "string"},
      "cpu_count": {"type": "integer", "minimum": 1},
      "memory_mb": {"type": "integer", "minimum": 512},
      "disk_size_gb": {"type": "integer", "minimum": 1},
      "network": {"type": "string"},
      "guest_os": {"type": "string"}
    },
    "required": ["vm_name", "cpu_count", "memory_mb", "disk_size_gb"]
  }
}
```

#### power_vm
Control virtual machine power state.

```json
{
  "name": "power_vm",
  "description": "Control VM power state",
  "inputSchema": {
    "type": "object",
    "properties": {
      "vm_name": {"type": "string"},
      "action": {"type": "string", "enum": ["on", "off", "reset", "suspend"]}
    },
    "required": ["vm_name", "action"]
  }
}
```

### Host Management

#### get_host_info
Retrieve comprehensive ESXi host information.

```json
{
  "name": "get_host_info",
  "description": "Get ESXi host system information",
  "inputSchema": {
    "type": "object",
    "properties": {
      "include_hardware": {"type": "boolean", "default": true},
      "include_network": {"type": "boolean", "default": true},
      "include_storage": {"type": "boolean", "default": true}
    }
  }
}
```

#### maintenance_mode
Manage host maintenance mode operations.

```json
{
  "name": "maintenance_mode",
  "description": "Enter or exit maintenance mode",
  "inputSchema": {
    "type": "object",
    "properties": {
      "action": {"type": "string", "enum": ["enter", "exit"]},
      "evacuate_vms": {"type": "boolean", "default": true},
      "timeout": {"type": "integer", "default": 300}
    },
    "required": ["action"]
  }
}
```

## Architecture

### Component Overview
```
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   MCP Client    │────│  ESXi MCP       │────│   VMware ESXi   │
│   Application   │    │  Server         │    │   Host          │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                              │
                       ┌─────────────────┐
                       │   Configuration │
                       │   & Logging     │
                       └─────────────────┘
```

### Security Architecture
- **Authentication**: Multi-factor authentication support
- **Authorization**: Role-based access control (RBAC)
- **Encryption**: TLS 1.3 for all communications
- **Audit Trail**: Comprehensive logging of all operations
- **Input Validation**: Strict parameter validation and sanitization

## Development

### Project Structure
```
vmware-esxi-mcp/
├── src/
│   ├── vmware_esxi_mcp/
│   │   ├── __init__.py
│   │   ├── server.py
│   │   ├── tools/
│   │   ├── auth/
│   │   └── utils/
├── tests/
├── docs/
├── examples/
├── requirements.txt
└── setup.py
```

### Testing

```bash
# Run unit tests
python -m pytest tests/

# Run integration tests
python -m pytest tests/integration/ --esxi-host=test-host

# Run security tests
python -m pytest tests/security/
```

### Contributing

1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## Security Considerations

### Production Deployment
- Use strong, unique passwords for ESXi accounts
- Enable certificate verification in production
- Implement proper network segmentation
- Regular security updates and patches
- Monitor and audit all operations

### Best Practices
- Rotate credentials regularly
- Use least-privilege access principles
- Enable comprehensive logging
- Implement proper backup strategies
- Test disaster recovery procedures

## Troubleshooting

### Common Issues

**Connection Timeout**
```bash
# Check network connectivity
ping esxi-host.example.com

# Verify ESXi SSH/API access
curl -k https://esxi-host.example.com/sdk
```

**Authentication Failures**
- Verify credentials in configuration
- Check ESXi user permissions
- Ensure account is not locked

**SSL Certificate Issues**
- Update ESXi SSL certificates
- Configure proper certificate validation
- Check certificate expiration dates

## Performance Tuning

### Optimization Guidelines
- Use connection pooling for multiple operations
- Implement proper caching strategies
- Optimize batch operations
- Monitor resource utilization
- Configure appropriate timeouts

### Monitoring Metrics
- API response times
- Connection pool utilization
- Error rates and types
- Resource consumption
- Operation success rates

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Contributors

- **uldyssian-sh LT** - *Initial work and maintenance*
- **dependabot[bot]** - *Dependency updates*
- **actions-user** - *Automated workflows*

## References

- [VMware vSphere API Documentation](https://developer.vmware.com/apis/vsphere-automation/)
- [Model Context Protocol Specification](https://modelcontextprotocol.io/)
- [VMware ESXi Security Guide](https://docs.vmware.com/en/VMware-vSphere/index.html)
- [Python VMware Libraries](https://github.com/vmware/pyvmomi)

## Support

For support and questions:
- Create an issue in this repository
- Check the [documentation](docs/)
- Review [troubleshooting guide](docs/troubleshooting.md)

---

**Maintained by: uldyssian-sh**

**Disclaimer: Use of this code is at your own risk. Author bears no responsibility for any damages caused by the code.**

⭐ Star this repository if you find it helpful!

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [uldyssian-sh](https://github.com/uldyssian-sh)
- **Source:** [uldyssian-sh/vmware-esxi-mcp](https://github.com/uldyssian-sh/vmware-esxi-mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-uldyssian-sh-vmware-esxi-mcp
- Seller: https://agentstack.voostack.com/s/uldyssian-sh
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
