One client, one MCP server, one set of keys, on Windows, macOS and Linux
DeskVNC is written in Rust on Tauri 2. The same codebase lands as a native installer on Windows, macOS and Linux. The agent that drives your machines uses the same binary, the same loop, and the same refusal codes on every platform, with secrets in the keychain the host already audits.
The same native binary on three operating systems
Tauri 2 produces a single Rust codebase that lands as a signed Windows installer, a signed and notarised macOS bundle, and a Linux x86_64 package. Every release is one build per platform from the same source tree.
The Windows build is a code signed installer plus an MSI for deployment tooling. The macOS build is a universal DMG that runs natively on Apple Silicon and Intel. The Linux build ships three shapes: a deb, an AppImage, and the usual tarball, all from one x86_64 binary the project verifies together.
- 1 codebase Rust on Tauri 2, building natively on every supported platform
- 3 platforms Windows, macOS and Linux, each with its own signed installer
- 25 MCP tools The same server manifest on every host, asserted in source
- MIT or Apache-2.0 Dual licensed, free and open source
The same MCP server and the same dvv binary on every machine
The agent control plane, the small server called dvv, ships inside the same app on every operating system. The CLI behaves the same way a terminal sees it, and the MCP server answers the same JSON-RPC handshake with the same tool manifest.
Every machine is its own limb with its own lease, so ten machines are ten independent loops. The four codes the server can return are the same on every platform: LIMB_GONE, GEOMETRY_CHANGED, SCREEN_CHANGED, LEASE_REVOKED. dvv_screen returns a geometry_generation, and a click computed against a stale screen is refused.
The dvv binary, on each platform
Every install puts the agent binary somewhere an MCP client can find it. Three platforms, three paths, one tool.
| Platform | Path |
|---|---|
| Windows | %LOCALAPPDATA%\DeskVNCViewer\dvv.exe or C:\Program Files\DeskVNCViewer\dvv.exe |
| macOS | /Applications/DeskVNCViewer.app/Contents/MacOS/dvv |
| Linux (deb system install) | /usr/bin/dvv |
| Linux (AppImage) | ~/.local/share/DeskVNCViewer/bin/dvv |
| Linux (tarball) | the dvv binary inside the archive |
One secret store, the one the host already audits
Passwords and private keys live in the secret store the operating system already trusts, never in a plain profile file. Every host already has one that does the right thing.
| Platform | Store |
|---|---|
| macOS | Keychain Services |
| Windows | Credential Manager |
| Linux | Secret Service, such as GNOME Keyring or KWallet |
| Linux, headless or minimal | An encrypted file protected by a master password you choose |
An agent that opens one of your saved machines can drive the desktop, and it can never read or supply the password that opens it. There is no method on the server that returns a stored credential, and that property holds on every host.
One command per platform
Each command below installs the signed build for that platform and lands dvv at the path the agent already knows. Pick the line for your machine.
Windows
Download and run the installer from the release page, then confirm the SmartScreen prompt the first time.
winget install --id DeskVNC.DeskVNCViewer -e --source winget
macOS
Open the universal DMG, drag the app to Applications, and run it once.
brew install --cask deskvnc-viewer
Linux
Install the deb on Debian or Ubuntu, the rpm on Fedora and RHEL. The AppImage runs without an install anywhere else.
sudo apt install ./DeskVNCViewer_<version>_amd64.deb # Debian, Ubuntu
sudo dnf install ./DeskVNCViewer-<version>-1.x86_64.rpm # Fedora, RHEL
chmod +x DeskVNCViewer_<version>_amd64.AppImage # anywhere else
./DeskVNCViewer_<version>_amd64.AppImage
Per-OS deep pages
Each platform has its own story: signing, first-run prompts, keychain, and the places dvv lands when an installer finishes.
-
platforms-windows.html
The signed installer, SmartScreen, both binary paths, Credential Manager.
-
platforms-macos.html
Notarisation, the permissions macOS asks for, and the bundle path.
-
platforms-linux.html
deb, AppImage and tarball, Secret Service, the AppImage quirk.
The full install matrix, the file names and the checksums live in the deskvnc-install-matrix gist. The official release page is github.com/psmux/DeskVNC/releases/latest.