← Back to archive

Repo of the Day

psmux/DeskVNC: Native VNC, RDP and SSH client for Windows, macOS and Linux. Pure-Rust protocol cores, Tauri 2. One host library for all three, plus an MCP control plane so an AI agent can drive remote desktops with human takeover.

Published: Sep 16, 2026

Open repository ↗

Native VNC, RDP and SSH client for Windows, macOS and Linux. Pure-Rust protocol cores, Tauri 2. One host library for all three, plus an MCP control plane so an AI agent can drive remote desktops wi...

Summary

DeskVNC is a native cross-platform remote desktop client that consolidates VNC, RDP, and SSH into one Rust + Tauri 2 app for Windows, macOS, and Linux. It also ships dvv, an MCP server so an AI agent can drive saved machines over the same protocols, with no install on the target and a human able to take over mid-session. The project is dual-licensed under Apache-2.0 or MIT and is pre-1.0.

What it is useful for

Engineers managing mixed Windows, Linux, and headless boxes usually juggle separate VNC, RDP, and SSH tools. DeskVNC replaces that with one host library: each saved machine keeps credentials in the OS keychain, opens on a double-click, and shows a thumbnail of the last view. Sessions are tabs that can split into panes holding different machines and protocols side by side.

The dvv MCP plane reaches machines where installing an agent is refused: Citrix, VDI, jump hosts, locked-down Windows. Claude Code and OpenCode are verified MCP clients; Codex, Cursor, Gemini CLI, VS Code, and Python agents are covered in docs/AGENTS.md. A separate DeskVNC Support app handles ad-hoc help with invitation codes that recipients approve.

How engineers can use it

Install a release build (macOS is notarized; the Windows installer is unsigned and triggers SmartScreen). Add a host with New Host or paste 10.0.0.4:5901, rdp://frontdesk, or ssh://ops@jump-01, then double-click. Scan network finds nearby listeners.

To build from source, install Rust 1.95+, Node 22+, and the Tauri 2 prerequisites, then:

npm install --prefix ui
cargo install tauri-cli --version "^2"
cargo tauri dev

To enable agent control, switch on the plane in the AI Agents panel and register the MCP server, for example with Claude Code:

claude mcp add deskvnc -- /Applications/DeskVNCViewer.app/Contents/MacOS/dvv mcp --stdio

The core loop is dvv_hosts to list machines, dvv_open to connect and get a limbId, dvv_control with action: "acquire", and dvv_screen to inspect the desktop. Then dvv_click, dvv_type, dvv_key, dvv_files, dvv_clipboard, dvv_run, and dvv_wait cover most actions. Coordinates and typing carry a generation token from the latest capture; a stale token is refused with SCREEN_CHANGED, and clicking into a pane revokes the agent on that session.

Limitations: pre-1.0 so stored data and the IPC contract may change between minor versions; the Windows installer is unsigned; the Linux support app, browser access, and automatic private provider deployment are still in development.