Skip to main content
Glama
Computer Use MCP Server

Computer Use MCP Server

Computer Use MCP Server for Claude Code

An MCP (Model Context Protocol) server that gives Claude Code the ability to see and interact with your Linux desktop — take screenshots, click, type, scroll, drag, and more.

Built on top of xdotool, scrot, and ImageMagick. Designed to run as a stdio MCP server inside Claude Code.

Features

  • Screenshots — full desktop capture, automatically scaled to fit API constraints

  • Mouse control — left/right/middle/double/triple click, drag, move, scroll

  • Keyboard input — type text, press key combinations, hold keys

  • Screen zoom — capture a region at full (unscaled) resolution for reading small text

  • Display info — query resolution, scale factor, and coordinate space

All coordinates use a scaled coordinate space that maps to the actual screen resolution. The server handles the conversion transparently.

Related MCP server: linux-computer-use

Prerequisites

  • Linux with X11 (Wayland is not supported)

  • Python >= 3.10

  • System packages:

    sudo apt install xdotool scrot imagemagick x11-utils

    Note: xdpyinfo is part of the x11-utils package on Debian/Ubuntu — there is no standalone xdpyinfo package.

Installation

git clone https://github.com/SebastianBaltes/claude_code_computer_use_mcp.git
cd claude_code_computer_use_mcp
python3 -m venv .venv
source .venv/bin/activate
pip install -e .

Claude Code Configuration

The easiest way is to use the Claude Code CLI:

claude mcp add computer-use --scope user -- /path/to/claude_code_computer_use_mcp/.venv/bin/python -m computer_use_mcp.server

Replace /path/to/ with your actual clone path. Then restart Claude Code — the computer_* tools will be available automatically.

Alternatively, add the server manually to ~/.claude.json under mcpServers:

{
  "mcpServers": {
    "computer-use": {
      "type": "stdio",
      "command": "/path/to/claude_code_computer_use_mcp/.venv/bin/python",
      "args": ["-m", "computer_use_mcp.server"],
      "env": {}
    }
  }
}

Note: The valid --scope values are local, user, project, dynamic, enterprise, claudeai, and managed. Use user for a personal installation available across all projects.

Available Tools

Tool

Description

computer_screenshot

Capture the full desktop

computer_left_click

Left-click (with optional modifier key)

computer_right_click

Right-click

computer_double_click

Double-click

computer_triple_click

Triple-click (select line)

computer_middle_click

Middle-click

computer_mouse_move

Move cursor without clicking

computer_left_click_drag

Click and drag

computer_type

Type a text string

computer_key

Press a key or key combo (e.g. ctrl+s)

computer_scroll

Scroll in any direction

computer_hold_key

Hold a key for N seconds

computer_wait

Pause for N seconds

computer_cursor_position

Get current cursor position

computer_zoom

Capture a screen region at full resolution

computer_display_info

Get display resolution and scale info

How It Works

The server detects the screen resolution via xdpyinfo and calculates a scale factor to keep screenshots within Anthropic's API image constraints (max 1568px long edge, max 1.15M total pixels). All coordinates passed by Claude are in this scaled space and get converted to actual screen coordinates before executing actions.

License

MIT

Available Tools

16 tools
computer_cursor_positionA

Get the current mouse cursor position in scaled coordinates.

Inputs: no named parameters.

computer_display_infoA

Get information about the display: resolution, scale factor, and coordinate space.

Inputs: no named parameters.

computer_double_clickA

Double-click at the given coordinates. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x (required), y (required).

computer_hold_keyB

Hold down a key for a specified duration in seconds.

Inputs: keys (required), duration (required).

computer_keyA

Press a key or key combination. Use xdotool key names: Return, Tab, Escape, BackSpace, Delete, space, Up, Down, Left, Right, Home, End, Page_Up, Page_Down, F1-F12, ctrl+c, ctrl+v, ctrl+z, alt+F4, super, ctrl+shift+t, etc. Multiple keys can be chained with '+' for combos.

Inputs: keys (required).

computer_left_clickA

Click the left mouse button at the given coordinates. Optionally hold a modifier key (shift, ctrl, alt, super) during the click. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x (required), y (required), modifier.

computer_left_click_dragA

Click and drag from start coordinates to end coordinates. Useful for drag-and-drop, resizing windows, selecting text regions, etc. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: start_x (required), start_y (required), end_x (required), end_y (required).

computer_middle_clickA

Middle-click at the given coordinates. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x (required), y (required).

computer_mouse_moveA

Move the mouse cursor to the given coordinates without clicking. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x (required), y (required).

computer_right_clickA

Right-click at the given coordinates. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x (required), y (required).

computer_screenshotA

Take a screenshot of the current desktop. Returns the screenshot as a PNG image. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: no named parameters.

computer_scrollA

Scroll at the given coordinates in the specified direction. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x (required), y (required), direction (required), amount.

computer_triple_clickA

Triple-click at the given coordinates (select a line of text). The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x (required), y (required).

computer_typeA

Type a text string at the current cursor position. The text is typed character by character with a small delay. Use this for entering text into input fields, editors, etc. For special keys or shortcuts, use computer_key instead.

Inputs: text (required).

computer_waitA

Wait/pause for a specified duration in seconds. Useful to let UI settle.

Inputs: duration (required).

computer_zoomA

Capture a specific region of the screen at full (unscaled) resolution. Useful for reading small text or inspecting UI details. Provide top-left (x1, y1) and bottom-right (x2, y2) coordinates of the region. The display is 1429x804 pixels (scaled from 1920x1080). All coordinates are in the scaled coordinate space.

Inputs: x1 (required), y1 (required), x2 (required), y2 (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 16 tools

    Disambiguation5/5

    Each tool targets a distinct action (click, double-click, triple-click, drag, scroll, key press, type, etc.) with clear descriptions, avoiding overlap. The only potential confusion among click variants is resolved by explicit naming.

    Naming Consistency5/5

    All tools follow the 'computer_<action>_<target>' pattern (e.g., computer_left_click_drag, computer_mouse_move). No mixing of naming conventions.

    Tool Count5/5

    16 tools is well-scoped for a computer control server, covering essential mouse, keyboard, screenshot, and zoom operations without being excessive or sparse.

    Completeness4/5

    Covers core GUI automation operations thoroughly, but lacks clipboard access or system-level actions (e.g., opening applications). Minor gap for advanced workflows.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers