计算机自动化控制服务器

基于Go的MCP协议服务器,提供鼠标、键盘、屏幕、窗口和进程管理等本地桌面自动化控制功能,适用于AI工具集成和自动化脚本开发。

  • by hightemp
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 hightemp/go_computer_use_mcp_server

使用说明

go_computer_use_mcp_server

[!警告] 此服务器旨在作为 受信任的本地MCP工具.
它目前提供 广泛的本地桌面控制 并且是 默认情况下不沙盒.
在没有额外安全控制的情况下,不要将其暴露给不受信任的网络、用户或代理。

用于计算机自动化的Go中的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.jsonnpm包中包含一个匹配的 mcpName 领域 package.json,注册表使用它来验证包所有权。

对于维护者来说,发布工作流首先发布npm包,等待该包版本在npm注册表中可见,然后发布 server.json 通过GitHub OIDC身份验证。

与AI工具集成

克劳德桌面版

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %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"]
    }
  }
}

克劳德代码

使用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.jsonc 配置文件:

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

食品法典委员会(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"]

光标

添加到光标MCP配置中。首选 Cursor Settings > Features > MCP Servers 并添加:

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

帆板运动

添加 ~/.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代码扩展)

单击临床面板中的MCP服务器图标,选择“配置”选项卡,然后选择“配置MCP服务器”进行编辑 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

从源安装

需求

  • 转到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

菲多拉

# 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

标准运输

./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图像内容)
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

许可证

麻省理工学院