Model or dataset
barry-ran/QuickDesk avatar
barry-ran/QuickDesk

QuickDesk: an MCP server bolted onto a Chromium Remoting remote desktop

QuickDesk is the first AI-native remote desktop — an open-source, free application with a built-in MCP (Model Context Protocol) Server that lets any AI agent see and control remote computers.

457 stars74 forksQMLMIT

At a glance

What is it?
QuickDesk is an MIT-licensed remote desktop client whose distinguishing feature is a built-in Model Context Protocol server, so an AI agent can drive a remote machine through the same session a human would use. The README claims a C++ stack and Chromium Remoting as the transport; the interesting question is what the MCP layer actually exposes and what it costs you to run it.
Who is it for?
QuickDesk is worth a look if you already run MCP clients and want an agent to operate a Windows or macOS machine that a human can watch and interrupt, and if you are willing to self-host signaling and TURN to keep the traffic yours. It is the wrong choice if you need Linux or mobile endpoints today, or if you want a remote desktop that has been through a decade of adversarial use.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 30 days ago.
What is it written in?
Mainly QML, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem QuickDesk is aimed at, and who feels it

Computer-use agents have a locality problem. An agent that can screenshot, click, and type is normally confined to the machine it runs on, because the operating system APIs it calls are local. Reaching a second machine means either installing the agent there as well, or building a bridge that translates agent actions into remote input events. QuickDesk takes the second route. Its README describes the project as extending AI Computer Use "from local machine only to any remote machine in the world", which is a fair statement of the gap it fills. The intended user is someone who already has an MCP-capable client (the README names Cursor, Claude Desktop, and VS Code) and wants that client to operate a remote host. The secondary audience is anyone who wants a self-hosted remote desktop and happens to care about the MCP surface as a bonus. Those two audiences have different tolerances for rough edges, and the README is written mostly for the first.

What the MCP server exposes, and the two ways to reach it

The MCP server ships inside the application rather than as a separate binary. The README documents two transports. In stdio mode the AI client spawns the QuickDesk process and speaks over standard input and output, which is the conventional MCP pattern and requires no listening port. In HTTP/SSE mode QuickDesk hosts the server itself and multiple clients connect to it, which is what you would want for a shared workstation or a fleet. The README also states that the chosen transport mode persists across restarts, a small detail that matters more than it sounds: a mode that silently reverts would break headless setups. On the tool side the README claims 40+ MCP tools in the features list and 20+ in the marketing section, including screenshot, mouse click, drag, scroll, keyboard type and hotkey, clipboard, OCR text recognition, UI element detection, and screen verification. It also mentions 9 built-in prompt templates covering remote operation, server health check, batch automation, system diagnosis, screen analysis, multi-device orchestration, and SOP documentation. The two tool counts in the same README disagree, and that is the kind of thing you should resolve by reading the actual tool registry in the source rather than trusting either number.

Chromium Remoting underneath, Qt 6 on top

The transport is not a custom protocol. QuickDesk states it is built on Google Chromium Remoting, the engine behind Chrome Remote Desktop, and that the core paths for video encode, decode, network transmission, and screen capture reuse Chromium's C++ code. Connection setup goes through WebRTC ICE, preferring peer-to-peer and falling back to a TURN relay when traversal fails. Codecs listed are H.264, VP8, VP9, and AV1, selectable by network and hardware conditions. The GUI is Qt 6 with QML, described as Fluent Design with light and dark themes. Two implementation details in the performance section are concrete enough to be worth repeating: video frames in YUV I420 are passed between processes through shared memory rather than serialized over a socket, and the YUV data goes into the render pipeline through Qt 6's QVideoSink, which the README describes as zero-CPU-copy rendering. Those are plausible mechanisms for a C++ application and they explain why the project claims low memory and CPU use. Note that the claim is unverified here; the README's comparison table awards itself five out of five for both memory and CPU against RustDesk's three, which is a self-assessment, not a measurement.

Getting it running: install path, MCP config, and self-hosting

The README offers binaries through the releases page and shows Windows and macOS build badges, so the fastest path is to download the installer for your platform rather than build from source. Once installed, MCP configuration happens in the application's AI Config screen, shown in the repository as docs/image/screenshot_mcp.jpg, where you choose stdio or HTTP/SSE. The README does not print a literal JSON config block for a client, so you should expect to read docs/mcp-integration.md for the exact snippet your client needs; that file is linked from the README but its contents are not reproduced there. For self-hosting, the README says you can deploy your own signaling and TURN relay servers and keep control of your data, but it does not give the server names, ports, or config keys in the README text. That is the biggest documentation gap in the material available. If your plan depends on running your own signaling, budget time to read the source and the linked integration guide before assuming the setup is a single config file. The releases listed are v4.2.0.0, v4.1.1.0, and v4.0.3.3, all within roughly a month of each other, which suggests an active release cadence rather than a stable long-term branch.

