Cua

by trycua

Community Developer Tools 21k likes

Cua's MCP server lets an agent describe a computer-use task in plain English and have it executed inside a real macOS, Linux, or Windows session.

Install

pip install cua-mcp-server

Source: https://github.com/trycua/cua

About

run_cua_task hands a single natural-language instruction to Cua's Computer-Use Agent and runs it end to end: clicking, typing, and navigating a real desktop the way a person would. run_multi_cua_tasks chains several such instructions sequentially or concurrently, screenshot_cua captures the current screen for verification, and get_session_stats / cleanup_session manage the lifecycle of longer-running automation sessions.

The same CLI and MCP server binary runs unmodified on macOS, Windows, and Linux, and connects to Claude Code, Cursor, Codex, and other MCP clients. It's installed as a small PyPI package (Python 3.12+) on top of the broader open-source Cua computer-use agent and cross-OS VM driver stack.

Key features

  • run_cua_task executes one natural-language computer-use instruction end to end on a real desktop
  • run_multi_cua_tasks chains multiple tasks sequentially or concurrently
  • screenshot_cua captures the current screen state for verification mid-task
  • get_session_stats and cleanup_session manage long-running automation session lifecycles
  • Same CLI/MCP server binary works unmodified across macOS, Windows, and Linux
  • Built on Cua's open-source computer-use agent and cross-OS VM driver stack

Use cases

  • Automating a repetitive desktop workflow across apps that have no API
  • Running a QA or exploratory testing pass by describing steps instead of scripting them
  • Chaining several desktop tasks into one hands-off automation run
  • Capturing screenshots mid-automation so an agent (or a human) can verify progress

Available tools

run_cua_task

Executes a single Computer-Use Agent task from a natural-language instruction.

run_multi_cua_tasks

Runs multiple computer-use tasks in sequence or concurrently.

screenshot_cua

Captures a screenshot of the current computer-use session state.

get_session_stats

Returns usage and status statistics for an active or past session.

cleanup_session

Tears down and cleans up a computer-use session.

Frequently asked questions

What are the requirements to run it?

Python 3.12 or higher (below 3.14); after installing, it registers as an MCP server you point Claude Desktop, Cursor, or another MCP client at.

Does it need a virtual machine to work?

It can drive a live local desktop session directly, or one of Cua's sandboxed cross-OS VMs, depending on how it's configured.