zsunny6658

RustDesk MCP Server

Community zsunny6658
Updated

MCP tools for AI agents to control remote machines via RustDesk

RustDesk MCP Server

License: MIT

MCP (Model Context Protocol) server that lets AI agents control remote machines via RustDesk.

Architecture

┌────────────┐     MCP stdio      ┌──────────────┐      REST API      ┌─────────────────┐
│  AI Agent  │ ◄─────────────► │ rustdesk-mcp  │ ────────────────► │ rustdesk-api     │
│  (Claude/  │                  │  Server      │                   │ (lejianwen)      │
│   Cursor)  │                  └──────────────┘                   └─────────────────┘
└────────────┘                                              │
                                                           ▼
                                                      ┌──────────┐
                                                      │ RustDesk │
                                                      │ Devices  │
                                                      └──────────┘

Components and Where They Run

Component Where Description
rustdesk-mcp (this project) NAS/server MCP server that translates AI requests to rustdesk-api calls
rustdesk-api-server NAS/server Third-party RustDesk API server (by lejianwen, Go) — device management, shell, file ops
RustDesk client Each target machine Normal RustDesk client, registers with api-server
MCP client Control machine Cursor/Claude/etc. — where the AI agent runs

Features

Device Management

Tool Description
rd_device_list List all registered devices
rd_device_info Get device details (OS, version, status)
rd_device_online Check if device is currently online

Remote Commands

Tool Description
rd_device_shell Execute shell command on remote device
rd_device_screenshot Take screenshot (returns base64 image)

File Operations

Tool Description
rd_device_file_list List files on remote device
rd_device_file_upload Upload local file to remote device
rd_device_file_download Download file from remote device
rd_device_file_delete Delete file on remote device

Power Operations

Tool Description
rd_device_restart Restart remote device
rd_device_shutdown Shutdown remote device
rd_device_lock Lock remote device screen

Screen Control (via xdotool on target)

Tool Description
rd_device_keypress Send keystrokes
rd_device_mouse_move Move mouse to coordinates
rd_device_mouse_click Click mouse at coordinates

Prerequisites

  1. RustDesk client installed on target devices
  2. rustdesk-api-server running (default: http://127.0.0.1:21114)

Installation

cd /vol3/1000/app/rustdesk-mcp
pip install -r requirements.txt
# or: pip install -e .

Configuration

Edit .env with your rustdesk-api credentials:

Variable Default Description
RUSTDESK_API_BASE_URL http://127.0.0.1:21114 rustdesk-api server URL
RUSTDESK_API_USERNAME default API login username
RUSTDESK_API_PASSWORD default API login password
RUSTDESK_TIMEOUT 30 Request timeout (seconds)

Usage

python -m rustdesk_mcp

Or add to MCP client config:

{
  "mcpServers": {
    "rustdesk": {
      "command": "python",
      "args": ["-m", "rustdesk_mcp"],
      "env": {
        "RUSTDESK_API_BASE_URL": "http://127.0.0.1:21114",
        "RUSTDESK_API_USERNAME": "default",
        "RUSTDESK_API_PASSWORD": "default"
      }
    }
  }
}

Project Structure

rustdesk-mcp/
├── README.md
├── LICENSE
├── .gitignore
├── pyproject.toml
├── requirements.txt
└── rustdesk_mcp/
    ├── __init__.py
    ├── __main__.py
    └── server.py

Roadmap

  • Native RustDesk protocol screen control (not via shell)
  • Session management
  • Multi-user device filtering
  • File search on remote devices
  • Docker deployment

License

MIT

MCP Server · Populars

MCP Server · New

    getArbor-dev

    Arbor

    Graph-native code intelligence that replaces embedding-based RAG with deterministic program understanding.

    Community getArbor-dev
    Q00

    ouroboros

    Agent OS: Stop prompting. Start specifying.

    Community Q00
    velane-sh

    velane

    Velane is agentic cloud for deploying your basic workflows, agents and sub-agents. 800+ OAuth integrations, sandboxed Bun and Python execution, and a full deployment pipeline managed via MCP

    Community velane-sh
    MCPBlender

    BlenderMCP

    🎨 Control Blender 3D with Claude AI — prompt-driven 3D modeling, materials & scene generation via MCP

    Community MCPBlender
    MCPBlender

    AbletonMCP

    🎵 Control Ableton Live with Claude AI — create tracks, arrange clips & compose music via MCP

    Community MCPBlender