About Open Computer Use
Open Computer Use is an MCP server published by QwenLM in the Developer Tools category: mCP-based Computer Use service for Qwen Code and any AI agent — controls macOS, Linux, and Windows via accessibility APIs.
The repository has 296 stars and 33 forks, with the last commit 4 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/QwenLM/open-computer-useThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Open Computer Use
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- !Dependencies pinnedNo lockfile. Installs can pull different code over time.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
1 check has not been run yet.
Releases
README
open-computer-use
MCP-based Computer Use service for Qwen Code and any MCP client — controls macOS, Linux, and Windows via accessibility APIs.
Published to npm as @qwen-code/open-computer-use.
Demo
https://github.com/user-attachments/assets/cd0d1644-99e5-47fc-b998-c1eb3c1aabff
Quick Start
npm i -g @qwen-code/open-computer-use
On macOS, run it once and grant Accessibility and Screen Recording. Windows and Linux do not need this step.
open-computer-use
Add it to your MCP client config:
{
"mcpServers": {
"open-computer-use": {
"command": "open-computer-use",
"args": ["mcp"]
}
}
}
CLI Usage
# Call a single Computer Use tool and print the MCP-style JSON result
open-computer-use call list_apps
open-computer-use call get_app_state --args '{"app":"TextEdit"}'
# Run a sequence in one process so element_index state can be reused
open-computer-use call --calls '[{"tool":"get_app_state","args":{"app":"TextEdit"}},{"tool":"press_key","args":{"app":"TextEdit","key":"Return"}}]'
open-computer-use call --calls-file examples/textedit-overlay-seq.json --sleep 0.5
# Check permissions; onboarding only opens when something is missing
open-computer-use doctor
# Show help
open-computer-use -h
Configuration
Image capture (macOS)
The get_app_state screenshot and the post-action screenshots attached to every action tool can be tuned through environment variables read at capture time. All variables are optional; unset / non-numeric / out-of-range values fall back to the built-in defaults.
| Variable | Default | Meaning |
|---|---|---|
OPEN_COMPUTER_USE_IMAGE_CAPTURE_TIMEOUT |
5 |
Seconds to wait for SCScreenshotManager.captureImage before giving up. The MCP result still includes the accessibility tree on timeout; only the image block is dropped. Positive float. |
OPEN_COMPUTER_USE_IMAGE_MAX_BYTES |
900000 |
Byte budget for the encoded PNG. The downsampler iterates scale *= 0.85 until the encoded data fits this budget OR OPEN_COMPUTER_USE_IMAGE_MIN_SCALE is reached. Positive integer. |
OPEN_COMPUTER_USE_IMAGE_MAX_DIMENSION |
1280 |
Long-edge pixel cap for the returned PNG. Initial scale is min(1, OPEN_COMPUTER_USE_IMAGE_MAX_DIMENSION / largestNativeDimension), then clamped up to OPEN_COMPUTER_USE_IMAGE_MIN_SCALE. Positive float. |
OPEN_COMPUTER_USE_IMAGE_MIN_SCALE |
0.25 |
Floor on the downsample ratio. Neither MAX_DIMENSION nor MAX_BYTES will shrink below MIN_SCALE × native; a MAX_DIMENSION that would require less is clamped to this floor (it does not fall back to the full-size original). Lower it for more aggressive sizes. Float in (0, 1]. |
Coordinate accuracy is preserved across any downsampling — coordinate tools (click, drag, scroll) read the actual pixel dimensions back from the returned PNG and rescale model-supplied coordinates against the live window bounds.
These variables only affect macOS today. The Windows and Linux runtimes return native-size PNGs without downsampling.
See docs/IMAGE_CAPTURE.md for the full capture → downsample → encode pipeline, the constraint interaction (maxDimension / maxBytes / minScale), coordinate-mapping details, and worked examples.
Acknowledge
This project is a QwenLM fork of iFurySt/open-codex-computer-use. We thank the original author for the foundational work on macOS accessibility-driven computer-use patterns.
Differences from upstream
- Cross-platform: Added Windows (Go + PowerShell UI Automation) and Linux (Go + Python AT-SPI) runtimes
- npm distribution: Published as
@qwen-code/open-computer-usefor easy installation - MCP server: Full MCP stdio transport with 9 Computer Use tools
- CLI tools: Added
doctor,call,snapshot,list-appscommands for diagnostics and scripting - Image capture tuning: Environment variables for screenshot size/quality control
- Qwen Code skill: Installable skill for Qwen Code agent integration
- Cursor Motion: Retained in
experiments/but not built or released in CI
README fetched from the repository 5 days ago. The original is authoritative.