Computer Use

io.github.hightemp由 GitHub 账号 hightemp 发布v1.1.4更新于 Oct 24, 2026

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

已验证STDIO仅桌面浏览器自动化开发者工具

概览

AI 生成的概览

本地 MCP 服务器,让助手全面控制桌面:鼠标、键盘、屏幕、窗口和进程。

可以做什么
  • 移动、点击、拖拽和滚动鼠标,支持平滑与相对移动
  • 按键、输入文本,以及读取、写入和粘贴剪贴板
  • 截取屏幕或保存截图,读取显示器尺寸和像素颜色
  • 查看、激活、移动、调整大小、最小化、最大化和关闭窗口
  • 列出、查找、检测和结束进程,并可执行命令
  • 读取系统信息、延时等待和弹出对话框
适用场景
适合需要助手操作用户本机图形界面的场景,例如点击界面、通过输入填写表单、截图,或在桌面任务中管理窗口和进程。
运行要求
以 stdio 在本地运行,通常通过 npx 启动,需要 Node.js 18+。从源码构建需要 Go 1.21+、GCC,Linux 上还需 X11 库。Linux 下用 DISPLAY 和 XAUTHORITY 环境变量指定 X11 显示和授权文件。
安装前请注意
README 说明它提供广泛的本地桌面控制且默认没有沙箱隔离,并警告不要将其暴露给不受信任的网络、用户或代理。工具可以输入、点击、读取剪贴板、截屏、关闭窗口、结束进程和执行命令,助手可能因此修改或破坏本机数据。SSE 模式默认绑定 0.0.0.0,会把服务暴露到网络上。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Computer Use,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

[图片]

来源:README.md,提交 7c73f30

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.1.4最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。