使用说明
vCenter MCP服务器
Spring Boot MCP服务器,将VMware vCenter操作作为AI助手的工具公开。通过vAPI连接;支持资源清册、VM详细信息和VM电源/迁移(具有写权限)。
特性
- vCenter vAPI –基于会话的身份验证,VMware SDK风格的服务
- MCP工具 –集群、资源池、虚拟机、数据中心、主机、数据存储、版本;VM电源和迁移
- Cloud Foundry –使用服务绑定进行部署;可选的 坦祖市场 出版
MCP工具
| 类别 | 工具 |
|---|---|
| 库存 | getClusters, getResourcePoolsInCluster, getVMsInCluster, getVMsInResourcePool, listAllVirtualMachines |
| VM详细信息 | getVMResourceSummary, getVMLocationDetails, getVMResourcePool, getHostVersion |
| 扩展的 | listDataCenters, getVCenterVersion, listDataStoresWithCapacity, listClusterResources, listHosts |
| 电力/迁移 | powerOnVM, powerOffVM, resetVM, restartVM, shutdownVM, migrateVM (需要vCenter写入) |
所有工具都接受友好名称(例如VM名称);如果适用,将返回重复名称警告。
配置
- 环境变量:
VCENTER_HOST,VCENTER_PORT,VCENTER_USERNAME,VCENTER_PASSWORD,VCENTER_INSECURE - CF(中文翻译:穿越火线):使用用户提供的带密钥的服务
host,port,username,password,insecure(参见 部署). - 优先级:VCAP_SERVICES(来自绑定)覆盖env和
application.properties.
部署
如何运行应用程序(本地或Cloud Foundry)。有关向Tanzu市场发布的信息,请参阅 市场.
本地
export VCENTER_HOST=vcenter.example.com VCENTER_USERNAME=user VCENTER_PASSWORD=pass # etc.
mvn spring-boot:run
Cloud Foundry
应用程序部署于 没有公共路线 和一个 私人路线 上 apps.internal 因此,它只能在内部网络上访问。
-
目标
cf api https://api.<system-domain>→cf login→cf target -o <org> -s <space> -
vCenter凭据(用户提供的服务)
cf create-user-provided-service vcenter-service \ -p '{"host":"<host>","port":443,"username":"<user>","password":"<password>","insecure":true}' -
构建和推送(无公共路线)
mvn clean package -DskipTests cf push -f manifest.yml --no-route -
私人路线 (这样其他应用程序就可以在内部网络上访问它)
cf map-route vcenter-mcp-server apps.internal --hostname vcenter-mcp-server -
重新启动并验证
cf restage vcenter-mcp-server cf app vcenter-mcp-server && cf logs vcenter-mcp-server --recent
应用程序可在以下网址访问 vcenter-mcp-server.apps.internal;没有公共URL。
市场(Tanzu平台10.3)
如何 发布 将部署的应用程序作为市场产品, 消耗 它,以及 更新 上市。要求应用程序 部署 第一种(专用网络,没有公共路由)。
发布产品
- 来自回购(with
service.yml目前):cf publish-service vcenter-mcp-server -f service.yml - 启用访问:
cf enable-service-access vcenter-mcp-service -p standard - 确认:你应该看看 vcenter mcp服务 (显示名称:vCenter AI Tools)和 标准 计划。
cf marketplace
使用该服务
cf create-service vcenter-mcp-service standard my-vcenter-mcp
cf bind-service <app-name> my-vcenter-mcp
cf restage <app-name>
绑定的应用程序获取连接详细信息(例如 VCAP_SERVICES)并且可以通过专用网络使用vCenter MCP工具。
更新列表
- 更改描述/计划/元数据:编辑
service.yml,然后运行
cf publish-service vcenter-mcp-server -f service.yml再次(和cf enable-service-access如果需要)。 - 重新部署应用程序 (新建):关注 部署 (构建、推送
--no-route,绘制路线图,重新开始),然后运行cf publish-service vcenter-mcp-server -f service.yml如果你的平台需要的话。
建筑(简洁)
- VC企业配置 / VCenterConfigProcessor –
vcenter.*属性和VCAP_SERVICES绑定。 - Vapi客户端 –vAPI会话、WebClient、服务外观(集群、资源池、虚拟机、数据中心、主机、数据存储、设备)。
- VC企业服务 –MCP
@Tool方法; name→ID解析和重复名称警告。 - 端点:
/api/session,/api/vcenter/{cluster|resource-pool|vm|datacenter|host|datastore},/api/appliance/system/version.
安全
- 通过env或CF用户提供的服务绑定获得凭据。
- SSL:
VCENTER_INSECUREfor dev(跳过验证)。 - VM电源和迁移需要vCenter写入权限。
发展
mvn clean package
mvn test
mvn spring-boot:run
故障排除
- SSL错误 –设置
VCENTER_INSECURE=true对于dev。 - 身份验证/连接 –检查绑定或环境中的vCenter主机、端口和凭据。
- 日志 –
cf logs vcenter-mcp-server --recent(vAPI调用、配置、会话)。