Realhands — Real Desktop Computer Use logo

Realhands — Real Desktop Computer Use

Controls a real computer through Claude using screenshots, mouse, keyboard, window activation, and safety controls.

Install Realhands — Real Desktop Computer Use

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "realhands-real-desktop-computer-use": {
      "command": "uvx",
      "args": [
        "realhands@latest"
      ],
      "env": {
        "COMPUTER_USE_MAX_DIM": "YOUR_VALUE_HERE",
        "COMPUTER_USE_IMAGE_FORMAT": "YOUR_VALUE_HERE",
        "CHANGE_THRESHOLD": "YOUR_VALUE_HERE",
        "MAX_SKIPS": "YOUR_VALUE_HERE",
        "COMPUTER_USE_IDLE_STOP": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

uvx realhands@latest

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 7d ago.

Overview

realhands — Real Desktop Computer Use gives Claude control of a physical computer through its actual screen, mouse, and keyboard. It exposes one MCP `computer` tool that captures screenshots, performs input actions, and returns updated screen state for a see-think-act loop. The server supports logged-in browser sessions and other desktop applications because it operates the OS rather than an isolated browser. Reach for it when an agent must interact with applications that are already open on your machine, especially across multiple monitors.

Use cases

  • Operate logged-in Chrome sessions through the real desktop
  • Submit releases in desktop web applications
  • Automate mouse and keyboard workflows across multiple monitors
  • Enter multiline or Unicode text into desktop applications

Key features

  • Real screen capture with coordinate mapping
  • Mouse, keyboard, scrolling, and drag actions
  • Multi-monitor selection and enumeration
  • Window activation by title
  • Batched actions and screenshot suppression
  • Fail-safe, panic hotkey, and STOP overlay controls

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

5/5 checks healthy over the last 41d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 14d ago via OSV.dev · realhands@latest (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
Last commit2mo agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Realhands — Real Desktop Computer Use works

What realhands — Real Desktop Computer Use does

realhands — Real Desktop Computer Use connects Claude Desktop or Claude Code to the physical desktop session running the MCP server. It can read the screen, move the real cursor, click, drag, scroll, type, press keys, hold keys, activate a window, wait for an interface to settle, and report cursor or monitor information. These actions work with the user's existing applications and logged-in browser sessions rather than a separate browser profile.

The server is intended for direct computer control. It does not provide an abstract browser API or a separate automation sandbox. Actions affect the machine attached to the session, so it should only be used where autonomous input to that desktop is acceptable.

How it works

Claude drives the interaction by calling the single computer tool. A typical task starts with screenshot; Claude interprets the returned image, chooses coordinates, and sends the next action. After a non-screenshot action, the server waits briefly for the interface and normally returns another screenshot. A steps list can combine multiple actions and return one final image, reducing repeated image transmission. A failed step stops the batch and reports the failure.

Screenshots are resized to a configurable maximum dimension and aligned to 28-pixel vision patches. Coordinates are mapped back to real screen pixels, with clamping to the selected monitor. On Windows, DPI awareness keeps screenshot coordinates aligned with pointer coordinates under display scaling. The optional monitor argument selects the primary display, another display, or the full virtual desktop; monitor enumeration is available through the tool.

Setup and configuration

The repository includes install.py, which creates a virtual environment, installs dependencies, creates configuration, and can register the server with Claude Desktop. The implementation uses Python 3.10 or 3.11, FastMCP over stdio, and desktop input and capture libraries including PyAutoGUI, MSS, Pillow, pynput, keyboard, pyperclip, python-dotenv, and Windows-specific window-management packages.

Configuration can be supplied through an optional .env file. COMPUTER_USE_MAX_DIM controls screenshot sizing, while COMPUTER_USE_IMAGE_FORMAT selects the image format. CHANGE_THRESHOLD and MAX_SKIPS control suppression of screenshots when the screen has changed little. COMPUTER_USE_IDLE_STOP can enable automatic stand-down after inactivity; it is disabled by default.

Tools and capabilities

The computer tool supports:

  • Screen capture, cursor-position reporting, and monitor enumeration
  • Mouse movement, clicks, double and triple clicks, dragging, button state, and scrolling
  • Text entry, key presses, key chords, and timed key holds
  • Window activation by title substring
  • Delayed waits and explicit task shutdown with stop
  • Batched action sequences through steps

realhands — Real Desktop Computer Use also has three documented safety mechanisms: moving the pointer to the fail-safe corner, a configurable panic hotkey, and an always-on-top STOP overlay. Safety controls arm on the first action and stand down when stop is called.

Limitations and notes

This server is fully autonomous and acts on the real machine without asking for approval before each input. Keep the panic controls available while it runs. The fail-safe corner and STOP behavior terminate or abort activity, while the panic hotkey hard-kills the process.

Screenshots consume vision context and are returned after actions unless suppressed for a batch. Smaller images reduce cost but may reduce grounding detail. The same monitor must be used for the screenshot and the coordinates derived from it. On multi-monitor systems, screen origins can be negative when a display is positioned left of or above the primary display.

The documented client integrations are Claude Desktop and Claude Code.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Realhands — Real Desktop Computer Use

realhands — Real Desktop Computer Use is an MCP server that connects Claude Desktop or Claude Code to a real computer's screen, mouse, and keyboard. Its main `computer` tool captures screenshots and performs clicks, typing, scrolling, key presses, window activation, waits, and other desktop actions on the physical OS session.

Use the repository's `install.py` installer. It creates a Python virtual environment, installs dependencies, prepares configuration, and can register the server with Claude Desktop. The documented runtime uses Python 3.10 or 3.11 and communicates through FastMCP over stdio.

Yes, it works with Claude Code. Claude Code drives the interaction by calling the server's single `computer` tool.

Yes, it supports multiple monitors through the optional `monitor` argument. Use the `monitors` action to enumerate displays, then use the same monitor selection for the screenshot and the coordinates based on that screenshot. The server also handles negative display origins.

Stop it with the `stop` action, the STOP overlay, the panic hotkey, or the PyAutoGUI fail-safe corner. The documented panic hotkey is Ctrl+Alt+Q by default, and moving the pointer to the top-left corner triggers the fail-safe. The overlay and hotkey are armed when a task begins.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewRealhands — Real Desktop Computer Use AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/realhands-real-desktop-computer-use?style=directory)](https://allmcps.com/mcp/realhands-real-desktop-computer-use)
HTML Embed
<a href="https://allmcps.com/mcp/realhands-real-desktop-computer-use"><img src="https://allmcps.com/api/badge/realhands-real-desktop-computer-use?style=directory" alt="Realhands — Real Desktop Computer Use on AllMCPs" /></a>