Manage Hyper-V virtual machines - create, clone, edit, screenshot, send input, reboot, mount ISOs, and more.
40 tools with consistent verb_noun naming (vm_*, disk_*, switch_*, convert_*). All tools have descriptions (10-200 chars, baseline 194). Input schemas present for all tools with proper type definitions. However, output schemas are undocumented, tools return JSON strings without declared field structures. Error handling is minimal; no recovery guidance or actionable error messages visible. Parameter descriptions are present but often lack constraints (enums, ranges, formats). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Missing idempotency guarantees for write operations.
Check if qemu-img is available, optionally downloading a portable build.
Convert a disk image from one format to another.
Create a new virtual disk (VHD/VHDX/QCOW2/etc).
Get metadata about a virtual disk (format, size, backing file).
Resize an existing virtual disk.
Create a new virtual switch.
Delete a virtual switch.
List all virtual switches.
Output schemas undocumented. All 40 tools return JSON strings without declared field structures. LLMs cannot plan downstream tool calls or extract specific fields reliably.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Tools marked with DESTRUCTIVE risk (vm_delete, vm_checkpoint_delete, switch_delete) and WRITE risk lack machine-readable safety hints. Agents cannot distinguish safe reads from dangerous writes.
Parameter constraints missing. Numeric parameters (memory_mb, cpu_count, vhd_size_gb, vlan_id) lack min/max bounds. String enums (generation, disk_type, switch_type, auto_start, auto_stop, boot_order) lack enum declarations. LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Create a checkpoint (snapshot) of a VM.
Delete a checkpoint from a VM.
Restore a VM to a previous checkpoint.
Clone an existing VM (exports then imports with new ID).
Create a new Hyper-V virtual machine.
Delete a virtual machine. Set force=true to also delete its files.
Export a VM to a file for backup or migration.
Get detailed information about a specific VM including disks, network, checkpoints.
Get detailed configuration of a VM (memory, CPU, BIOS, security, firmware).
Get the IP address(es) of a running VM (requires guest integration services).
Import a previously exported VM.
Get the status of Hyper-V Integration Services on a VM.
List all Hyper-V virtual machines with basic info (name, state, memory, cpu).
Get real-time performance metrics for a running VM (CPU, memory, network, disk).
Mount an ISO file to a VM's DVD drive.
Perform OCR on a running VM's display and return recognized text with confidence scores.
Press a single key on a running VM (e.g. 'enter', 'escape', 'f7').
Rename a virtual machine.
Restart a virtual machine.
Resume a saved virtual machine.
Save (suspend) a running virtual machine.
Take a screenshot of a running VM and save it to a file.
Take a screenshot of a running VM's display. Returns base64-encoded image.
Send a key combination like Ctrl+C, Alt+F4, Shift+Tab to a running VM. Uses scancodes with proper
Send keyboard text input to a running VM (requires guest integration services).
Send raw keyboard scancodes to a running VM. Use for special keys. Common scancodes: Enter=28, Space=57, Escape=1, Tab=15, Backspace=14, LeftArrow=75, RightArrow=77, UpArrow=72, DownArrow=80, Ctrl=29 (0x1D), Alt=56 (0x38), Shift=42 (0x2A), Windows=91, Delete=83
Send scancodes with delays between modifier/key groups for proper combo registration. Use this instead of vm_send_scancodes when sending key combos like Ctrl+C. Sends modifiers first, waits, then sends the key, then releases modifiers.
Edit VM configuration settings. Only specified parameters are changed.
Set VLAN tagging on a VM's network adapter.
Start a virtual machine.
Stop (shut down) a virtual machine. Set force=true to power off immediately.
Unmount the ISO from a VM's DVD drive.
No error recovery guidance. Tools return JSON results but no visible error handling, actionable error messages, or recovery hints. If vm_create fails, LLM has no guidance on next steps.
Idempotency not guaranteed. Write operations (vm_start, vm_stop, vm_create, checkpoint_create) lack idempotency guarantees. Agents retrying on ambiguous failures risk duplicate side effects (duplicate VMs, duplicate checkpoints).