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 分

    請在儲存庫或註冊中心條目中宣告授權條款。