Skip to main content
Glama
hightemp

go_computer_use_mcp_server

by hightemp

go_computer_use_mcp_server

[!WARNING] Dieser Server ist für den Betrieb als vertrauenswürdiges lokales MCP-Tool vorgesehen. Er bietet derzeit umfassende lokale Desktop-Steuerung und ist standardmäßig nicht in einer Sandbox isoliert. Setzen Sie ihn keinen nicht vertrauenswürdigen Netzwerken, Benutzern oder Agenten ohne zusätzliche Sicherheitskontrollen aus.

MCP-Server (Model Context Protocol) in Go für Computerautomatisierung. Verwendet die robotgo-Bibliothek für Desktop-Automatisierung.

Funktionen

  • Maussteuerung: Bewegung, Klicks, Ziehen, Scrollen

  • Tastatursteuerung: Tastendrücke, Texteingabe, Hotkeys

  • Bildschirmoperationen: Screenshots, Pixelfarbe, Anzeigeinformationen

  • Fensterverwaltung: Verschieben, Größe ändern, minimieren/maximieren

  • Prozessverwaltung: Prozesse auflisten, suchen, beenden

  • System-Dienstprogramme: Systeminformationen, Dialoge, Verzögerungen

Related MCP server: desktop-touch-mcp

Schnellstart mit npx

Der einfachste Weg, den Server auszuführen, ist über npx (erfordert Node.js 18+):

# Run with stdio transport (for MCP clients)
npx go-computer-use-mcp-server -t stdio

# Run with SSE transport
npx go-computer-use-mcp-server -t sse -h 0.0.0.0 -p 8080

Offizielles MCP-Register

Dieser Server ist für die Veröffentlichung im offiziellen MCP-Register vorbereitet als:

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

Die Register-Metadaten sind in server.json definiert. Das npm-Paket enthält ein passendes mcpName-Feld in package.json, das das Register zur Überprüfung des Paketbesitzes verwendet.

Für Betreuer: Der Release-Workflow veröffentlicht zuerst das npm-Paket, wartet, bis diese Paketversion im npm-Register sichtbar ist, und veröffentlicht dann server.json mit GitHub OIDC-Authentifizierung.

Integration mit KI-Tools

Claude Desktop

Fügen Sie dies Ihrer Claude Desktop-Konfigurationsdatei hinzu:

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

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

Claude Code

Verwendung des CLI-Befehls:

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

Oder manuell zur .mcp.json-Datei Ihres Projekts hinzufügen:

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

OpenCode

Fügen Sie dies Ihrer opencode.jsonc-Konfigurationsdatei hinzu:

