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.

Documentaçã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

  1. Clonar repositório

  2. Configurar o Ambiente

cp env.example .env
# Edit .env with your vCenter credentials
  1. 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

FerramentaDescriçãoParâmetros
list_vmsListar todas as máquinas virtuaishostname (opcional)
get_vm_detailsObter informações detalhadas da VMvm_id, hostname (opcional)
power_on_vmLigar uma máquina virtualvm_id, hostname (opcional)
power_off_vmDesligar uma máquina virtualvm_id, hostname (opcional)
restart_vmReiniciar uma máquina virtualvm_id, hostname (opcional)

Gerenciamento de Infraestrutura

FerramentaDescriçãoParâmetros
list_hostsListar todos os hosts ESXihostname (opcional)
list_datastoresListar todos os datastoreshostname (opcional)
list_networksListar todas as redeshostname (opcional)
list_datacentersListar todos os datacentershostname (opcional)

Monitoramento e Desempenho

FerramentaDescriçãoParâmetros
get_vm_performance_infoObter métricas de desempenho da VMhostname (opcional)
get_host_performance_infoObter métricas de desempenho do hosthostname (opcional)
get_vm_disk_usageObter utilização de disco da VMhostname (opcional)
get_datastore_usageObter utilização do datastorehostname (opcional)
get_vms_with_high_resource_usageEncontrar VMs com alta alocação de recursoshostname (opcional)

Gerenciamento de Snapshots

FerramentaDescriçãoParâmetros
list_vm_snapshotsListar snapshots da VMvm_id, hostname (opcional)
create_vm_snapshotCriar snapshot da VMvm_id, snapshot_name, description, hostname (opcional)
delete_vm_snapshotExcluir snapshot da VMvm_id, snapshot_id, confirm, hostname (opcional)

Gerenciamento de Modelos

FerramentaDescriçãoParâmetros
list_templatesListar modelos de VMhostname (opcional)

Monitoramento Avançado

FerramentaDescriçãoParâmetros
get_vm_eventsObter eventos da VMvm_id, hostname (opcional)
get_alarmsObter alarmes ativoshostname (opcional)
get_port_groupsObter grupos de portas de redehostname (opcional)

Relatórios e Análises

FerramentaDescriçãoParâmetros
generate_vm_reportGerar relatório abrangente de VMshostname (opcional)
get_resource_utilization_summaryObter resumo de utilização de recursoshostname (opcional)

Automação

FerramentaDescriçãoParâmetros
bulk_power_operationsOperações de energia em loteoperation, vm_list, hostname (opcional)
bulk_delete_vmsExclusão em lote de VMsvm_list, confirm, hostname (opcional)

Operações Destrutivas (Exigem Confirmação)

FerramentaDescriçãoParâmetros
delete_vmExcluir máquina virtualvm_id, confirm, hostname (opcional)
modify_vm_resourcesModificar recursos da VMvm_id, cpu_count, memory_gb, confirm, hostname (opcional)
force_power_off_vmForçar desligamento da VMvm_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"