rustdesk-mcp-bridge
rustdesk-mcp-bridge
MCP server that exposes local desktop automation tools: screen capture, mouse movement/clicks, and keyboard input. Designed to be driven by an AI agent so it can operate remote desktops (for example via RustDesk) by running this server on the target machine.
Requirements
Python 3.11+
A graphical session on the target machine (
pyautoguineeds an interactive desktop on Windows; on Linux it needs an X11/Wayland session).
Installation
python3 -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'Usage
Run the MCP server over stdio:
rustdesk-mcp-bridgeAvailable MCP tools:
get_screen_size— current screen resolution.capture_screen— base64 PNG/JPEG screenshot of the full screen or a region.move_mouse— move the cursor to absolute coordinates.mouse_click— click at absolute coordinates or at the current position.mouse_down/mouse_up— press/release a mouse button (drag support).type_text— type a Unicode string.send_key— press a single key or a combination (e.g.ctrl+a).
Windows / RustDesk target setup
Install the package on the Windows target (e.g.
nzxt).Run
rustdesk-mcp-bridgefrom an interactive PowerShell session on the target desktop (not a plain SSH session), sopyautoguican send input.Connect your MCP client to the server's stdio. If you run it over SSH, use a terminal multiplexer launched from the interactive desktop.
Development
.venv/bin/python -m pytest
.venv/bin/ruff check .
.venv/bin/mypy srcSecurity
Never commit RustDesk IDs, passwords, or credentials. This server can execute arbitrary mouse and keyboard actions: only run it in trusted environments and protect its MCP transport.
License
MIT