open-computer-use
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@open-computer-useList the windows currently open on my screen"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
open-computer-use
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 running and recently used applications. |
| Read an app's accessibility tree and screenshot. |
| Click by |
| Invoke an element's own secondary action. |
| Scroll an element by pages, or a window by pixel deltas. |
| Drag between two coordinates. |
| Type text, Unicode-safe, background-first. |
| Press a key or chord ( |
| 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).
Related MCP server: Automation MCP
Quick start
npm i -g @opensymph/open-computer-use
ocu doctor # verify the install; macOS: prompts for permissions
ocu call list_appsmacOS 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 # opencodeAny 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:
Install the runtime once (the plugin falls back to it when no local build exists):
npm i -g @opensymph/open-computer-useIn ZCode, open Settings → Plugin Management → Discover and click +.
Add this repository — the GitHub URL
opensymph/open-computer-use, or a local checkout directory.Find Open Computer Use in the list and click Get.
Start a new session. Check Settings → MCP shows
open-computer-useas 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 -yWhy 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 callruns any tool from your shell and prints MCP-style JSON;--callschains 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, |
Windows | Go, single exe | UI Automation + Win32, process-isolated operations, full window2 API; display-level desktop commands (see below). |
Linux | Go, single binary | Native AT-SPI2 over D-Bus; display-level X11 commands (see below). |
Display-level desktop commands (all platforms)
Every runtime ships the same whole-desktop CLI commands that mirror the classic xdotool / ffmpeg desktop stack — same command names, flags, and JSON output on macOS, Windows, and Linux — handy for headless VNC desktops or full-screen observation where you want to capture or drive the entire screen rather than a single app:
open-computer-use screenshot --output shot.png # whole-desktop PNG (base64 to stdout without --output)
open-computer-use cursor-position # pointer x/y + desktop size (JSON, identical shape)
open-computer-use record start --output rec.mp4 --fps 60 --quality demo --polish
open-computer-use record stop --save-as demo-take # also writes demo-take.polished.mp4 when --polish
open-computer-use record polish --input demo-take.mp4 # compositor: zoom/lens/blur/cursor/keys (or --engine ffmpeg / --ripples)
open-computer-use record discard # stop + delete (Cursor RecordScreen DISCARD parity)
open-computer-use record statusscreenshot and cursor-position are read-only. Per-platform notes:
Linux | Windows | macOS | |
screenshot | pure-Go X11 read, | GDI read of the whole virtual desktop | per-display capture composited over the desktop bounds (Screen Recording permission) |
cursor-position | X11 |
| CGEvent pointer in top-left desktop coordinates |
input backend |
| SendInput | CGEvent to the HID tap (Accessibility permission) |
input gate |
|
|
|
record backend |
|
| prefers |
record quality |
| same | same flags; ffmpeg path honors them, screencapture fallback ignores encode knobs |
record polish | clean-room frame compositor aligned with polished-renderer (idle remap → zoom → lens warp → camera motion blur → cursor depress/motion-blur → keystroke chips). | same | macOS uses ffmpeg+ASS path; accepts |
The Linux commands accept --display (defaults $DISPLAY, then :0; a VNC/AnyOS desktop is usually :1); Windows and macOS operate on the whole desktop and have no --display. Global synthetic input moves the real pointer/keyboard, so each platform gates it behind its own opt-in flag (default off):
OPEN_COMPUTER_USE_ALLOW_GLOBAL_POINTER_FALLBACKS=1 open-computer-use input click --x 960 --y 600 # Linux
OPEN_COMPUTER_USE_WINDOWS_ALLOW_FOREGROUND_INPUT=1 open-computer-use.exe input type "hello" # Windows
OPEN_COMPUTER_USE_MACOS_ALLOW_FOREGROUND_INPUT=1 open-computer-use input key ctrl+s # macOSThese commands are CLI-only and never touch the official 14-tool MCP surface.
Documentation
Architecture — how the three runtimes work
Skill references — usage, installation, troubleshooting
License
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Control real Android and iOS devices with LLM agents — tap, swipe, type, automate flows.
Turns any agent into a full agentic application — branded, interactive screens generated at runtime.
Related MCP Servers
- AlicenseAqualityBmaintenancePlaywright for the entire OS. Give AI agents eyes and hands on any desktop app — find, click, type, and read UI elements across Linux, macOS, and Windows.2746MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to automate macOS desktop tasks including mouse control, keyboard input, screenshots, window management, and UI interaction.14414MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to see and control your desktop with tools for screenshots, clicks, typing, and more, all locally on macOS and Windows.119MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to control macOS applications through the Accessibility API, AppleScript, and CGEvents, providing structured text output of UI elements and actions without needing screenshots.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/opensymph/open-computer-use'
If you have feedback or need assistance with the MCP directory API, please join our Discord server