list_appsLABSCO SUMMARY
Non-intrusive computer use — the agent works while you keep using the machine.
The design decision that matters is refusing the easy fallback: actions route through accessibility or process-targeted events rather than global mouse and keyboard, so an agent driving an app does not grab your cursor or pull the window to the front.
What it is
An open-source computer-use service wrapped as an MCP server, so any agent or MCP client can drive a desktop app. It works through the accessibility layer, which is what lets it target elements directly instead of moving a physical cursor around.
What you get
list_appsandget_app_state— what is running, and the state of one app including its accessibility tree and a screenshotclickwith a repeat count, targeted at an element through accessibility rather than a global pointer eventset_valuefor writing into a field, with a settable-attribute check first, so a non-settable target returns an error instead of silently falling back to keyboard or clipboard trickstype_textandpress_keyfor keyboard input, posted to the target process so focus is not stolenscrollwith fractional page support, anddragperform_secondary_actionfor menu items and secondary actions- A CLI alongside the server:
open-computer-use call <tool>runs a single tool and prints the MCP-style JSON result, and--callsruns a sequence in one process so element index state can be reused - Installers that write the config for you —
install-codex-mcp,install-claude-mcp,install-gemini-mcp,install-opencode-mcpandinstall-codex-plugin open-computer-use doctorto check permissions, opening onboarding only when something is missing
Requirements
npm i -g open-computer-use, which also exposes the short alias ocu. The macOS runtime requires macOS 14.0 or later, and on macOS you run it once to grant Accessibility and Screen Recording; Windows and Linux need neither step. Register it with your agent through one of the installer subcommands, or add the MCP config by hand with open-computer-use as the command and mcp as the argument. Global physical pointer events are off by default and only enabled behind an explicit opt-in environment variable, which is why the agent working in the background does not fight you for the mouse.
Setup effort
One command — npm i -g open-computer-use
USE CASES
Automating an app that has no API
Read the app's accessibility tree, act on the elements you find, and read the state back — no screen-coordinate guessing.
Keeping working while the agent does
Element-targeted actions and process-targeted key events mean the agent does not take the foreground or the pointer away from you.
Filling in a form reliably
Writing a value checks the field is settable first and reports an error if it is not, instead of pretending success after a keyboard workaround.
Debugging a tool call without the agent
Call one tool from the terminal and read the JSON result, or run a whole sequence in one process so element indexes stay valid between steps.
Getting it into your agent quickly
One installer subcommand each for Codex, Claude Code, Gemini CLI and opencode writes the configuration in the right place.
9 tools
Listed in project docs. Your client may show a different list.
get_app_stateclickset_valuetype_textpress_keyscrolldragperform_secondary_actionBEFORE YOU INSTALL
What to know first
Tools you get
9 tools named in the project's documentation.
Requires
open-computer-use on PATH
INSTALLATION
Connect your client
Server setup
npm i -g open-computer-useMCP Clients
Codex — plugin
open-computer-use install-codex-pluginClaude Code
open-computer-use install-claude-mcpGemini CLI
open-computer-use install-gemini-mcpOpenCode
open-computer-use install-opencode-mcp