open-compute (computer-use)

io.github.lukischPublished by GitHub account lukischv0.1.0-alpha.6Updated Oct 24, 2026

Model-agnostic computer-use MCP: screenshot, safety-gated actions, Windows UIA targeting.

VerifiedSTDIODesktop onlyBrowser AutomationDeveloper Tools

Overview

AI-generated overview

Model-agnostic computer-use MCP server that captures screenshots and performs safety-gated input actions on a Windows desktop.

What you can do
This npm launcher starts a Python open-compute MCP server and forwards MCP JSON-RPC over local stdin/stdout. It provides computer-use capabilities: taking screenshots and performing input actions that are gated by safety controls. It also supports Windows UI Automation (UIA) targeting so actions can be directed at specific interface elements. The actual tool schemas are defined by the running Python server at the selected source ref.
When to use it
Use this when you want an AI assistant to see and interact with a Windows desktop, for example to automate GUI tasks or inspect on-screen elements. It is intended for setups where the MCP client runs on the same Windows desktop that is to be controlled. It is not suitable for headless or cloud-hosted desktop environments.
Requirements
Runs as a local process via npx. Requires Node.js 18 or newer and uv; the backend requires Python 3.10 or newer. The default launch fetches the Python server from GitHub at the master branch, and OPEN_COMPUTE_GIT_REF can select a branch, tag, or commit. Network access is needed for bootstrap. Real screen capture and input require an interactive Windows desktop on the MCP client's host.
Before you install
The wrapper does not implement a network filter, sandbox, privilege drop, or environment scrubber; the child process inherits the launcher's environment and operating-system privileges. Local stdio does not block network access by the child or MCP client. The client controls routing of tool results, including screenshots. Action modes and targeting belong to the Python server; configure the client's approval controls. This wrapper is not an operating-system security boundary.

Installation

In SourceWeft

  1. Open open-compute (computer-use) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

[open-compute MCP server emblem]

open-compute-mcp

npm launcher for the Python open-compute MCP server. It forwards MCP JSON-RPC over local stdin/stdout. Real screen capture and input require an interactive Windows desktop on the MCP client's host. No Glama or other hosted/cloud desktop deployment is provided.

This short entrypoint replaces the long-form README.md at predecessor commit 59cd953. The corrected detailed guide is archived here, retaining the former section anchors and diagrams. It is a corrected copy, not an unchanged historical snapshot; the original remains available at the commit link.

[CI] [npm version] [Tests: node --test] [Node.js] [License: MIT] [MCP Server] [Verified: 2026-11-01] [LLM Context]

EN | Deutsch

Install and run

Requires Node.js 18 or newer and uv. The backend requires Python 3.10 or newer; uvx can use a compatible installed interpreter or download and manage one when needed. The default launch fetches the Python server from GitHub at the master branch; set OPEN_COMPUTE_GIT_REF to choose a branch, tag, or commit. These bootstrap steps require network access.

Add this server to a local MCP client:

json
{  "mcpServers": {    "open-compute": {      "command": "npx",      "args": ["-y", "open-compute-mcp"]    }  }}

The npm package is published separately from this Git repository; check its published version for a particular source revision. A direct uvx configuration is in the detailed quick start.

Architecture & Protocol Flow

The launcher bridges client JSON-RPC requests across local stdio to the Python engine executing on the interactive Windows desktop:

mermaid
sequenceDiagram    autonumber    actor Reasoner as AI Reasoner (Antigravity / Claude / Cursor)    participant Launcher as Node.js Launcher (open-compute-mcp)    participant Engine as Python MCP Server (open-compute via uvx)    participant Desktop as Windows Desktop (WGC / UIA / Win32)    actor Operator as Human Operator (Supervision & Approvals)
    Note over Reasoner,Operator: Phase 1 - Transport Initialization & Tool Discovery    Reasoner->>Launcher: MCP stdio JSON-RPC (initialize / tools/list)    Launcher->>Engine: Spawn Python process & pipe stdio    Engine-->>Launcher: Return tool schemas (capture, tree, do, click_name)    Launcher-->>Reasoner: Forward available tool definitions
    Note over Reasoner,Operator: Phase 2 - Desktop Inspection & Visual Context    Reasoner->>Launcher: Call capture(window?) or tree()    Launcher->>Engine: Forward tool invocation over stdio    Engine->>Desktop: Windows Graphics Capture (WGC) or UI Automation inspect    Desktop-->>Engine: Raw frame buffer / accessibility element tree    Engine-->>Launcher: Formatted image (base64 PNG) or JSON tree result    Launcher-->>Reasoner: Relay visual context to model
    Note over Reasoner,Operator: Phase 3 - Human Oversight & Gated Action Execution    Reasoner->>Launcher: Propose action: do(click, x, y) or click_name(target)    Launcher->>Engine: Forward action request over stdio    alt Client Approval Gate        Operator->>Engine: Confirm interactive desktop action        Engine->>Desktop: Synthesize mouse / keyboard event via Win32 API        Desktop-->>Engine: Action outcome & state change        Engine-->>Launcher: Success status report    else Deny or Boundary Check        Engine-->>Launcher: Action blocked by policy or client denial    end    Launcher-->>Reasoner: Forward execution receipt

What the launcher does

It starts the Python MCP server and forwards stdio. The wrapper does not implement a network filter, sandbox, privilege drop, or environment scrubber. The child inherits the launcher's environment and operating-system privileges.

The default uvx command retrieves the Python project from GitHub; npm installation contacts npm. In an interactive terminal, the optional update notice may check npm. Local stdio describes the client-to-wrapper transport; it does not block network access by the child or MCP client. The client controls routing of tool results, including screenshots.

For real capture and input, run the MCP client on the Windows desktop to be controlled. Action modes and targeting belong to the Python server; configure the client's approval controls. This wrapper is not an operating-system security boundary.

Tools and configuration

The tool reference is a snapshot of the separate Python project's tool list at a documented source ref. The running server's schemas define the available tools for the selected ref. See also the environment variables.

Related integration

The Cowork Protocol Desktop Companion includes an optional, human-started computer-use adapter that launches the separate Python Open Compute MCP server over local stdio. Its documented default uses uvx; this npm launcher is not a Cowork dependency. This relationship does not change the process, network, or privilege boundaries described above.

Documentation

The repository source manifest currently declares 0.1.0-alpha.20. This documentation work changes no version and publishes no release.

Source: README.md at commit 4419900

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0-alpha.6LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts