Skip to main content

mcp-kvm

License Python MCP

The only AI that can fix a crashed computer, not just use one.

An MCP (Model Context Protocol) server that lets Claude, Cursor, or any MCP-compatible AI client control any computer through KVM hardware — including BIOS/UEFI, remote power on/off, login screens, blue screens, and locked machines. When Anthropic's Computer Use or OpenAI's Operator hit a locked screen and give up, mcp-kvm keeps working.

Status: Alpha (v0.1) — software, BliKVM, and PiKVM adapters all functional. 13 MCP tools including screenshot, mouse, keyboard, and ATX power control.


Why KVM instead of a software agent?

Scenario Software agents (Computer Use, Operator, UFO) mcp-kvm
Automate a logged-in desktop ✅ ✅
Log in to a locked Windows machine ❌ ✅
Fix a blue screen or boot loop ❌ ✅
Control BIOS / UEFI settings ❌ ✅
Work on a machine where you can't install software ❌ ✅
Operate industrial / POS / embedded systems ❌ ✅
Handle air-gapped or compliance-restricted environments ❌ ✅

KVM (keyboard-video-mouse) hardware sits between your keyboard/mouse/monitor and the target computer. It's a physical layer — the target sees it as a normal USB keyboard and mouse, with zero software installed.


Quick Start

1. Install

# Easiest — one-line setup (auto-installs Python package, writes MCP config)
npx mcp-kvm init

# Or install Python package directly
pip install mcp-kvm[software]      # for controlling this machine
pip install mcp-kvm[blikvm]        # for BliKVM hardware
pip install mcp-kvm[pikvm]         # for PiKVM hardware
pip install mcp-kvm[all]           # all adapters

2. Configure your MCP client

After npx mcp-kvm init, a .mcp.json is written to your current directory (for Claude Code / Cursor). For Claude Desktop, add to claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-kvm": {
      "command": "uvx",
      "args": ["mcp-kvm-server"],
      "env": {
        "MCP_KVM_ADAPTER": "software"
      }
    }
  }
}

3. Restart your AI client and ask

"Take a screenshot and tell me what's on my screen."

"Open the Start menu and launch Notepad, then type 'Hello from Claude'."

The AI now has 13 tools: take_screenshot, get_screen_size, mouse_click, mouse_move, mouse_scroll, type_text, send_key, send_shortcut, power_on, power_off, reboot, get_power_state, adapter_info.


Adapters

mcp-kvm is adapter-based — the same MCP tools work across different backends. Set MCP_KVM_ADAPTER in your client config to switch.

software (default)

Uses pyautogui to control the same machine the server runs on. Good for:

  • Quick local testing
  • Single-machine automation
  • Running on a Pi/NAS with an attached display
"env": { "MCP_KVM_ADAPTER": "software" }

blikvm (hardware)

Controls a remote machine via BliKVM v4. Full support: screenshot, mouse, keyboard, ATX power on/off/reboot.

"env": {
  "MCP_KVM_ADAPTER": "blikvm",
  "KVM_HOST": "192.168.1.100",
  "KVM_USER": "admin",
  "KVM_PASSWORD": "..."
}

pikvm (hardware, community-tested)

Controls a remote machine via PiKVM. Implements full API support based on official PiKVM documentation. Not yet verified on real hardware — community testing and feedback welcome via GitHub Issues.

"env": {
  "MCP_KVM_ADAPTER": "pikvm",
  "KVM_HOST": "192.168.1.100",
  "KVM_USER": "admin",
  "KVM_PASSWORD": "..."
}

Write your own

Subclass mcp_kvm.adapters.base.KVMAdapter and register via entry points. See docs/adapters/custom.md.


Remote Access (from outside your LAN)

mcp-kvm connects directly to your KVM device on the local network. To control machines while traveling, you need a way to reach your home/office network. The recommended approach is a mesh VPN — no port forwarding, no cloud relay, end-to-end encrypted.

Tailscale (recommended — 5 minutes to set up)

  1. Install Tailscale on your laptop/phone and on the machine running mcp-kvm-server (or on the KVM device itself if it supports it — PiKVM has a Tailscale plugin).
  2. Both devices join the same Tailnet.
  3. Use the Tailscale IP in your MCP config:
"env": {
  "MCP_KVM_ADAPTER": "blikvm",
  "KVM_HOST": "100.64.0.5"
}

Now Claude Desktop on your laptop can reach the BliKVM at home, anywhere in the world. Tailscale's free tier supports up to 100 devices.

Other VPN options

Option Complexity Notes
Tailscale Easy Free, peer-to-peer, recommended
ZeroTier Easy Similar to Tailscale, self-hostable
WireGuard Medium Manual config, fastest raw performance
Cloudflare Tunnel Medium Good if you already use Cloudflare
SSH tunnel Advanced ssh -L 8080:blikvm:80 your-server

Tip: Most homelab and sysadmin users already run Tailscale or WireGuard — mcp-kvm slots right into your existing setup.


Security

  • mcp-kvm runs entirely on your machine — no cloud, no data upload.
  • Screenshots and inputs never leave the MCP protocol stream to your AI client.
  • The software adapter intentionally disables pyautogui's failsafe so the AI can operate freely. Set MCP_KVM_ALLOW_DESTRUCTIVE=false (default) to prevent the most dangerous shortcuts.
  • You control the AI. Treat MCP tools like any remote-execution capability and review what your AI is about to do before confirming.

Project relationship

mcp-kvm is the open-source core of the KiSum Bot project — a commercial AI worker platform for sysadmins and automation teams. The MCP server is Apache 2.0; premium enterprise features (Lexoffice / DATEV skills, team collaboration, audit logs) live in the private kisum platform.

If you like mcp-kvm, please star it and share your use case on GitHub Discussions.


Roadmap

  • v0.1 — Software, BliKVM, PiKVM adapters, 13 tools, npm + PyPI packaging
  • v0.2 — Multi-display support, image-based click verification
  • v0.3 — MCP Resources for knowledge injection (browser patterns, keyboard shortcuts)
  • v0.4 — Context memory + action verification (AI remembers past actions, verifies success)
  • v0.5 — run_task tool (built-in agent loop with self-healing and precision clicking)
  • v1.0 — Stable API, entry-point adapter plugins, certified adapter list

Contributing

We actively welcome new KVM adapters, bug reports, and documentation improvements. See CONTRIBUTING.md (coming soon).


License

Apache 2.0 — see LICENSE.

Copyright 2026 ki-sum

Metadata

Release files for mcp-kvm 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-kvm 0.1.0
File Size Uploaded Provenance
mcp_kvm-0.1.0.tar.gz 22.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-kvm 0.1.0
File Interpreter ABI Platform
mcp_kvm-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 43.8 kB

Release files / mcp_kvm-0.1.0.tar.gz

Download URL mcp_kvm-0.1.0.tar.gz
Size 22.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d742cb2220728118ede9b5336fe212f695fe1af00763930b3d161a614219ae82
BLAKE2b-256 checksum
How to use checksums
7920020b15ff8cdebc2d4314da1ab892069bc1940a5674051d08e9d65c0fe369
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / mcp_kvm-0.1.0-py3-none-any.whl

Download URL mcp_kvm-0.1.0-py3-none-any.whl
Size 21.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
418bdc922f123eae4ffc37d7770194d67de661f3217239038c41bd01ebe7cbf7
BLAKE2b-256 checksum
How to use checksums
1eb99a5ae2e9289e31f546c90aca98b4f9a516084b6d57d86530535ca2b87285
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Security for mcp-kvm 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page