Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
KVM_AUTO_DEVICESNoPath to the devices.toml fleet configuration file. Overrides the default location ~/.config/kvm-automation/devices.toml.

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
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
kvm_list_devicesA

List fleet devices: id, driver, label, capabilities, which is active. (read tier)

kvm_select_deviceA

Select the active device by id, host, or alias. Sends no input itself; required before other tools. (read tier)

kvm_statusA

Online/HDMI/resolution/HID state of the active device (plus ATX where wired). (read tier)

kvm_screenshotA

Capture the HDMI frame to a JPEG file. Read the returned path to see the screen; the image is never inlined. (read tier)

kvm_waitA

Wait, then return a fresh screenshot. Use during boots, installers, and Recovery instead of re-screenshotting in a loop. (read tier)

kvm_pasteB

Type text on the target via HID. Blocks until the typing has landed, then returns a post-paste screenshot — safe to send Enter after it returns. (input tier)

kvm_keystrokeA

Send one KeyboardEvent.code keystroke (Enter, Escape, Tab, KeyR, F7...) with optional modifiers. Returns a post-key screenshot. (input tier)

kvm_mouseB

Move/click/scroll. Pass BOTH relative_x AND relative_y (0.0-1.0), or BOTH pixel_x AND pixel_y of the last screenshot. Mouse is the LAST resort; prefer keyboard. Returns a post-action screenshot. (input tier)

kvm_key_holdA

Hold keys down (GLKVM/PiKVM only; e.g. MetaLeft+KeyR across a Mac reboot). Pass hold_ms or call kvm_key_release; auto-releases after 25s. (input tier)

kvm_key_releaseA

Release held keys (all when omitted). GLKVM/PiKVM only. (input tier)

kvm_hid_modeA

Switch the mouse gadget: usb (absolute), usb_rel (relative; better in Mac Recovery), usb_hybrid. GLKVM/PiKVM only. (input tier)

kvm_atxC

ATX power. Needs the 'power' capability on the device and confirm=true; errors where ATX is unwired or the backend is TinyPilot. (power tier)

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 12 tools

Disambiguation4/5

Most tools target clearly distinct actions (device selection, status, screenshots, individual input types, power), but kvm_wait and kvm_screenshot both return screenshots and could be confused if an agent does not read the timing distinction carefully. The other input tools are well-separated by their descriptions.

Naming Consistency4/5

All tools share the kvm_ prefix and use lowercase snake_case, which provides a predictable family identity. However, some names are verb-led (wait, paste, keystroke) while others are noun-led (status, screenshot, mouse, atx), making the pattern slightly inconsistent.

Tool Count5/5

Twelve tools is well within the ideal range and each tool maps to a necessary KVM workflow: device selection, status/screenshot, keyboard/mouse input, HID configuration, and ATX power. Nothing feels redundant or missing enough to bloat the surface.

Completeness4/5

The surface covers the core KVM lifecycle well: select a device, inspect status, capture the screen, send text/keys/mouse input, and control power. Minor gaps exist such as file transfer or remote media mounting, but for a KVM-focused server the main operational needs are addressed.

Maintenance

ActivityMaintained
ResponsivenessNo issues