Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HYPERV_MCP_LAB_ROOTNoDirectory confining lab package sources.
HYPERV_MCP_ALLOWED_VMSNoExplicit VM allowlist required for mutations, e.g. 'NORTH-Test'.
HYPERV_MCP_ALLOW_GUESTNoCapability flag allowing PowerShell Direct guest operations. Read-only mode uses 'false'.false
HYPERV_MCP_ALLOW_MEDIANoCapability flag allowing media mount/eject operations. Read-only mode uses 'false'.false
HYPERV_MCP_ALLOW_POWERNoCapability flag allowing power actions. Read-only mode uses 'false'.false
HYPERV_MCP_ALLOW_CONSOLENoCapability flag allowing console input operations. Read-only mode uses 'false'.false
HYPERV_MCP_EVIDENCE_ROOTNoDirectory confining lab evidence downloads.
HYPERV_MCP_ALLOW_DEBUGGERNoCapability flag allowing debugger preparation operations. Read-only mode uses 'false'.false
HYPERV_MCP_ALLOW_CHECKPOINTSNoCapability flag allowing checkpoint operations. Read-only mode uses 'false'.false
HYPERV_MCP_ALLOW_SCREENSHOTSNoCapability flag allowing screenshot capture. Read-only mode uses 'false'.false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
hyperv_host_statusA

Read Hyper-V host and service health.

vm_listA

List VMs visible through the optional allowlist.

vm_getA

Get VM state, devices, memory, network, and checkpoint count.

vm_waitA

Poll until a VM reaches one of the requested states. Returns matched=false on timeout and never changes power state.

vm_powerA

Start, gracefully shut down, save, pause, resume, forcibly turn off, or reset a VM. turn_off/reset require confirm_vm equal to vm_name. Requires ALLOW_POWER and an allowlist.

checkpoint_listB

List checkpoint IDs, names, parents, and creation times.

checkpoint_createB

Create a manual checkpoint. Requires ALLOW_CHECKPOINTS and an allowlist.

checkpoint_restoreA

Restore a checkpoint, discarding later guest state. confirm_vm and confirm_snapshot_id must match exactly.

checkpoint_deleteA

Delete one checkpoint and merge its disks. Child checkpoints are not recursively included. Requires exact confirmations.

guest_statusA

Read guest OS, boot time, memory, system-drive free space, and kernel debug settings through PowerShell Direct.

guest_processesA

List up to 200 guest processes, optionally filtered by process name. Requires ALLOW_GUEST and guest credentials.

guest_servicesA

List up to 200 guest services filtered by name; stopped services are excluded by default.

guest_eventsB

Read recent System, Application, Security, or Setup event records with optional event ID and level filters.

guest_execB

Run PowerShell in the guest through PowerShell Direct. Credentials come only from the server environment. Returns combined output, exit code, and truncation status. A host-side timeout may leave the guest command running.

guest_read_fileA

Read an absolute guest file path as base64, with SHA-256. Default limit 64 KiB; maximum 8 MiB. For large files, request bounded chunks through the lab APIs rather than inflating model context.

guest_write_fileA

Write base64 content to an absolute guest path. Existing files require overwrite=true and confirm_path equal to guest_path.

lab_initB

Install or verify fixed lab tools in C:\DriverLab and create package/run/evidence directories. Never executes a payload. Requires confirm_vm.

lab_diagnosticsB

Read guest boot, Secure Boot, VBS/HVCI, test-signing, debugger, disk, and crash-dump configuration.

lab_stageA

Stage a hash-verified package from a subdirectory of HYPERV_MCP_LAB_ROOT. Supports chunked large files and never executes staged content.

lab_verifyB

Re-verify all package files and the exact manifest SHA-256 in the guest without executing the package.

lab_collectB

Collect a new run's logs, events, diagnostics and dumps into HYPERV_MCP_EVIDENCE_ROOT. A kernel dump is opt-in; no new test is started.

events_snapshotB

Read recent operation lifecycle events from this MCP instance, without commands, passwords, typed text, or file contents.

console_infoB

Read guest video-head resolutions for mouse coordinate planning.

console_type_textA

