Skip to main content
Glama
CyberKnightLabs

vmware-knight

vm_revert_snapshot

Destructive

Preview then revert a VM to a named snapshot, discarding all changes made after that snapshot. Requires explicit confirmation to apply.

Instructions

[WRITE] Revert a VM to a named snapshot (loses changes since snapshot).

Without confirm=True this only previews: it returns blast_radius (VM and instance UUID, the snapshot's name, id and creation time, total snapshot count, current power state and the power state after the revert) 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.

Irreversible — everything written since the snapshot is lost. Refused: a snapshot name that is not found, a name that matches more than one snapshot on the VM (vSphere allows duplicates; rename one first), and a VM whose snapshot tree, identity or power state cannot be read. Run vm_list_snapshots first for exact names. To reclaim space without changing state use vm_delete_snapshot.

Returns: Dict with action (preview, reverted), blast_radius, and result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
targetNovCenter/ESXi target name from config.
confirmNoFalse (default) returns the blast radius and changes nothing. True applies it.
vm_nameYesVM to revert.
snapshot_nameYesSnapshot to revert to.

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 mark the tool as destructive and not read-only, and the description complements this by explaining the preview workflow, irreversible data loss, duplicate-snapshot handling, and the exact refusal cases. It also discloses what the return dictionary contains, which is especially valuable given there is no output schema.

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 sentence carries operational weight: purpose, preview behavior, confirmation safeguard, irreversibility, refusal conditions, prerequisite command, sibling alternative, and return format. It is front-loaded with the most important destructive warning and structured so the agent can quickly extract the key rules.

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?

For a destructive VM operation with no output schema, the description is complete: it explains when to use it, what the preview returns, what the final return looks like, what inputs are required, what can go wrong, and what to do first. Nothing essential for correct invocation is left to guesswork.

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, but the description adds meaning beyond the schema: confirm=false previews versus true applies, snapshot_name must be exact and unique, and snapshot_name is validated against list_snapshots first. This extra context makes the parameter semantics genuinely more actionable.

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 opens with a specific verb and resource: 'Revert a VM to a named snapshot (loses changes since snapshot).' It clearly distinguishes itself from sibling tools by noting that vm_delete_snapshot is for reclaiming space without changing state, so an agent can tell them apart immediately.

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 guidance: run vm_list_snapshots first for exact names, do not set confirm=True before the user has seen the preview, and use vm_delete_snapshot instead for space reclamation without state change. It also lists refusal conditions, leaving no ambiguity about how to safely invoke the tool.

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