VMware vSphere MCP Server
Um servidor MCP que atua como uma interface padronizada, expondo funcionalidades do VMware vCenter como ferramentas diretamente consumíveis por modelos de IA.
GitHub
20
Experimente este MCPPatrocinadoDocumentação
vSphere MCP Server
Um servidor abrangente do Model Context Protocol (MCP) para gerenciamento do VMware vSphere, fornecendo a agentes de IA acesso completo às operações de infraestrutura virtual por meio de um ambiente seguro e conteinerizado com Docker.
Recursos
Gerenciamento Central de VMs
- Listar VMs - Obter todas as máquinas virtuais com estados de energia
- Detalhes da VM - Informações detalhadas sobre VMs específicas
- Operações de Energia - Iniciar, parar e reiniciar VMs
- Monitoramento de Recursos - Utilização de CPU, RAM e rede
- Informações de Armazenamento - Uso de disco e detalhes de datastores
Operações Avançadas
- Gerenciamento de Snapshots - Criar, listar e excluir snapshots de VMs
- Gerenciamento de Modelos - Listar e gerenciar modelos de VM
- Operações em Lote - Operações de energia em múltiplas VMs
- Modificação de Recursos - Alterar alocação de CPU e memória
- Gerenciamento de Rede - Grupos de portas e configuração de rede
Monitoramento e Relatórios
- Monitoramento de Desempenho - Utilização de recursos em tempo real
- Registro de Eventos - Eventos de VM e logs do sistema
- Gerenciamento de Alarmes - Alarmes e alertas ativos
- Relatórios Abrangentes - Análises em todo o ambiente
- Utilização de Recursos - Resumos de CPU, memória e armazenamento
Recursos de Segurança
- Sistema de Confirmação - Todas as operações destrutivas exigem confirmação explícita
- Tratamento de Erros - Mensagens de erro abrangentes e solução de problemas
- Autenticação Segura - Gerenciamento de credenciais baseado em ambiente
- Trilha de Auditoria - Registro claro de todas as operações
Instalação
Pré-requisitos
- Docker e Docker Compose
- VMware vCenter Server com acesso à API REST
- Credenciais válidas do vCenter
Início Rápido
-
Clonar repositório
-
Configurar o Ambiente
cp env.example .env
# Edit .env with your vCenter credentials
- Implantar com Docker
docker compose up -d
Configuração
Variáveis de Ambiente
Crie um arquivo .env com as seguintes variáveis:
# 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
Integração com AnythingLLM
Adicione a seguinte configuração ao seu 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
}
}
}
Ferramentas Disponíveis
Gerenciamento de VMs
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
list_vms | Listar todas as máquinas virtuais | hostname (opcional) |
get_vm_details | Obter informações detalhadas da VM | vm_id, hostname (opcional) |
power_on_vm | Ligar uma máquina virtual | vm_id, hostname (opcional) |
power_off_vm | Desligar uma máquina virtual | vm_id, hostname (opcional) |
restart_vm | Reiniciar uma máquina virtual | vm_id, hostname (opcional) |
Gerenciamento de Infraestrutura
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
list_hosts | Listar todos os hosts ESXi | hostname (opcional) |
list_datastores | Listar todos os datastores | hostname (opcional) |
list_networks | Listar todas as redes | hostname (opcional) |
list_datacenters | Listar todos os datacenters | hostname (opcional) |
Monitoramento e Desempenho
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
get_vm_performance_info | Obter métricas de desempenho da VM | hostname (opcional) |
get_host_performance_info | Obter métricas de desempenho do host | hostname (opcional) |
get_vm_disk_usage | Obter utilização de disco da VM | hostname (opcional) |
get_datastore_usage | Obter utilização do datastore | hostname (opcional) |
get_vms_with_high_resource_usage | Encontrar VMs com alta alocação de recursos | hostname (opcional) |
Gerenciamento de Snapshots
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
list_vm_snapshots | Listar snapshots da VM | vm_id, hostname (opcional) |
create_vm_snapshot | Criar snapshot da VM | vm_id, snapshot_name, description, hostname (opcional) |
delete_vm_snapshot | Excluir snapshot da VM | vm_id, snapshot_id, confirm, hostname (opcional) |
Gerenciamento de Modelos
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
list_templates | Listar modelos de VM | hostname (opcional) |
Monitoramento Avançado
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
get_vm_events | Obter eventos da VM | vm_id, hostname (opcional) |
get_alarms | Obter alarmes ativos | hostname (opcional) |
get_port_groups | Obter grupos de portas de rede | hostname (opcional) |
Relatórios e Análises
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
generate_vm_report | Gerar relatório abrangente de VMs | hostname (opcional) |
get_resource_utilization_summary | Obter resumo de utilização de recursos | hostname (opcional) |
Automação
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
bulk_power_operations | Operações de energia em lote | operation, vm_list, hostname (opcional) |
bulk_delete_vms | Exclusão em lote de VMs | vm_list, confirm, hostname (opcional) |
Operações Destrutivas (Exigem Confirmação)
| Ferramenta | Descrição | Parâmetros |
|---|---|---|
delete_vm | Excluir máquina virtual | vm_id, confirm, hostname (opcional) |
modify_vm_resources | Modificar recursos da VM | vm_id, cpu_count, memory_gb, confirm, hostname (opcional) |
force_power_off_vm | Forçar desligamento da VM | vm_id, confirm, hostname (opcional) |
Operações destrutivas exigem confirmação explícita definindo confirm=True
Recursos de Segurança
Sistema de Confirmação
Todas as operações destrutivas exigem confirmação 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
Autenticação Baseada em Ambiente
- Credenciais armazenadas em variáveis de ambiente
- Sem senhas codificadas
- Implantação segura com Docker
- Suporte a SSL/TLS com verificação configurável
Exemplos de Uso
Operações 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"
Monitoramento e Relatórios
# 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"
Gerenciamento de Snapshots
# 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"
Operações Destrutivas (com confirmação)
# 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"