Legato

Computer-use MCP servers for coding agents, compared

These give Claude Code, Codex, Cursor or another MCP client a desktop to see and operate. They differ most in where the desktop runs and how they see the screen. Checked against each project's own docs on 13 November 2026.

project the desktop sees the screen through after an action own model loop license
Legato a Docker container on your machine, your own screen (macOS, Windows, Linux), any Linux sandbox you can run a command in, or E2B screenshots and pixel coordinates returns once the screen stops changing, with the screenshot yes: desktop_run_task hands a task to any OpenAI-compatible model Apache-2.0
Claude Code computer use your own screen (CLI: macOS) screenshots not stated no proprietary; Pro, Max or Ultra plan
Cua Driver your own computer, in the background (macOS, Windows, Linux) accessibility tree and screenshots waits up to 300 ms for a new window, menu or dialog no MIT
Cua cua mcp local containers and VMs, or your own cloud account not stated not stated no MIT
Open Computer Use your own computer (macOS; Windows and Linux experimental) accessibility tree and screenshots Linux: a fixed 120 ms, then a snapshot no MIT
computer-use-mcp your own computer screenshots and coordinates returns ok; the model takes a new screenshot no MIT
munim-computer-use your own computer, in the background (macOS, Windows, Linux) accessibility tree, OCR fallback optional: until accessibility notifications stop no Apache-2.0
Windows-MCP your Windows PC, or another one over HTTP Windows UI Automation tree, optional screenshot no automatic wait; Wait and WaitFor tools no MIT
Peekaboo your own Mac, in the background accessibility tree and screenshots no automatic wait; wait_for on click yes: peekaboo agent MIT
MacOS-MCP your Mac, or another one over HTTP accessibility tree, then coordinates no automatic wait; Wait tool no MIT
Terminator your Windows PC or a headless Windows VM accessibility tree no automatic wait; wait_for_element tool no MIT

Which to use

Legato works from screenshots and pixel coordinates, the way vision-language models are trained to act. That works on any app, including ones with a poor accessibility tree, but it gives the model no element IDs.

Edit this page on GitHub · Markdown