Skip to main content
Glama
hightemp

go_computer_use_mcp_server

by hightemp

go_computer_use_mcp_server

[!WARNING] Этот сервер предназначен для запуска в качестве доверенного локального инструмента MCP. В настоящее время он предоставляет широкие возможности локального управления рабочим столом и по умолчанию не изолирован (не находится в песочнице). Не открывайте его для доступа из недоверенных сетей, пользователям или агентам без дополнительных мер безопасности.

MCP-сервер (Model Context Protocol) на Go для автоматизации работы компьютера. Использует библиотеку robotgo для автоматизации рабочего стола.

Возможности

  • Управление мышью: перемещение, клики, перетаскивание, прокрутка

  • Управление клавиатурой: нажатия клавиш, ввод текста, горячие клавиши

  • Операции с экраном: скриншоты, цвет пикселя, информация о дисплее

  • Управление окнами: перемещение, изменение размера, сворачивание/разворачивание

  • Управление процессами: список процессов, поиск, завершение

  • Системные утилиты: системная информация, диалоговые окна, задержки

Related MCP server: desktop-touch-mcp

Быстрый старт с npx

Самый простой способ запустить сервер — через npx (требуется 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

Официальный реестр MCP

Этот сервер подготовлен для публикации в официальном реестре MCP как:

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

Метаданные реестра определены в server.json. Пакет npm включает соответствующее поле mcpName в package.json, которое реестр использует для проверки владения пакетом.

Для сопровождающих: рабочий процесс выпуска сначала публикует пакет npm, ждет, пока эта версия пакета станет видна в реестре npm, а затем публикует server.json с использованием аутентификации GitHub OIDC.

Интеграция с инструментами ИИ

Claude Desktop

Добавьте в файл конфигурации Claude Desktop:

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

Используя команду CLI:

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

Или добавьте вручную в файл .mcp.json вашего проекта:

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

OpenCode

Добавьте в ваш файл конфигурации opencode.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)

Используя команду CLI:

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

Или добавьте в ~/.codex/config.toml:

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

Cursor

Добавьте в конфигурацию MCP Cursor. Перейдите в Cursor Settings > Features > MCP Servers и добавьте:

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

Windsurf

Добавьте в ~/.codeium/mcp_config.json или через Settings > Cascade > MCP Servers > Add Server:

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

Cline (расширение VS Code)

Нажмите на иконку MCP Servers на панели Cline, выберите вкладку "Configure", затем "Configure MCP Servers" для редактирования cline_mcp_settings.json:

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

Универсальный клиент MCP

Для любого клиента, совместимого с MCP, используйте:

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

Установка из исходного кода

Требования

  • Go 1.21+

  • Компилятор GCC

  • Библиотеки X11 (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

Одной командой:

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

Одной командой:

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

Сборка

# Download dependencies
make deps

# Build for current platform
make build

# Build for all platforms
make build-all

Запуск (из исходного кода)

Транспорт SSE (по умолчанию)

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

Транспорт Stdio

./go_computer_use_mcp_server -t stdio

Аргументы командной строки

Аргумент

Описание

По умолчанию

-t

Транспорт: sse или stdio

sse

-h

Хост для сервера SSE

0.0.0.0

-p

Порт для сервера SSE

8080

Доступные инструменты

Управление мышью (12 инструментов)

Инструмент

Описание

mouse_move

Переместить курсор к абсолютным координатам

mouse_move_smooth

Плавное перемещение курсора (как у человека)

mouse_move_relative

Относительное перемещение курсора

mouse_get_position

Получить текущую позицию курсора

mouse_click

Клик мышью

mouse_click_at

Переместить и кликнуть

mouse_toggle

Нажать/отпустить кнопку мыши

mouse_drag

Операция перетаскивания

mouse_drag_smooth

Плавная операция перетаскивания

mouse_scroll

Прокрутка

mouse_scroll_direction

Прокрутка в направлении

mouse_scroll_smooth

Плавная прокрутка

Управление клавиатурой (7 инструментов)

Инструмент

Описание

key_tap

Нажатие клавиши (с модификаторами)

key_toggle

Нажать/отпустить клавишу

type_text

Ввод текста (UTF-8)

type_text_delayed

Ввод текста с задержкой

clipboard_read

Чтение буфера обмена

clipboard_write

Запись в буфер обмена

clipboard_paste

Вставка через буфер обмена

Операции с экраном (7 инструментов)

Инструмент

Описание

screen_get_size

Получить размер экрана

screen_get_displays_num

Количество мониторов

screen_get_display_bounds

Границы монитора

screen_capture

Захват экрана (возвращает MCP ImageContent)

screen_capture_save

Захват и сохранение в файл

screen_get_pixel_color

Цвет пикселя по координатам

screen_get_mouse_color

Цвет пикселя под курсором

Управление окнами (9 инструментов)

Инструмент

Описание

window_get_active

Информация об активном окне

window_get_title

Заголовок окна

window_get_bounds

Границы окна

window_set_active

Активировать окно

window_move

Переместить окно

window_resize

Изменить размер окна

window_minimize

Свернуть окно

window_maximize

Развернуть окно

window_close

Закрыть окно

Управление процессами (6 инструментов)

Инструмент

Описание

process_list

Список всех процессов

process_find_by_name

Найти процессы по имени

process_get_name

Получить имя процесса по PID

process_exists

Проверить, существует ли процесс

process_kill

Завершить процесс

process_run

Запустить команду

Системные утилиты (3 инструмента)

Инструмент

Описание

system_get_info

Системная информация

util_sleep

Сон/задержка

alert_show

Показать диалоговое окно

Примеры использования

Перемещение мыши и клик

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

Ввод текста

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

Горячие клавиши

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

Захват экрана

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

Поддерживаемые клавиши

Буквы и цифры

a-z, A-Z, 0-9

Функциональные клавиши

f1-f24

Навигация

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

Специальные клавиши

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

Модификаторы

alt, ctrl, shift, cmd (или command)

Мультимедиа

audio_mute, audio_vol_down, audio_vol_up, audio_play, audio_stop, audio_pause

Лицензия

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