虚拟机管理服务器

一个全面的VMware vSphere管理模型上下文协议(MCP)服务器,通过安全的Docker化环境为AI代理提供对虚拟基础设施操作的完全访问。

  • by giuliolibrando
  • Python
  • 本地部署
  • 24 星标
  • 更新于
在 GitHub 查看 giuliolibrando/vmware-vsphere-mcp-server

使用说明

vSphere MCP服务器

用于VMware vSphere管理的全面模型上下文协议(MCP)服务器,通过安全的Docker化环境为AI代理提供对虚拟基础设施操作的完全访问。

特性

核心VM管理

  • 列出虚拟机 -获取所有具有电源状态的虚拟机
  • VM详细信息 -关于特定虚拟机的详细信息
  • 动力操作 -启动、停止、重新启动虚拟机
  • 资源监控 -CPU、RAM和网络利用率
  • 存储信息 -磁盘使用情况和数据存储详细信息

高级操作

  • 快照管理 -创建、列出和删除VM快照
  • 模板管理 -列出和管理VM模板
  • 批量操作 -多个虚拟机上的电源操作
  • 资源修改 -更改CPU和内存分配
  • 网络管理 -端口组和网络配置

监控和报告

  • 性能监控 -实时资源利用率
  • 事件日志记录 -VM事件和系统日志
  • 报警管理 -主动报警和警报
  • 综合报告 -全环境分析
  • 资源利用率 -CPU、内存和存储摘要

安全特性

  • 确认系统 -所有破坏性操作都需要明确确认
  • 错误处理 -全面的错误消息和故障排除
  • 安全认证 -基于环境的凭证管理
  • 审计跟踪 -清除所有操作的日志记录

安装

先决条件

  • Docker和Docker Compose
  • 具有REST API访问权限的VMware vCenter服务器
  • 有效的vCenter凭据

快速开始

  1. 克隆仓库

  2. 配置环境

cp env.example .env
# Edit .env with your vCenter credentials
  1. 使用Docker进行部署
docker compose up -d

配置

环境变量

创建一个 .env 包含以下变量的文件:

# 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

任何LLM集成

将以下配置添加到您的 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
    }
  }
}

可用工具

虚拟机管理

工具 说明 参数
list_vms 列出所有虚拟机 hostname (可选)
get_vm_details 获取详细的VM信息 vm_id, hostname (可选)
power_on_vm 打开虚拟机电源 vm_id, hostname (可选)
power_off_vm 关闭虚拟机电源 vm_id, hostname (可选)
restart_vm 重新启动虚拟机 vm_id, hostname (可选)

基础设施管理

工具 说明 参数
list_hosts 列出所有ESXi主机 hostname (可选)
list_datastores 列出所有数据存储 hostname (可选)
list_networks 列出所有网络 hostname (可选)
list_datacenters 列出所有数据中心 hostname (可选)

监控和性能

工具 说明 参数
get_vm_performance_info 获取VM性能指标 hostname (可选)
get_host_performance_info 获取主机性能指标 hostname (可选)
get_vm_disk_usage 获取VM磁盘利用率 hostname (可选)
get_datastore_usage 获取数据存储利用率 hostname (可选)
get_vms_with_high_resource_usage 查找具有高资源分配的虚拟机 hostname (可选)

快照管理

工具 说明 参数
list_vm_snapshots 列出VM快照 vm_id, hostname (可选)
create_vm_snapshot 创建VM快照 vm_id, snapshot_name, description, hostname (可选)
delete_vm_snapshot 删除VM快照 vm_id, snapshot_id, confirm, hostname (可选)

模板管理

工具 说明 参数
list_templates 列出VM模板 hostname (可选)

高级监控

工具 说明 参数
get_vm_events 获取VM事件 vm_id, hostname (可选)
get_alarms 获取活动警报 hostname (可选)
get_port_groups 获取网络端口组 hostname (可选)

报告和分析

工具 说明 参数
generate_vm_report 生成全面的VM报告 hostname (可选)
get_resource_utilization_summary 获取资源利用率摘要 hostname (可选)

自动化

工具 说明 参数
bulk_power_operations 大功率操作 operation, vm_list, hostname (可选)
bulk_delete_vms 批量删除虚拟机 vm_list, confirm, hostname (可选)

破坏性操作(需要确认)

工具 说明 参数
delete_vm 删除虚拟机 vm_id, confirm, hostname (可选)
modify_vm_resources 修改VM资源 vm_id, cpu_count, memory_gb, confirm, hostname (可选)
force_power_off_vm 强制关闭VM电源 vm_id, confirm, hostname (可选)

破坏性操作需要通过设置进行明确确认 confirm=True

安全特性

确认系统

所有破坏性操作都需要明确确认:

# 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

基于环境的身份验证

  • 存储在环境变量中的凭据
  • 没有硬编码密码
  • 安全的Docker部署
  • SSL/TLS支持,可配置验证

使用示例

基本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"

监测和报告

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

快照管理

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

破坏性操作(已确认)

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