Go Computer Use Mcp Server について
Go Computer Use Mcp Serverは、robotgoを使ったGo製のデスクトップ自動化MCPサーバーです。マウス、キーボード、画面、ウィンドウ、プロセス、システム機能を操作できます。信頼できるローカル環境向けで、デフォルトではサンドボックス化されていません。
主な機能
- 01マウス移動、クリック、スクロール
- 02キーボード入力とクリップボード操作
- 03スクリーンショットとディスプレイ情報
- 04ウィンドウの操作と確認
- 05プロセス管理とコマンド実行
- 06システム情報とダイアログ
活用シーン
- 01マウスとキーボード操作の自動化
- 02画面の撮影とディスプレイ情報の確認
- 03ウィンドウの移動、サイズ変更、アクティブ化
- 04ローカルプロセスの確認や終了
MCP 対応
stdioとSSEのトランスポートで、デスクトップ自動化ツールをMCPクライアントに公開します。ローカル環境を広範に操作でき、デフォルトではサンドボックス化されていません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
go_computer_use_mcp_server
警告
このサーバーは、信頼できるローカル MCP ツールとして実行することを想定しています。
現在、ローカルデスクトップを広範囲に制御でき、デフォルトではサンドボックス化されていません。
追加のセキュリティ対策なしに、信頼できないネットワーク、ユーザー、エージェントに公開しないでください。
コンピューター操作を自動化するための Go 製 MCP(Model Context Protocol)サーバーです。デスクトップの自動化には、robotgo ライブラリを使用します。
機能
- マウス制御:移動、クリック、ドラッグ、スクロール
- キーボード制御:キー入力、テキスト入力、ホットキー
- 画面操作:スクリーンショット、ピクセルの色、ディスプレイ情報
- ウィンドウ管理:移動、サイズ変更、最小化/最大化
- プロセス管理:プロセス一覧、検索、終了
- システムユーティリティ:システム情報、ダイアログ、遅延
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
Official MCP Registry
このサーバーは、Official MCP Registry への公開に向けて、次のように準備されています。
io.github.hightemp/go-computer-use-mcp-server
レジストリのメタデータは server.json で定義されています。npm パッケージには、これに対応する mcpName フィールドが package.json に含まれており、レジストリはこれを使ってパッケージの所有権を検証します。
メンテナー向け:リリースワークフローでは、まず npm パッケージを公開し、そのバージョンが npm レジストリに反映されるまで待ってから、GitHub OIDC 認証を使って server.json を公開します。
AI ツールとの連携
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
Cursor の MCP 設定に追加します。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 Extension)
Cline パネルの MCP Servers アイコンをクリックし、「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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。