open-computer-use

open-computer-use

Lets AI agents see and control desktop applications through the accessibility layer, enabling clicking, typing, scrolling, dragging, and window/app management across macOS, Windows, and Linux entirely on the local machine.

Category
Visit Server

README

<p align="center"> <img src="./assets/logo/open-computer-use-256.png" width="144" alt="open-computer-use"> </p>

open-computer-use

npm Release License: MIT 简体中文

A local MCP server that gives AI agents eyes and hands on your desktop. Agents can see an app's interface, click, type, scroll, and drag — through the accessibility layer, without taking over your real mouse and keyboard. Runs entirely on your machine, on macOS, Windows, and Linux.

The tools

Nine core tools, identical across all three platforms:

Tool What it does
list_apps List running and recently used applications.
get_app_state Read an app's accessibility tree and screenshot.
click Click by element_index or screenshot coordinates.
perform_secondary_action Invoke an element's own secondary action.
scroll Scroll an element by pages, or a window by pixel deltas.
drag Drag between two coordinates.
type_text Type text, Unicode-safe, background-first.
press_key Press a key or chord (ctrl+s, return, page_up…).
set_value Set the value of a settable control directly.

Five additional window-level tools — list_windows, get_window, get_window_state, launch_app, activate_window — follow the newer window2 API and are currently available on Windows (macOS and Linux in progress).

Quick start

npm i -g @opensymph/open-computer-use
ocu doctor        # verify the install; macOS: prompts for permissions
ocu call list_apps

macOS 14+ needs Accessibility and Screen Recording granted once. Windows and Linux work out of the box in a signed-in desktop session (Linux desktops need AT-SPI2, which GNOME and friends ship by default).

No npm? Grab the tarball from GitHub Releases and run npm i -g <tarball> — or install it into ZCode as a plugin (below) and it will use whatever local runtime it finds.

Connect your agent

ocu install-codex-mcp      # Codex CLI & Codex App
ocu install-codex-plugin   # Codex App, plugin form
ocu install-claude-mcp     # Claude Code
ocu install-gemini-mcp     # Gemini CLI (--scope user for global)
ocu install-opencode-mcp   # opencode

Any other MCP client — add it manually:

{
  "mcpServers": {
    "open-computer-use": { "command": "open-computer-use", "args": ["mcp"] }
  }
}

ZCode

This repo ships as a ZCode plugin — one install gives you the skill and an auto-connected MCP server:

  1. Install the runtime once (the plugin falls back to it when no local build exists):

    npm i -g @opensymph/open-computer-use
    
  2. In ZCode, open Settings → Plugin Management → Discover and click +.

  3. Add this repository — the GitHub URL opensymph/open-computer-use, or a local checkout directory.

  4. Find Open Computer Use in the list and click Get.

  5. Start a new session. Check Settings → MCP shows open-computer-use as connected, then just ask: "list the windows on my screen".

To remove it later: Installed tab → Open Computer Use → uninstall.

Agent skill — installable guidance that teaches agents to use these tools well:

npx skills add opensymph/open-computer-use -g -a claude-code --skill open-computer-use -y

Why this one

  • Non-intrusive by design. Prefer the accessibility API over synthetic input; your real pointer, focus, and foreground app stay put unless you explicitly opt into global input.
  • Three platforms, one contract. The same tool names, arguments, and results on every OS — agents don't need per-platform branching.
  • A cursor you can watch. On macOS, actions drive a visible software cursor, so you can follow what the agent is doing.
  • Scriptable without a client. ocu call runs any tool from your shell and prints MCP-style JSON; --calls chains sequences in one process.
  • Guardrails built in. Password managers are always refused. Launching apps, stealing focus, and global input injection each sit behind an explicit environment-variable gate.
  • Signed where it matters. The macOS runtime is Developer ID signed, so granted permissions survive version upgrades.

Platform status

Platform Runtime Notes
macOS Swift Visual cursor, permission onboarding, sky_click background clicks.
Windows Go, single exe UI Automation + Win32, process-isolated operations, full window2 API.
Linux Go, single binary Native AT-SPI2 over D-Bus, zero runtime dependencies.

Documentation

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured