Computer Use

io.github.hightempPublished by GitHub account hightempv1.1.4Updated Oct 24, 2026

Local MCP server for desktop automation: mouse, keyboard, screen, windows, and processes.

VerifiedSTDIODesktop onlyBrowser AutomationDeveloper Tools

Overview

AI-generated overview

Local MCP server that gives an assistant broad control of the desktop: mouse, keyboard, screen, windows and processes.

What you can do
  • Move, click, drag and scroll the mouse, including smooth and relative movement
  • Press keys, type text, and read, write or paste from the clipboard
  • Capture the screen or save screenshots, read display sizes and pixel colors
  • Inspect, activate, move, resize, minimize, maximize and close windows
  • List, search, check and kill processes, and run commands
  • Read system information, pause with delays, and show dialogs
When to use it
Useful when an assistant should operate graphical applications on the user's own machine, for example clicking through a UI, filling forms by typing, taking screenshots, or managing windows and processes during a desktop task.
Requirements
Runs locally over stdio, typically via npx with Node.js 18+. Building from source needs Go 1.21+, GCC and X11 libraries on Linux. On Linux, the DISPLAY and XAUTHORITY environment variables point to the X11 display and authority file.
Before you install
The README states it offers broad local desktop control and is not sandboxed by default, and warns against exposing it to untrusted networks, users or agents. Tools can type, click, read the clipboard, capture the screen, close windows, kill processes and run commands, so an assistant can change or destroy data on the machine. An SSE mode binds to 0.0.0.0 by default, which exposes it on the network.

Installation

In SourceWeft

  1. Open 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

go_computer_use_mcp_server

[npm version] [npm downloads] [npm downloads/month] [GitHub Downloads] [GitHub release] [Go version] [Go Report Card]

[!WARNING] This server is intended to run as a trusted local MCP tool.
It currently provides broad local desktop control and is not sandboxed by default.
Do not expose it to untrusted networks, users, or agents without additional security controls.

MCP (Model Context Protocol) server in Go for computer automation. Uses robotgo library for desktop automation.

Features

  • Mouse control: movement, clicks, dragging, scrolling
  • Keyboard control: key presses, text input, hotkeys
  • Screen operations: screenshots, pixel color, display information
  • Window management: move, resize, minimize/maximize
  • Process management: list processes, search, terminate
  • System utilities: system info, dialogs, delays

Quick Start with npx

The easiest way to run the server is via npx (requires Node.js 18+):

bash
# Run with stdio transport (for MCP clients)npx go-computer-use-mcp-server -t stdio
# Run with SSE transportnpx go-computer-use-mcp-server -t sse -h 0.0.0.0 -p 8080

Official MCP Registry

This server is prepared for publication in the Official MCP Registry as:

text
io.github.hightemp/go-computer-use-mcp-server

Registry metadata is defined in server.json. The npm package includes a matching mcpName field in package.json, which the registry uses to verify package ownership.

For maintainers, the release workflow publishes the npm package first, waits until that package version is visible in the npm registry, then publishes server.json with GitHub OIDC authentication.

Integration with AI Tools

Claude Desktop

Add to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

json
{  "mcpServers": {    "computer-use": {      "command": "npx",      "args": ["-y", "go-computer-use-mcp-server", "-t", "stdio"]    }  }}

Claude Code

Using CLI command:

bash
claude mcp add computer-use -- npx -y go-computer-use-mcp-server -t stdio
bash
claude mcp add --transport stdio \  --env DISPLAY="$DISPLAY" \  --env XAUTHORITY="${XAUTHORITY:-$HOME/.Xauthority}" \  computer-use -- \  npx -y go-computer-use-mcp-server -t stdio

Or add manually to your project's .mcp.json file:

json
{  "mcpServers": {    "computer-use": {      "command": "npx",      "args": ["-y", "go-computer-use-mcp-server", "-t", "stdio"]    }  }}

OpenCode

Add to your opencode.jsonc configuration file:

jsonc
{  "$schema": "https://opencode.ai/config.json",  "mcp": {    "computer-use": {      "type": "local",      "command": ["npx", "-y", "go-computer-use-mcp-server", "-t", "stdio"],      "enabled": true    }  }}

Codex (OpenAI)

Using CLI command:

bash
codex mcp add computer-use -- npx -y go-computer-use-mcp-server -t stdio

Or add to ~/.codex/config.toml:

toml
[mcp_servers.computer-use]command = "npx"args = ["-y", "go-computer-use-mcp-server", "-t", "stdio"]env_vars = ["DISPLAY", "XAUTHORITY"]

Cursor

Add to your Cursor MCP configuration. Go to Cursor Settings > Features > MCP Servers and add:

json
{  "mcpServers": {    "computer-use": {      "command": "npx",      "args": ["-y", "go-computer-use-mcp-server", "-t", "stdio"]    }  }}

Windsurf

Add to ~/.codeium/mcp_config.json or via Settings > Cascade > MCP Servers > Add Server:

json
{  "mcpServers": {    "computer-use": {      "command": "npx",      "args": ["-y", "go-computer-use-mcp-server", "-t", "stdio"]    }  }}

