VMware Pilot
Multi-step workflow orchestration for VMware MCP skills — design, approve, execute, rollback.
Companion Skills: vmware-aiops (VM operations) | vmware-monitor (monitoring) | vmware-nsx (networking) | vmware-aria (metrics/alerts) | vmware-avi (load balancing/AKO)
What This Skill Does
| Capability | Description |
|---|
| Workflow Design | Natural language goal → AI designs steps from 8 skills' 185 tools |
| Approval Gates |
Pause execution for human review before destructive operations |
| State Persistence | SQLite-backed, survives restarts, supports resume from checkpoint |
| Rollback | Reverse completed steps in order if workflow fails |
| Custom Templates | Save workflows as YAML for reuse, hot-reload without restart |
| Compliance Scans | Read-only health/capacity/anomaly checks across skills |
Quick Install
CODEBLOCK0
When to Use This Skill
| Scenario | Use Pilot? | Why |
|---|
| "Clone VM, test, then apply to prod" | Yes | Multi-step + approval |
| "Power on a VM" |
No, use aiops | Single operation |
| "Set up app network + firewall + VMs" | Yes | Cross-skill orchestration |
| "Check cluster health" | No, use monitor/aria | Single read-only query |
| "Diagnose and fix an alert" | Yes | incident_response template |
| "Run compliance check" | Yes | compliance_scan template |
| "Drain server, patch, restore traffic" | Yes | Cross-skill: avi drain + aiops patch |
| "Deploy app with AKO ingress" | Yes | Cross-skill: aiops + vks + avi |
| "Check pool member health" | No, use avi | Single read-only query |
Related Skills — Skill Routing
| User Intent | Recommended Skill |
|---|
| VM lifecycle (power, clone, deploy) | vmware-aiops (uv tool install vmware-aiops) |
| Read-only monitoring |
vmware-monitor (
uv tool install vmware-monitor) |
| NSX networking (segments, gateways, NAT) |
vmware-nsx (
uv tool install vmware-nsx-mgmt) |
| NSX security (DFW, groups) |
vmware-nsx-security (
uv tool install vmware-nsx-security) |
| Aria metrics/alerts/capacity |
vmware-aria (
uv tool install vmware-aria) |
| Tanzu Kubernetes (Supervisor/TKC) |
vmware-vks (
uv tool install vmware-vks) |
| Storage (iSCSI, vSAN, datastores) |
vmware-storage (
uv tool install vmware-storage) |
| Load balancing, VS, pool, AKO |
vmware-avi (
uv tool install vmware-avi) |
| Audit log query |
vmware-policy (
vmware-audit CLI) |
|
Multi-step orchestration |
vmware-pilot (this skill) |
Common Workflows
1. Design a Custom Workflow (Interactive)
CODEBLOCK1
2. Clone-and-Test (Built-in Template)
CODEBLOCK2
3. Batch Operations with Approval
CODEBLOCK3
4. Rolling Maintenance with AVI Drain
Drain traffic from a pool member via AVI, patch the server, then restore traffic:
CODEBLOCK4
5. AKO-Aware Application Deployment
Deploy a backend VM, create a K8s namespace, and wire up AKO Ingress to the AVI Controller:
CODEBLOCK5
MCP Tools (11)
| Category | Tool | Risk | Description |
|---|
| Discovery | INLINECODE9 | low | Available skills and tools for design |
|
list_workflows | low | Built-in + custom templates |
|
Design |
design_workflow | low | Natural language → draft |
| |
update_draft | medium | Edit draft steps |
| |
confirm_draft | medium | Finalize draft → ready to execute |
|
Execute |
plan_workflow | medium | Create from template |
| |
create_workflow | medium | One-step custom creation |
| |
run_workflow | medium | Execute (pauses at approval) |
|
Control |
approve | high | Human approval to continue |
| |
rollback | high | Reverse completed steps |
| |
get_workflow_status | low | State + audit log |
Built-in Templates (4)
| Template | Steps | Approval | Skills Used |
|---|
| INLINECODE20 | 6 | Yes | aiops + monitor |
| INLINECODE21 |
4 | Yes | monitor + aiops |
|
plan_and_approve | 3 | Yes | aiops |
|
compliance_scan | 3 | No | monitor + aria |
Custom Templates
Drop YAML files in ~/.vmware/workflows/ — pilot auto-loads them.
CODEBLOCK6
Usage Mode
| Scenario | Recommended | Why |
|---|
| Local/small models (Ollama, Qwen) | MCP | Structured JSON I/O for multi-step state |
| Cloud models (Claude, GPT-4o) |
MCP | Design mode needs structured tool calls |
| CI/CD pipeline orchestration |
MCP | Programmatic plan/approve/run cycle |
| Quick template listing |
CLI |
vmware-pilot-mcp is MCP-only; use MCP client |
Note: vmware-pilot is MCP-only (no standalone CLI). All interactions go through MCP tool calls.
Other skills in the family (aiops, monitor, avi, etc.) offer both CLI and MCP modes.
CLI Quick Reference
vmware-pilot is an MCP-only server (no standalone CLI binary). Interact via MCP tool calls:
CODEBLOCK7
Full CLI reference for companion skills: see INLINECODE26
Troubleshooting
Workflow stuck in "awaiting_approval"
Call
approve(workflow_id) with the correct workflow ID to continue, or
rollback(workflow_id) to abort. If the MCP session was lost, reconnect and call
get_workflow_status(workflow_id) to see the current state -- workflows persist in SQLite and survive restarts.
"Unknown workflow type" error from plan_workflow
The template name is case-sensitive. Use
list_workflows() to see all available built-in and custom template names. Custom templates must be valid YAML in
~/.vmware/workflows/.
Custom YAML template not appearing
- 1. Verify the file is in
~/.vmware/workflows/ with a .yaml extension - Check YAML syntax -- run
python3 scripts/validate_workflow.py <path> to validate - Template names must be unique -- a custom template cannot shadow a built-in name
Rollback fails on some steps
Not all steps are reversible. Steps without
rollback_tool defined are skipped during rollback. Pilot uses best-effort rollback: if one rollback step fails, it continues with remaining steps and reports which succeeded and which failed.
"Workflow cannot be run" state error
A workflow can only be run from
pending or
running states. If it is in
draft, call
confirm_draft() first. If it is in
completed or
failed, create a new workflow -- completed workflows cannot be re-run.
vmware-policy dependency missing
Pilot requires
vmware-policy for the
@vmware_tool decorator and audit logging. It is declared as a dependency in
pyproject.toml and should install automatically. If missing, run
pip install vmware-policy or reinstall pilot.
Setup
No vCenter credentials needed — pilot orchestrates other skills that handle connections.
CODEBLOCK8
Audit & Safety
All operations are automatically audited via vmware-policy (@vmware_tool decorator):
- - Every tool call logged to
~/.vmware/audit.db (SQLite, framework-agnostic) - Policy rules enforced via
~/.vmware/rules.yaml (deny rules, maintenance windows, risk levels) - Risk classification: each tool tagged as low/medium/high/critical
- View recent operations: INLINECODE49
- View denied operations: INLINECODE50
vmware-policy is automatically installed as a dependency — no manual setup needed.
License
MIT
VMware Pilot
为 VMware MCP 技能提供多步骤工作流编排——设计、审批、执行、回滚。
配套技能:vmware-aiops(VM 操作)| vmware-monitor(监控)| vmware-nsx(网络)| vmware-aria(指标/告警)| vmware-avi(负载均衡/AKO)
此技能的功能
| 能力 | 描述 |
|---|
| 工作流设计 | 自然语言目标 → AI 从 8 个技能的 185 个工具中设计步骤 |
| 审批关卡 |
在破坏性操作前暂停执行,等待人工审核 |
| 状态持久化 | 基于 SQLite,重启后仍可恢复,支持从检查点继续执行 |
| 回滚 | 工作流失败时按顺序逆向已完成步骤 |
| 自定义模板 | 将工作流保存为 YAML 以便复用,无需重启即可热加载 |
| 合规扫描 | 跨技能执行只读的健康/容量/异常检查 |
快速安装
bash
pip install vmware-pilot
或
uvx --from vmware-pilot vmware-pilot-mcp
何时使用此技能
| 场景 | 使用 Pilot? | 原因 |
|---|
| 克隆 VM,测试,然后应用到生产环境 | 是 | 多步骤 + 审批 |
| 启动一个 VM |
否,使用 aiops | 单次操作 |
| 设置应用网络 + 防火墙 + VM | 是 | 跨技能编排 |
| 检查集群健康状态 | 否,使用 monitor/aria | 单次只读查询 |
| 诊断并修复告警 | 是 | incident_response 模板 |
| 运行合规检查 | 是 | compliance_scan 模板 |
| 排空服务器,打补丁,恢复流量 | 是 | 跨技能:avi drain + aiops patch |
| 使用 AKO Ingress 部署应用 | 是 | 跨技能:aiops + vks + avi |
| 检查池成员健康状态 | 否,使用 avi | 单次只读查询 |
相关技能 — 技能路由
| 用户意图 | 推荐技能 |
|---|
| VM 生命周期(电源、克隆、部署) | vmware-aiops(uv tool install vmware-aiops) |
| 只读监控 |
vmware-monitor(uv tool install vmware-monitor) |
| NSX 网络(分段、网关、NAT) |
vmware-nsx(uv tool install vmware-nsx-mgmt) |
| NSX 安全(DFW、组) |
vmware-nsx-security(uv tool install vmware-nsx-security) |
| Aria 指标/告警/容量 |
vmware-aria(uv tool install vmware-aria) |
| Tanzu Kubernetes(Supervisor/TKC) |
vmware-vks(uv tool install vmware-vks) |
| 存储(iSCSI、vSAN、数据存储) |
vmware-storage(uv tool install vmware-storage) |
| 负载均衡、VS、池、AKO |
vmware-avi(uv tool install vmware-avi) |
| 审计日志查询 |
vmware-policy(vmware-audit CLI) |
|
多步骤编排 |
vmware-pilot(此技能) |
常见工作流
1. 设计自定义工作流(交互式)
用户:我需要为新的应用环境设置网络和 VM
AI 调用:getskillcatalog() → 查看可用工具
AI 调用:design_workflow(goal=...) → 创建草稿
AI 调用:update_draft(id, steps=[...]) → 填充步骤
用户审核并确认
AI 调用:confirmdraft(id, saveas_template=True)
AI 调用:run_workflow(id) → 执行,包含审批关卡
2. 克隆并测试(内置模板)
AI 调用:planworkflow(cloneand_test, {
target_vm: db01,
changespec: {memorymb: 32768},
target: vcenter-prod
})
AI 调用:runworkflow(workflowid)
→ 克隆 → 应用 → 监控 → [审批关卡] → 提交 → 清理
3. 带审批的批量操作
AI 调用:planworkflow(planand_approve, {
operations: [
{action: poweroff, vmname: db01},
{action: revertsnapshot, vmname: db01, snapshot_name: baseline},
{action: poweron, vmname: db01}
]
})
→ 创建计划 → [审批关卡] → 执行计划(失败时自动回滚)
4. 使用 AVI 排空的滚动维护
通过 AVI 排空池成员的流量,修补服务器,然后恢复流量:
- 1. vmware-avi pool disable # 排空池成员流量
- vmware-avi analytics # 验证排空完成(0 个活跃连接)
- vmware-aiops vm guest-exec --cmd apt-get upgrade -y # 修补服务器
- vmware-avi pool enable # 恢复池成员流量
- vmware-avi pool members # 验证健康状态为绿色
5. AKO 感知的应用部署
部署后端 VM,创建 K8s 命名空间,并将 AKO Ingress 连接到 AVI Controller:
- 1. vmware-aiops deploy ova --name # 部署后端 VM
- vmware-vks namespace create # 创建 K8s 命名空间
- kubectl apply -f ingress.yaml # 创建带有 AKO 注解的 Ingress
- vmware-avi ako ingress check # 验证 AKO 注解是否正确
- vmware-avi ako sync status # 验证 AVI Controller 上已创建 VS
MCP 工具(11 个)
| 类别 | 工具 | 风险 | 描述 |
|---|
| 发现 | getskillcatalog | 低 | 可用于设计的技能和工具 |
|
list_workflows | 低 | 内置 + 自定义模板 |
|
设计 | design_workflow | 低 | 自然语言 → 草稿 |
| | update_draft | 中 | 编辑草稿步骤 |
| | confirm_draft | 中 | 最终确定草稿 → 准备执行 |
|
执行 | plan_workflow | 中 | 从模板创建 |
| | create_workflow | 中 | 一步式自定义创建 |
| | run_workflow | 中 | 执行(在审批处暂停) |
|
控制 | approve | 高 | 人工审批以继续 |
| | rollback | 高 | 逆向已完成步骤 |
| | get
workflowstatus | 低 | 状态 + 审计日志 |
内置模板(4 个)
| 模板 | 步骤数 | 审批 | 使用的技能 |
|---|
| cloneandtest | 6 | 是 | aiops + monitor |
| incident_response |
4 | 是 | monitor + aiops |
| plan
andapprove | 3 | 是 | aiops |
| compliance_scan | 3 | 否 | monitor + aria |
自定义模板
将 YAML 文件放入 ~/.vmware/workflows/ — pilot 会自动加载它们。
yaml
~/.vmware/workflows/restart_cluster.yaml
name: restart_cluster
description: 数据库集群的滚动重启
steps:
- action: check_health
skill: monitor
tool: get_alarms
params:
target: {{target}}
- action: stop_replica
skill: aiops
tool: vm
poweroff
params:
vm
name: {{replicavm}}
rollback
tool: vmpower_on
rollback_params:
vm
name: {{replicavm}}
- action: require_approval
skill: pilot
tool: approve
params:
message: 副本