Skip to main content
Glama

Linkr KVM MCP Server

Linkr KVM MCP Server exposes Radxa Linkr KVM controls through the Model Context Protocol (MCP). It lets an MCP client capture screenshots, crop screen areas, send keyboard and mouse events, type text, wait for on-screen text, and ask vision/OCR models about the current screen.

Requirements

  • Python 3.11 or newer is recommended.

  • A reachable Radxa Linkr KVM device.

  • A Linkr API key.

  • Vision/OCR provider API keys if using ask_vl or ocr_area.

Related MCP server: tinypilot-mcp

Installation

Create and activate a virtual environment, then install dependencies:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

On POSIX-like shells:

python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt

Configuration

Copy the example configuration and fill in real credentials:

cp config.example.yaml config.yaml

Do not commit real secrets. Keep config.example.yaml sanitized.

Running

Recommended direct launch:

python main.py

The default transport is stdio. You can also select a transport explicitly:

python main.py --transport stdio
python main.py --http --host 127.0.0.1 --port 8000 --path /mcp
python main.py --transport sse --host 127.0.0.1 --port 8000 --sse-path /sse --message-path /messages/

Environment variables can also set defaults:

  • MCP_TRANSPORT

  • MCP_HOST

  • MCP_PORT

  • MCP_PATH

  • MCP_SSE_PATH

  • MCP_MESSAGE_PATH

The helper scripts forward arguments to the Python launcher:

.\start.ps1 --http
start.bat --transport stdio
./start.sh --http

MCP Tools

Tool

Description

snapshot

Capture the current KVM screen.

snapshot_area

Capture a selected screen area.

batch_events

Validate and send multiple Linkr KVM control events.

keyboard

Send keyboard press or release events using KeyboardEvent.code.

mouse_abs

Send absolute-position mouse events with normalized x and y.

mouse_rel

Send relative-position mouse events in pixels.

text

Type printable ASCII text, Tab, and Enter.

delay

Wait for a specified number of milliseconds.

ask_vl

Ask a vision-language model about a captured screen area.

ocr_area

Recognize text in a captured screen area with the OCR model.

find_text_pos

Find text positions on screen with local OCR.

wait_text_appear

Poll local OCR until text appears or a timeout is reached.

License

This project is licensed under the GPL-3.0-or-later License. See LICENSE for details.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that enables AI to see and control a physical computer via a JetKVM device for screen viewing, mouse/keyboard input, media mounting, and power management.
    5
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that exposes fleet-aware KVM primitives for AI agents to control TinyPilot devices, including screen capture, keyboard input, mouse events, and device selection.
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    Cross-platform desktop automation MCP server that lets AI agents capture screenshots, run OCR with UI-element classification, control mouse/keyboard, and launch programs on Linux, macOS, and Windows.
    20
    1
    -
  • F
    license
    A
    quality
    C
    maintenance
    MCP server for controlling Sipeed NanoKVM devices, enabling remote hardware control via keyboard, mouse, power, and screenshots. It allows AI assistants like Claude to manage headless machines at the BIOS level.
    20
    -