Cline (VS Code Extension)

Click the MCP Servers icon in Cline panel, select "Configure" tab, then "Configure MCP Servers" to edit cline_mcp_settings.json:

json
{  "mcpServers": {    "computer-use": {      "command": "npx",      "args": ["-y", "go-computer-use-mcp-server", "-t", "stdio"],      "disabled": false    }  }}

Generic MCP Client

For any MCP-compatible client, use:

bash
npx -y go-computer-use-mcp-server -t stdio

Installation from Source

Requirements

  • Go 1.21+
  • GCC compiler
  • X11 libraries (Linux)

Ubuntu/Debian

bash
# Go (if not installed)sudo snap install go --classic
# GCCsudo apt install gcc libc6-dev
# X11sudo apt install libx11-dev xorg-dev libxtst-dev
# Clipboard supportsudo apt install xsel xclip
# Bitmap support (for image operations)sudo apt install libpng++-dev
# Event hook supportsudo apt install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libxkbcommon-dev

One-liner:

bash
sudo apt install gcc libc6-dev libx11-dev xorg-dev libxtst-dev xsel xclip libpng++-dev xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libxkbcommon-dev

Fedora

bash
# GCC (if not installed)sudo dnf install gcc
# X11sudo dnf install libX11-devel libXtst-devel
# Clipboard supportsudo dnf install xsel xclip
# Bitmap supportsudo dnf install libpng-devel
# Event hook supportsudo dnf install libxkbcommon-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel

One-liner:

bash
sudo dnf install gcc libX11-devel libXtst-devel xsel xclip libpng-devel libxkbcommon-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel

Build

bash
# Download dependenciesmake deps
# Build for current platformmake build
# Build for all platformsmake build-all

Running (from source)

SSE transport (default)

bash
./go_computer_use_mcp_server -t sse -h 0.0.0.0 -p 8080

Stdio transport

bash
./go_computer_use_mcp_server -t stdio

Command line arguments

ArgumentDescriptionDefault
-tTransport: sse or stdiosse
-hHost for SSE server0.0.0.0
-pPort for SSE server8080

Available Tools

Mouse Control (12 tools)

ToolDescription
mouse_moveMove cursor to absolute coordinates
mouse_move_smoothSmooth cursor movement (human-like)
mouse_move_relativeRelative cursor movement
mouse_get_positionGet current cursor position
mouse_clickMouse click
mouse_click_atMove and click
mouse_togglePress/release mouse button
mouse_dragDrag operation
mouse_drag_smoothSmooth drag operation
mouse_scrollScroll
mouse_scroll_directionScroll in direction
mouse_scroll_smoothSmooth scroll

Keyboard Control (7 tools)

ToolDescription
key_tapKey press (with modifiers)
key_togglePress/release key
type_textType text (UTF-8)
type_text_delayedType text with delay
clipboard_readRead clipboard
clipboard_writeWrite to clipboard
clipboard_pastePaste via clipboard

Screen Operations (7 tools)

ToolDescription
screen_get_sizeGet screen size
screen_get_displays_numNumber of monitors
screen_get_display_boundsMonitor bounds
screen_captureScreen capture (returns MCP ImageContent)
screen_capture_saveCapture and save to file
screen_get_pixel_colorPixel color at coordinates
screen_get_mouse_colorPixel color under cursor

Window Management (9 tools)

ToolDescription
window_get_activeActive window information
window_get_titleWindow title
window_get_boundsWindow bounds
window_set_activeActivate window
window_moveMove window
window_resizeResize window
window_minimizeMinimize window
window_maximizeMaximize window
window_closeClose window

Process Management (6 tools)

ToolDescription
process_listList all processes
process_find_by_nameFind processes by name
process_get_nameGet process name by PID
process_existsCheck if process exists
process_killKill process
process_runRun command

System Utilities (3 tools)

ToolDescription
system_get_infoSystem information
util_sleepSleep/delay
alert_showShow dialog

Usage Examples

Move mouse and click

json
{  "tool": "mouse_click_at",  "arguments": {    "x": 100,    "y": 200,    "button": "left",    "double": false  }}

Type text

json
{  "tool": "type_text",  "arguments": {    "text": "Hello, World!",    "delay": 50  }}

Hotkeys

json
{  "tool": "key_tap",  "arguments": {    "key": "c",    "modifiers": ["ctrl"]  }}

Screen capture

json
{  "tool": "screen_capture",  "arguments": {    "x": 0,    "y": 0,    "width": 800,    "height": 600  }}

Supported Keys

Letters and numbers

a-z, A-Z, 0-9

Function keys

f1-f24

Navigation

up, down, left, right, home, end, pageup, pagedown

Special keys

backspace, delete, enter, tab, escape, space, insert, capslock

Modifiers

alt, ctrl, shift, cmd (or command)

Multimedia

audio_mute, audio_vol_down, audio_vol_up, audio_play, audio_stop, audio_pause

License

MIT

[Image]

Source: README.md at commit 7c73f30

Tools

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

Version history

1
  1. v1.1.4LatestSep 16, 2026

Score

40% 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

    Declare a license in the repository or the registry entry.