Skip to main content
Glama
CyberKnightLabs

vmware-knight

vm_power_off

Destructive

Power off a VMware VM with graceful guest shutdown or forced hard power-off. Preview blast radius first, then confirm to apply the action.

Instructions

[WRITE] Power off a VM — graceful guest shutdown by default, hard power-off with force=True.

Without confirm=True this only previews: it returns blast_radius (VM name and instance UUID, host, power state, VMware Tools status, and whether this is a guest shutdown or a hard power-off) and changes nothing. Show it to the user and get their decision. Do not set confirm=True on your own because the user asked earlier: they have not seen the preview yet.

Graceful mode calls VMware Tools guest shutdown and waits up to 120s; if it does not finish, action is "still_running". Refused: a graceful shutdown when Tools is not running or the VM is suspended (preview force=True instead), and a VM whose identity or power state cannot be read. An already-off VM returns action "noop". Use vm_power_on to start a VM; vm_delete requires it off first.

Returns: Dict with action (preview, noop, powered_off, still_running), blast_radius, and the executor's message under result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
forceNoFalse (default) = graceful guest shutdown via VMware Tools; True = immediate hard power-off (risks guest filesystem damage).
targetNovCenter/ESXi target from config.yaml; omit for the default target.
confirmNoFalse (default) returns the blast radius and changes nothing. True applies it.
vm_nameYesExact VM name as shown in vCenter inventory (case-sensitive).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.12.10

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, but the description adds substantial behavioral context: preview mode changes nothing, graceful shutdown waits up to 120s and may return 'still_running', an already-off VM returns 'noop', and certain states are refused. This goes well beyond the annotation fields and tells the agent exactly what the tool will and will not do.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every section earns its place: mode explanation, confirmation contract, refusal conditions, sibling routing, and return values. It is front-loaded with the core action and uses short paragraphs to keep the information scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description enumerates possible action values (preview, noop, powered_off, still_running) and describes blast_radius contents. It covers safety, sequencing, failure modes, and related tools, leaving no critical gap for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining the interaction between force, confirm, and execution behavior, and by clarifying that force=True should be previewed when graceful shutdown is refused. This is more than the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Power off a VM', then immediately distinguishes graceful vs hard power-off. It also names sibling tools (vm_power_on, vm_delete) to clarify boundaries, so an agent can tell it apart from related operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-use and when-not-to-use guidance: preview with confirm=False, do not set confirm=True on the user's earlier request, use vm_power_on to start a VM, and vm_delete requires the VM off first. It also lists refusal cases, such as graceful shutdown when VMware Tools is not running or the VM is suspended.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.