Type printable ASCII, tab, CR, or LF through Msvm_Keyboard. Unicode/ABNT2 text is rejected; use guest_exec for Unicode and match the guest keyboard layout. No VMConnect focus is required.

console_press_keysB

Press and release a key chord (for example ['ctrl','s'] or ['enter']) using Hyper-V virtual-key codes.

console_key_stateA

Explicitly press or release one supported key. Release held keys when finished; prefer console_press_keys for ordinary chords.

console_mouse_buttonsB

Set explicit left, right, and middle synthetic-mouse button states for drag operations.

console_batchA

Run up to 32 ordered text, key-chord, click, move, scroll, wait, or Ctrl+Alt+Delete actions. Stops at the first failure.

console_ctrl_alt_deleteB

Send the Hyper-V secure-attention sequence to the guest.

console_mouse_moveB

Move the synthetic mouse to absolute guest-display pixel coordinates, not host-window coordinates.

console_clickC

Click left, right, or middle. Optionally move to guest-display x/y first.

console_scrollC

Apply a relative synthetic-mouse wheel delta. Positive values normally scroll up.

media_listB

List VM DVD drives, mounted ISO paths, controller locations, generation, and power state.

media_mountA

Mount an existing host ISO in an existing VM DVD drive while the VM is Off, optionally making it first boot device. Never stops the VM automatically. Requires ALLOW_MEDIA and confirm_vm equal to vm_name.

media_ejectA

Eject an existing VM DVD drive while the VM is Off. Requires ALLOW_MEDIA and confirm_vm equal to vm_name.

serial_statusB

Read COM1 configuration and whether this server has an attached serial-console reader.

serial_connectA

Attach a dedicated reader to the existing COM1 named pipe of a Running VM and append output to a local .log file. Requires ALLOW_DEBUGGER and confirm_vm; does not configure the port or guest.

serial_readA

Read the retained tail of an attached serial console. Requires ALLOW_DEBUGGER.

serial_sendB

Write UTF-8 text to an attached COM1 serial console, with CRLF appended by default.

serial_disconnectA

Detach this server's serial reader and close its pipe handle without changing the VM COM port.

debug_serial_statusB

Read Hyper-V COM port debug configuration and local WinDbg/KDNET availability.

debug_serial_prepareA

Configure COM1 kernel debugging over a local named pipe while the VM is Off. Guest BCD settings are a separate Running-VM operation. Never stops or reboots automatically. Requires ALLOW_DEBUGGER and confirm_vm.

debug_guest_prepareA

Enable fixed COM1/115200 guest BCD debugging through PowerShell Direct while the VM is Running. Requires ALLOW_DEBUGGER, guest credentials, and confirm_vm. A deliberate later reboot is required.

console_screenshotA

Experimental PNG capture of an existing visible VMConnect window in the MCP server's interactive session. It does not read the guest framebuffer. Requires ALLOW_SCREENSHOTS and an allowlist.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.3/5.0

Scored across 44 tools

Disambiguation4/5

Most tools target distinct Hyper-V objects and actions, with category prefixes that help separate VM, checkpoint, guest, console, media, serial, debug, and lab operations. A few boundaries could still confuse an agent, such as guest_status versus lab_diagnostics, console_key_state versus console_press_keys, and serial_status versus debug_serial_status, but descriptions generally clarify them.

Naming Consistency4/5

Names consistently use snake_case and mostly follow a domain-prefixed action pattern such as vm_list, checkpoint_create, guest_exec, media_mount, and console_click. Minor deviations like hyperv_host_status and events_snapshot exist, but the overall convention is readable and predictable.

Tool Count2/5

At 44 tools, the surface is heavy for a single MCP server and spans many subdomains: VM lifecycle, checkpoints, guest OS access, console input, media, serial, debugging, and lab workflows. While each tool may be useful, the count is well above a well-scoped set and raises selection overhead.

Completeness4/5

The server covers a broad lifecycle: VM listing/status/power/wait, checkpoints, guest execution and files, console control, media mounting, serial access, debugging, and lab evidence collection. Some notable gaps remain, such as VM creation/deletion/cloning and virtual network/switch management, but most core lab-console workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo issues