VMware vSphere MCP Server
Un servidor MCP que actúa como una interfaz estandarizada que expone las funcionalidades de VMware vCenter como herramientas directamente consumibles por modelos de IA.
GitHub
20
Prueba este MCPPatrocinadoDocumentación
vSphere MCP Server
Un servidor integral del Protocolo de Contexto de Modelo (MCP) para la gestión de VMware vSphere, que proporciona a los agentes de IA acceso completo a las operaciones de infraestructura virtual a través de un entorno seguro y dockerizado.
Características
Gestión Principal de VM
- Listar VMs - Obtener todas las máquinas virtuales con estados de energía
- Detalles de VM - Información detallada sobre VMs específicas
- Operaciones de encendido - Iniciar, detener, reiniciar VMs
- Monitoreo de recursos - Utilización de CPU, RAM y red
- Información de almacenamiento - Uso de disco y detalles de datastores
Operaciones Avanzadas
- Gestión de instantáneas - Crear, listar y eliminar instantáneas de VM
- Gestión de plantillas - Listar y gestionar plantillas de VM
- Operaciones masivas - Operaciones de encendido en múltiples VMs
- Modificación de recursos - Cambiar la asignación de CPU y memoria
- Gestión de red - Grupos de puertos y configuración de red
Monitoreo y Reportes
- Monitoreo de rendimiento - Utilización de recursos en tiempo real
- Registro de eventos - Eventos de VM y registros del sistema
- Gestión de alarmas - Alarmas y alertas activas
- Reportes completos - Análisis de todo el entorno
- Utilización de recursos - Resúmenes de CPU, memoria y almacenamiento
Características de Seguridad
- Sistema de confirmación - Todas las operaciones destructivas requieren confirmación explícita
- Manejo de errores - Mensajes de error completos y solución de problemas
- Autenticación segura - Gestión de credenciales basada en el entorno
- Pista de auditoría - Registro claro de todas las operaciones
Instalación
Requisitos previos
- Docker y Docker Compose
- VMware vCenter Server con acceso a la API REST
- Credenciales válidas de vCenter
Inicio rápido
-
Clonar repositorio
-
Configurar el entorno
cp env.example .env
# Edit .env with your vCenter credentials
- Desplegar con Docker
docker compose up -d
Configuración
Variables de entorno
Cree un archivo .env con las siguientes variables:
# vCenter Connection
VCENTER_HOST=vcenter.domain.local
VCENTER_USER=username@domain.local
VCENTER_PASSWORD=your_password_here
INSECURE=True
# Server Configuration
SERVER_HOST=0.0.0.0
SERVER_PORT=8000
Integración con AnythingLLM
Agregue la siguiente configuración a su anythingllm_mcp_servers.json:
{
"mcpServers": {
"vsphere-mcp-server": {
"name": "vSphere MCP Server",
"type": "streamable",
"url": "http://vsphere-mcp-server:8000/mcp",
"auth_token": null,
"enabled": true
}
}
}
Herramientas Disponibles
Gestión de VM
| Herramienta | Descripción | Parámetros |
|---|---|---|
list_vms | Listar todas las máquinas virtuales | hostname (opcional) |
get_vm_details | Obtener información detallada de la VM | vm_id, hostname (opcional) |
power_on_vm | Encender una máquina virtual | vm_id, hostname (opcional) |
power_off_vm | Apagar una máquina virtual | vm_id, hostname (opcional) |
restart_vm | Reiniciar una máquina virtual | vm_id, hostname (opcional) |
Gestión de Infraestructura
| Herramienta | Descripción | Parámetros |
|---|---|---|
list_hosts | Listar todos los hosts ESXi | hostname (opcional) |
list_datastores | Listar todos los datastores | hostname (opcional) |
list_networks | Listar todas las redes | hostname (opcional) |
list_datacenters | Listar todos los centros de datos | hostname (opcional) |
Monitoreo y Rendimiento
| Herramienta | Descripción | Parámetros |
|---|---|---|
get_vm_performance_info | Obtener métricas de rendimiento de VM | hostname (opcional) |
get_host_performance_info | Obtener métricas de rendimiento del host | hostname (opcional) |
get_vm_disk_usage | Obtener utilización de disco de VM | hostname (opcional) |
get_datastore_usage | Obtener utilización de datastore | hostname (opcional) |
get_vms_with_high_resource_usage | Encontrar VMs con alta asignación de recursos | hostname (opcional) |
Gestión de Instantáneas
| Herramienta | Descripción | Parámetros |
|---|---|---|
list_vm_snapshots | Listar instantáneas de VM | vm_id, hostname (opcional) |
create_vm_snapshot | Crear instantánea de VM | vm_id, snapshot_name, description, hostname (opcional) |
delete_vm_snapshot | Eliminar instantánea de VM | vm_id, snapshot_id, confirm, hostname (opcional) |
Gestión de Plantillas
| Herramienta | Descripción | Parámetros |
|---|---|---|
list_templates | Listar plantillas de VM | hostname (opcional) |
Monitoreo Avanzado
| Herramienta | Descripción | Parámetros |
|---|---|---|
get_vm_events | Obtener eventos de VM | vm_id, hostname (opcional) |
get_alarms | Obtener alarmas activas | hostname (opcional) |
get_port_groups | Obtener grupos de puertos de red | hostname (opcional) |
Reportes y Análisis
| Herramienta | Descripción | Parámetros |
|---|---|---|
generate_vm_report | Generar informe completo de VM | hostname (opcional) |
get_resource_utilization_summary | Obtener resumen de utilización de recursos | hostname (opcional) |
Automatización
| Herramienta | Descripción | Parámetros |
|---|---|---|
bulk_power_operations | Operaciones de encendido masivas | operation, vm_list, hostname (opcional) |
bulk_delete_vms | Eliminación masiva de VMs | vm_list, confirm, hostname (opcional) |
Operaciones Destructivas (Requieren Confirmación)
| Herramienta | Descripción | Parámetros |
|---|---|---|
delete_vm | Eliminar máquina virtual | vm_id, confirm, hostname (opcional) |
modify_vm_resources | Modificar recursos de VM | vm_id, cpu_count, memory_gb, confirm, hostname (opcional) |
force_power_off_vm | Forzar apagado de VM | vm_id, confirm, hostname (opcional) |
Las operaciones destructivas requieren confirmación explícita estableciendo confirm=True
Características de Seguridad
Sistema de Confirmación
Todas las operaciones destructivas requieren confirmación explícita:
# First call - shows warning
delete_vm(vm_id="MyServer", confirm=False)
# Returns: DESTRUCTIVE OPERATION: Delete VM MyServer...
# Second call - executes operation
delete_vm(vm_id="MyServer", confirm=True)
# Returns: VM MyServer deleted successfully
Autenticación Basada en el Entorno
- Credenciales almacenadas en variables de entorno
- Sin contraseñas codificadas
- Despliegue seguro de Docker
- Soporte SSL/TLS con verificación configurable
Ejemplos de Uso
Operaciones Básicas de VM
# List all VMs
"Show me all virtual machines"
# Get VM details
"Get details for VM WebServer01"
# Power operations
"Power on the VM DatabaseServer"
"Restart all VMs: WebServer01, WebServer02, WebServer03"
Monitoreo y Reportes
# Performance monitoring
"Show me CPU and memory usage for all VMs"
"Which VMs have high resource usage?"
# Storage monitoring
"Show me datastore usage"
"Which VMs have disk usage over 90%?"
# Comprehensive reporting
"Generate a complete report of the vSphere environment"
"Show me resource utilization summary"
Gestión de Instantáneas
# Create snapshots
"Create a snapshot of VM WebServer01 before updates"
# List snapshots
"Show me all snapshots for VM DatabaseServer"
# Delete snapshots (requires confirmation)
"Delete snapshot 'backup-2024-01-15' from VM WebServer01"
Operaciones Destructivas (con confirmación)
# VM deletion (requires confirmation)
"Delete VM TestServer" # Shows warning
"Delete VM TestServer with confirmation" # Executes deletion
# Resource modification (requires confirmation)
"Modify VM WebServer01 to have 8 CPUs and 16GB RAM"
"Modify VM WebServer01 to have 8 CPUs and 16GB RAM with confirmation"
# Bulk operations (requires confirmation)
"Delete VMs: OldServer1, OldServer2, OldServer3"
"Delete VMs: OldServer1, OldServer2, OldServer3 with confirmation"