Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NANOKVM_HOSTYesNanoKVM IP address or hostname
NANOKVM_PASSNoWeb UI passwordadmin
NANOKVM_USERNoWeb UI usernameadmin
NANOKVM_HTTPSNoUse HTTPS instead of HTTPfalse
NANOKVM_SCREEN_WIDTHNoTarget screen width in pixels1920
NANOKVM_SCREEN_HEIGHTNoTarget screen height in pixels1080

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
nanokvm_power
Control the target machine's power. Args: action: Power action to perform - "power": Short press power button (800ms) - normal on/off - "power_long": Long press power button (5000ms) - force off - "reset": Press reset button (DEPRECATED for Pi 5 - use power_cycle) Note: Raspberry Pi 5 has NO hardware reset button. The "reset" action will not work on Pi 5. Use nanokvm_power_cycle() instead.
nanokvm_power_cycle
Power cycle the target machine (force off, wait, power on). This is the recommended way to "reset" a Raspberry Pi 5 since it has no hardware reset button. The sequence is: 1. Force power off (5 second button hold) 2. Wait for specified duration 3. Power on (short button press) Args: off_duration_ms: Time to wait after power off before powering on (ms). Default 3000ms (3 seconds) ensures clean power cycle. Use longer values (5000+) if you have slow storage. Returns: Status message indicating power cycle completion
nanokvm_led_status
Get the power and HDD LED status of the target machine. Returns: Dictionary with 'pwr' and 'hdd' boolean values indicating LED states. - pwr: True if power LED is on (machine is powered) - hdd: True if HDD LED is on (disk activity)
nanokvm_hdmi_status
Get HDMI connection status and resolution. Returns: Dictionary with HDMI state including: - connected: Whether HDMI signal is detected - width: Video width in pixels - height: Video height in pixels
nanokvm_hdmi_reset

Reset the HDMI connection. Useful if video is not displaying correctly.

nanokvm_send_text
Type text on the target machine via keyboard emulation. Uses the NanoKVM paste API which is faster than individual key presses. Maximum 1024 characters per call. Args: text: The text to type (max 1024 characters) language: Keyboard layout - "" for US QWERTY, "de" for German
nanokvm_send_key
Send a single key press to the target machine. Args: key: Key to press. Can be: - Named keys: enter, escape, tab, backspace, delete, space - Function keys: f1, f2, ..., f12 - Arrow keys: up, down, left, right - Navigation: home, end, pageup, pagedown, insert - Single characters: a, b, 1, 2, etc. ctrl: Hold Ctrl modifier shift: Hold Shift modifier alt: Hold Alt modifier meta: Hold Meta/Windows/Command modifier
nanokvm_tap
Tap at a specific screen position (touchscreen/mouse emulation). Coordinates are in screen pixels based on NANOKVM_SCREEN_WIDTH and NANOKVM_SCREEN_HEIGHT environment variables. Args: x: X coordinate (0 = left edge, screen_width = right edge) y: Y coordinate (0 = top edge, screen_height = bottom edge)
nanokvm_click
Click a mouse button, optionally at a specific position. Args: button: Mouse button - "left", "right", or "middle" x: Optional X coordinate to move to before clicking y: Optional Y coordinate to move to before clicking
nanokvm_move
Move mouse cursor to absolute screen position. Args: x: X coordinate (0 = left edge) y: Y coordinate (0 = top edge)
nanokvm_scroll
Scroll the mouse wheel. Args: amount: Scroll amount. Positive = scroll down, negative = scroll up.
nanokvm_screenshot
Capture a screenshot from the target machine's display. Returns the screenshot as a JPEG image that can be displayed or analyzed. By default, 4K images are resized to 1080p to keep the response size manageable. Args: max_width: Maximum width in pixels (default 1920, use 0 for no limit) max_height: Maximum height in pixels (default 1080, use 0 for no limit) quality: JPEG quality 1-100 (default 80) Returns: JPEG image of the current display
nanokvm_list_images
List available ISO images on the NanoKVM device. Returns: List of available images with file paths and metadata
nanokvm_mount_iso
Mount an ISO image for the target machine. The target machine will see this as an attached CD-ROM or USB disk. Args: file: Path to ISO file on the NanoKVM device as_cdrom: Mount as CD-ROM (True) or USB disk (False)
nanokvm_unmount_iso

Unmount the currently mounted ISO image.

nanokvm_mounted_image
Get information about the currently mounted ISO image. Returns: Dictionary with mounted image info, or None if nothing mounted
nanokvm_reset_hid

Reset the HID (keyboard/mouse) devices.

Use this if keyboard or mouse input stops working.

nanokvm_info
Get NanoKVM device information. Returns: Dictionary with device info including IP, firmware version, etc.
nanokvm_hardware
Get NanoKVM hardware information. Returns: Dictionary with hardware details

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/scgreenhalgh/nanokvm-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server