The platform gap and the trust question

Windows and macOS are supported. Linux is marked as planned, and iOS and Android likewise. If your fleet includes Linux servers, which is where headless automation usually wants to run, QuickDesk cannot reach them yet. That is a hard boundary, not a roadmap detail. The second limitation is structural: an agent with screenshot, click, type, clipboard, and OCR access to a remote machine has the same capability as a person sitting at it. The README's mitigation is visibility, stating that AI operations are displayed in the QuickDesk GUI in real time and that the user can intervene at any time. That works when someone is watching the GUI. It does not help in an unattended batch run, which is exactly the scenario the multi-device orchestration feature is aimed at. Nothing in the README describes per-tool permission scoping, an allowlist, or an approval step for destructive actions. Treat the MCP server as equivalent to handing over the keyboard, and decide accordingly which machines you point it at.

How it differs from RustDesk

RustDesk is the closest open-source comparison and the README's table puts it side by side. The differences that matter are three. First, licence: RustDesk is AGPL-3.0 and the README claims a licence is required for commercial use, while QuickDesk is MIT with no feature restrictions or connection limits stated. If you want to embed remote control in a closed product, that distinction decides the question before anything technical does. Second, implementation: RustDesk uses a custom remote protocol with a Rust core and a Flutter/Dart GUI, whereas QuickDesk uses Chromium Remoting with a full C++ and Qt 6 stack. The trade-off is maturity against control. Chromium Remoting has been maintained by Google for a long time, but you inherit its assumptions and its release cycle; a custom protocol is smaller and easier to reason about end to end but has had far less exposure. Third, and the reason most people would pick QuickDesk at all, RustDesk has no MCP server. If your goal is an agent driving a remote desktop, RustDesk is not an alternative, it is a different tool. If your goal is remote support for humans, the MCP layer is weight you do not need.

Maintenance cost and licence implications

MIT is permissive: you can use QuickDesk commercially, modify it, and redistribute it, provided the copyright notice and licence text travel with it. That is a meaningful difference from AGPL-3.0, which reaches network use. This is a description of the licence, not legal advice; if you plan to ship QuickDesk inside a product, have counsel read the LICENSE file rather than this article. On maintenance, the release history shows three tagged releases between late July and mid August 2026, so expect to track upstream rather than pin and forget. The larger ongoing cost is the self-hosted infrastructure the README advertises: signaling and TURN relay servers you deploy and keep running. TURN in particular carries real bandwidth when peer-to-peer traversal fails, and the README gives no sizing guidance. A team that adopts QuickDesk for the MCP feature should count the relay servers as part of the deployment, not as an optional extra, because the fallback path is what makes the connection reliable when ICE fails.

Who should adopt it, and what to check first

Adopt QuickDesk if you run MCP clients already, your endpoints are Windows or macOS, and you want a human able to watch and interrupt the agent's actions on screen. The real-time visibility claim is the strongest argument in the README for this use case, because it turns an opaque automation into something observable. Do not adopt it if you need Linux or mobile endpoints, if your automation runs unattended and you have no way to bound what the agent does, or if you need a remote desktop whose protocol has survived years of hostile scrutiny. For that last group, Chromium Remoting is a reasonable foundation but the MCP layer on top is new code with a fresh attack surface. Two things to verify before committing: read docs/mcp-integration.md and confirm the exact client configuration it specifies, since the README does not show it, and reconcile the 20+ versus 40+ tool counts by listing the tools your client actually receives. Those two checks take an afternoon and tell you more than the comparison table does.

Editorial conclusion

QuickDesk is worth a look if you already run MCP clients and want an agent to operate a Windows or macOS machine that a human can watch and interrupt, and if you are willing to self-host signaling and TURN to keep the traffic yours. It is the wrong choice if you need Linux or mobile endpoints today, or if you want a remote desktop that has been through a decade of adversarial use. Before adopting, verify two things against your own install: that the MCP transport mode you pick survives a restart as the README claims, and that the Chromium Remoting host component actually builds and connects on your target OS rather than only on the maintainer's CI matrix.

Official sources

  1. barry-ran/QuickDesk on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
Community notes

Community notes