{
  "$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)

Verwendung des CLI-Befehls:

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

Oder hinzufügen zu ~/.codex/config.toml:

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

Cursor

Fügen Sie dies Ihrer Cursor MCP-Konfiguration hinzu. Gehen Sie zu Cursor Settings > Features > MCP Servers und fügen Sie hinzu:

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

Windsurf

Fügen Sie dies zu ~/.codeium/mcp_config.json hinzu oder über Settings > Cascade > MCP Servers > Add Server:

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

Cline (VS Code Extension)

Klicken Sie auf das MCP-Server-Symbol im Cline-Panel, wählen Sie den Tab "Configure" und dann "Configure MCP Servers", um cline_mcp_settings.json zu bearbeiten:

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

Generischer MCP-Client

Für jeden MCP-kompatiblen Client verwenden Sie:

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

Installation aus dem Quellcode

Anforderungen

  • Go 1.21+

  • GCC-Compiler

  • X11-Bibliotheken (Linux)

Ubuntu/Debian

# Go (if not installed)
sudo snap install go --classic

# GCC
sudo apt install gcc libc6-dev

# X11
sudo apt install libx11-dev xorg-dev libxtst-dev

# Clipboard support
sudo apt install xsel xclip

# Bitmap support (for image operations)
sudo apt install libpng++-dev

# Event hook support
sudo apt install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libxkbcommon-dev

Einzeiler:

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

# GCC (if not installed)
sudo dnf install gcc

# X11
sudo dnf install libX11-devel libXtst-devel

# Clipboard support
sudo dnf install xsel xclip

# Bitmap support
sudo dnf install libpng-devel

# Event hook support
sudo dnf install libxkbcommon-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel

Einzeiler:

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

Build

# Download dependencies
make deps

# Build for current platform
make build

# Build for all platforms
make build-all

Ausführung (aus dem Quellcode)

SSE-Transport (Standard)

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

Stdio-Transport

./go_computer_use_mcp_server -t stdio

Befehlszeilenargumente

Argument

Beschreibung

Standard

-t

Transport: sse oder stdio

sse

-h

Host für SSE-Server

0.0.0.0

-p

Port für SSE-Server

8080

Verfügbare Tools

Maussteuerung (12 Tools)

Tool

Beschreibung

mouse_move

Cursor zu absoluten Koordinaten bewegen

mouse_move_smooth

Sanfte Cursorbewegung (menschenähnlich)

mouse_move_relative

Relative Cursorbewegung

mouse_get_position

Aktuelle Cursorposition abrufen

mouse_click

Mausklick

mouse_click_at

Bewegen und klicken

mouse_toggle

Maustaste drücken/loslassen

mouse_drag

Ziehvorgang

mouse_drag_smooth

Sanfter Ziehvorgang

mouse_scroll

Scrollen

mouse_scroll_direction

In eine Richtung scrollen

mouse_scroll_smooth

Sanftes Scrollen

Tastatursteuerung (7 Tools)

Tool

Beschreibung

key_tap

Tastendruck (mit Modifikatoren)

key_toggle

Taste drücken/loslassen

type_text

Text eingeben (UTF-8)

type_text_delayed

Text mit Verzögerung eingeben

clipboard_read

Zwischenablage lesen

clipboard_write

In Zwischenablage schreiben

clipboard_paste

Über Zwischenablage einfügen

Bildschirmoperationen (7 Tools)

Tool

Beschreibung

screen_get_size

Bildschirmgröße abrufen

screen_get_displays_num

Anzahl der Monitore

screen_get_display_bounds

Monitorgrenzen

screen_capture

Bildschirmaufnahme (gibt MCP ImageContent zurück)

screen_capture_save

Aufnehmen und in Datei speichern

screen_get_pixel_color

Pixelfarbe an Koordinaten

screen_get_mouse_color

Pixelfarbe unter dem Cursor

Fensterverwaltung (9 Tools)

Tool

Beschreibung

window_get_active

Informationen zum aktiven Fenster

window_get_title

Fenstertitel

window_get_bounds

Fenstergrenzen

window_set_active

Fenster aktivieren

window_move

Fenster verschieben

window_resize

Fenstergröße ändern

window_minimize

Fenster minimieren

window_maximize

Fenster maximieren

window_close

Fenster schließen

Prozessverwaltung (6 Tools)

Tool

Beschreibung

process_list

Alle Prozesse auflisten

process_find_by_name

Prozesse nach Namen finden

process_get_name

Prozessname per PID abrufen

process_exists

Prüfen, ob Prozess existiert

process_kill

Prozess beenden

process_run

Befehl ausführen

System-Dienstprogramme (3 Tools)

Tool

Beschreibung

system_get_info

Systeminformationen

util_sleep

Schlafen/Verzögerung

alert_show

Dialog anzeigen

Anwendungsbeispiele

Maus bewegen und klicken

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

Text eingeben

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

Hotkeys

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

Bildschirmaufnahme

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

Unterstützte Tasten

Buchstaben und Zahlen

a-z, A-Z, 0-9

Funktionstasten

f1-f24

Navigation

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

Sondertasten

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

Modifikatoren

alt, ctrl, shift, cmd (oder command)

Multimedia

audio_mute, audio_vol_down, audio_vol_up, audio_play, audio_stop, audio_pause

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server that provides computer control capabilities including mouse movements, keyboard actions, screenshot capture with OCR, and window management through a unified API.
    197 PyPI
    167
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    MCP server that enables AI to fully control macOS — mouse, keyboard, terminal, screenshots, window management, UI element detection, and provides AI-optimized information reporting.
    36
    28 npm
    MIT