{"id":50847873,"url":"https://github.com/hightemp/go_computer_use_mcp_server","last_synced_at":"2026-06-14T11:04:17.472Z","repository":{"id":333091259,"uuid":"1136172298","full_name":"hightemp/go_computer_use_mcp_server","owner":"hightemp","description":"MCP (Model Context Protocol) server in Go for computer automation. Uses robotgo library for desktop automation.","archived":false,"fork":false,"pushed_at":"2026-04-18T07:50:58.000Z","size":903,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-30T17:06:56.315Z","etag":null,"topics":["claude-code","codex","computer-use","golang","mcp","mcp-server","npx"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hightemp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-01-17T07:37:20.000Z","updated_at":"2026-04-24T14:56:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/hightemp/go_computer_use_mcp_server","commit_stats":null,"previous_names":["hightemp/go_computer_use_mcp_server"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/hightemp/go_computer_use_mcp_server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hightemp%2Fgo_computer_use_mcp_server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hightemp%2Fgo_computer_use_mcp_server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hightemp%2Fgo_computer_use_mcp_server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hightemp%2Fgo_computer_use_mcp_server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hightemp","download_url":"https://codeload.github.com/hightemp/go_computer_use_mcp_server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hightemp%2Fgo_computer_use_mcp_server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34318528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-14T02:00:07.365Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","codex","computer-use","golang","mcp","mcp-server","npx"],"created_at":"2026-06-14T11:04:12.108Z","updated_at":"2026-06-14T11:04:17.466Z","avatar_url":"https://github.com/hightemp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go_computer_use_mcp_server\n\n[![npm version](https://img.shields.io/npm/v/go-computer-use-mcp-server)](https://www.npmjs.com/package/go-computer-use-mcp-server)\n[![npm downloads](https://img.shields.io/npm/dt/go-computer-use-mcp-server)](https://www.npmjs.com/package/go-computer-use-mcp-server)\n[![npm downloads/month](https://img.shields.io/npm/dm/go-computer-use-mcp-server)](https://www.npmjs.com/package/go-computer-use-mcp-server)\n[![GitHub Downloads](https://img.shields.io/github/downloads/hightemp/go_computer_use_mcp_server/total)](https://github.com/hightemp/go_computer_use_mcp_server/releases)\n[![GitHub release](https://img.shields.io/github/v/release/hightemp/go_computer_use_mcp_server)](https://github.com/hightemp/go_computer_use_mcp_server/releases/latest)\n[![Go version](https://img.shields.io/github/go-mod/go-version/hightemp/go_computer_use_mcp_server)](go.mod)\n[![Go Report Card](https://goreportcard.com/badge/github.com/hightemp/go_computer_use_mcp_server)](https://goreportcard.com/report/github.com/hightemp/go_computer_use_mcp_server)\n\n\u003e [!WARNING]\n\u003e This server is intended to run as a **trusted local MCP tool**.  \n\u003e It currently provides **broad local desktop control** and is **not sandboxed by default**.  \n\u003e Do not expose it to untrusted networks, users, or agents without additional security controls.\n\nMCP (Model Context Protocol) server in Go for computer automation. Uses [robotgo](https://github.com/hightemp/robotgo) library for desktop automation.\n\n## Features\n\n- **Mouse control**: movement, clicks, dragging, scrolling\n- **Keyboard control**: key presses, text input, hotkeys\n- **Screen operations**: screenshots, pixel color, display information\n- **Window management**: move, resize, minimize/maximize\n- **Process management**: list processes, search, terminate\n- **System utilities**: system info, dialogs, delays\n\n## Quick Start with npx\n\nThe easiest way to run the server is via npx (requires Node.js 18+):\n\n```bash\n# Run with stdio transport (for MCP clients)\nnpx go-computer-use-mcp-server -t stdio\n\n# Run with SSE transport\nnpx go-computer-use-mcp-server -t sse -h 0.0.0.0 -p 8080\n```\n\n## Official MCP Registry\n\nThis server is prepared for publication in the Official MCP Registry as:\n\n```text\nio.github.hightemp/go-computer-use-mcp-server\n```\n\nRegistry metadata is defined in [`server.json`](server.json). The npm package includes a matching `mcpName` field in [`package.json`](package.json), which the registry uses to verify package ownership.\n\nFor 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.\n\n## Integration with AI Tools\n\n### Claude Desktop\n\nAdd to your Claude Desktop configuration file:\n\n**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n**Linux**: `~/.config/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"computer-use\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"go-computer-use-mcp-server\", \"-t\", \"stdio\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\nUsing CLI command:\n\n```bash\nclaude mcp add computer-use -- npx -y go-computer-use-mcp-server -t stdio\n```\n\n```bash\nclaude mcp add --transport stdio \\\n  --env DISPLAY=\"$DISPLAY\" \\\n  --env XAUTHORITY=\"${XAUTHORITY:-$HOME/.Xauthority}\" \\\n  computer-use -- \\\n  npx -y go-computer-use-mcp-server -t stdio\n```\n\nOr add manually to your project's `.mcp.json` file:\n\n```json\n{\n  \"mcpServers\": {\n    \"computer-use\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"go-computer-use-mcp-server\", \"-t\", \"stdio\"]\n    }\n  }\n}\n```\n\n### OpenCode\n\nAdd to your `opencode.jsonc` configuration file:\n\n```jsonc\n{\n  \"$schema\": \"https://opencode.ai/config.json\",\n  \"mcp\": {\n    \"computer-use\": {\n      \"type\": \"local\",\n      \"command\": [\"npx\", \"-y\", \"go-computer-use-mcp-server\", \"-t\", \"stdio\"],\n      \"enabled\": true\n    }\n  }\n}\n```\n\n### Codex (OpenAI)\n\nUsing CLI command:\n\n```bash\ncodex mcp add computer-use -- npx -y go-computer-use-mcp-server -t stdio\n```\n\nOr add to `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.computer-use]\ncommand = \"npx\"\nargs = [\"-y\", \"go-computer-use-mcp-server\", \"-t\", \"stdio\"]\nenv_vars = [\"DISPLAY\", \"XAUTHORITY\"]\n```\n\n### Cursor\n\nAdd to your Cursor MCP configuration. Go to `Cursor Settings` \u003e `Features` \u003e `MCP Servers` and add:\n\n```json\n{\n  \"mcpServers\": {\n    \"computer-use\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"go-computer-use-mcp-server\", \"-t\", \"stdio\"]\n    }\n  }\n}\n```\n\n### Windsurf\n\nAdd to `~/.codeium/mcp_config.json` or via `Settings` \u003e `Cascade` \u003e `MCP Servers` \u003e `Add Server`:\n\n```json\n{\n  \"mcpServers\": {\n    \"computer-use\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"go-computer-use-mcp-server\", \"-t\", \"stdio\"]\n    }\n  }\n}\n```\n\n### Cline (VS Code Extension)\n\nClick the MCP Servers icon in Cline panel, select \"Configure\" tab, then \"Configure MCP Servers\" to edit `cline_mcp_settings.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"computer-use\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"go-computer-use-mcp-server\", \"-t\", \"stdio\"],\n      \"disabled\": false\n    }\n  }\n}\n```\n\n### Generic MCP Client\n\nFor any MCP-compatible client, use:\n\n```bash\nnpx -y go-computer-use-mcp-server -t stdio\n```\n\n## Installation from Source\n\n### Requirements\n\n- Go 1.21+\n- GCC compiler\n- X11 libraries (Linux)\n\n### Ubuntu/Debian\n\n```bash\n# Go (if not installed)\nsudo snap install go --classic\n\n# GCC\nsudo apt install gcc libc6-dev\n\n# X11\nsudo apt install libx11-dev xorg-dev libxtst-dev\n\n# Clipboard support\nsudo apt install xsel xclip\n\n# Bitmap support (for image operations)\nsudo apt install libpng++-dev\n\n# Event hook support\nsudo apt install xcb libxcb-xkb-dev x11-xkb-utils libx11-xcb-dev libxkbcommon-x11-dev libxkbcommon-dev\n```\n\n**One-liner:**\n```bash\nsudo 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\n```\n\n### Fedora\n\n```bash\n# GCC (if not installed)\nsudo dnf install gcc\n\n# X11\nsudo dnf install libX11-devel libXtst-devel\n\n# Clipboard support\nsudo dnf install xsel xclip\n\n# Bitmap support\nsudo dnf install libpng-devel\n\n# Event hook support\nsudo dnf install libxkbcommon-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel\n```\n\n**One-liner:**\n```bash\nsudo dnf install gcc libX11-devel libXtst-devel xsel xclip libpng-devel libxkbcommon-devel libxkbcommon-x11-devel xorg-x11-xkb-utils-devel\n```\n\n### Build\n\n```bash\n# Download dependencies\nmake deps\n\n# Build for current platform\nmake build\n\n# Build for all platforms\nmake build-all\n```\n\n## Running (from source)\n\n### SSE transport (default)\n\n```bash\n./go_computer_use_mcp_server -t sse -h 0.0.0.0 -p 8080\n```\n\n### Stdio transport\n\n```bash\n./go_computer_use_mcp_server -t stdio\n```\n\n### Command line arguments\n\n| Argument | Description | Default |\n|----------|-------------|---------|\n| `-t` | Transport: `sse` or `stdio` | `sse` |\n| `-h` | Host for SSE server | `0.0.0.0` |\n| `-p` | Port for SSE server | `8080` |\n\n## Available Tools\n\n### Mouse Control (12 tools)\n\n| Tool | Description |\n|------|-------------|\n| `mouse_move` | Move cursor to absolute coordinates |\n| `mouse_move_smooth` | Smooth cursor movement (human-like) |\n| `mouse_move_relative` | Relative cursor movement |\n| `mouse_get_position` | Get current cursor position |\n| `mouse_click` | Mouse click |\n| `mouse_click_at` | Move and click |\n| `mouse_toggle` | Press/release mouse button |\n| `mouse_drag` | Drag operation |\n| `mouse_drag_smooth` | Smooth drag operation |\n| `mouse_scroll` | Scroll |\n| `mouse_scroll_direction` | Scroll in direction |\n| `mouse_scroll_smooth` | Smooth scroll |\n\n### Keyboard Control (7 tools)\n\n| Tool | Description |\n|------|-------------|\n| `key_tap` | Key press (with modifiers) |\n| `key_toggle` | Press/release key |\n| `type_text` | Type text (UTF-8) |\n| `type_text_delayed` | Type text with delay |\n| `clipboard_read` | Read clipboard |\n| `clipboard_write` | Write to clipboard |\n| `clipboard_paste` | Paste via clipboard |\n\n### Screen Operations (7 tools)\n\n| Tool | Description |\n|------|-------------|\n| `screen_get_size` | Get screen size |\n| `screen_get_displays_num` | Number of monitors |\n| `screen_get_display_bounds` | Monitor bounds |\n| `screen_capture` | Screen capture (returns MCP ImageContent) |\n| `screen_capture_save` | Capture and save to file |\n| `screen_get_pixel_color` | Pixel color at coordinates |\n| `screen_get_mouse_color` | Pixel color under cursor |\n\n### Window Management (9 tools)\n\n| Tool | Description |\n|------|-------------|\n| `window_get_active` | Active window information |\n| `window_get_title` | Window title |\n| `window_get_bounds` | Window bounds |\n| `window_set_active` | Activate window |\n| `window_move` | Move window |\n| `window_resize` | Resize window |\n| `window_minimize` | Minimize window |\n| `window_maximize` | Maximize window |\n| `window_close` | Close window |\n\n### Process Management (6 tools)\n\n| Tool | Description |\n|------|-------------|\n| `process_list` | List all processes |\n| `process_find_by_name` | Find processes by name |\n| `process_get_name` | Get process name by PID |\n| `process_exists` | Check if process exists |\n| `process_kill` | Kill process |\n| `process_run` | Run command |\n\n### System Utilities (3 tools)\n\n| Tool | Description |\n|------|-------------|\n| `system_get_info` | System information |\n| `util_sleep` | Sleep/delay |\n| `alert_show` | Show dialog |\n\n## Usage Examples\n\n### Move mouse and click\n\n```json\n{\n  \"tool\": \"mouse_click_at\",\n  \"arguments\": {\n    \"x\": 100,\n    \"y\": 200,\n    \"button\": \"left\",\n    \"double\": false\n  }\n}\n```\n\n### Type text\n\n```json\n{\n  \"tool\": \"type_text\",\n  \"arguments\": {\n    \"text\": \"Hello, World!\",\n    \"delay\": 50\n  }\n}\n```\n\n### Hotkeys\n\n```json\n{\n  \"tool\": \"key_tap\",\n  \"arguments\": {\n    \"key\": \"c\",\n    \"modifiers\": [\"ctrl\"]\n  }\n}\n```\n\n### Screen capture\n\n```json\n{\n  \"tool\": \"screen_capture\",\n  \"arguments\": {\n    \"x\": 0,\n    \"y\": 0,\n    \"width\": 800,\n    \"height\": 600\n  }\n}\n```\n\n## Supported Keys\n\n### Letters and numbers\n`a-z`, `A-Z`, `0-9`\n\n### Function keys\n`f1`-`f24`\n\n### Navigation\n`up`, `down`, `left`, `right`, `home`, `end`, `pageup`, `pagedown`\n\n### Special keys\n`backspace`, `delete`, `enter`, `tab`, `escape`, `space`, `insert`, `capslock`\n\n### Modifiers\n`alt`, `ctrl`, `shift`, `cmd` (or `command`)\n\n### Multimedia\n`audio_mute`, `audio_vol_down`, `audio_vol_up`, `audio_play`, `audio_stop`, `audio_pause`\n\n## License\n\nMIT\n\n![](https://asdertasd.site/counter/go_computer_use_mcp_server)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhightemp%2Fgo_computer_use_mcp_server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhightemp%2Fgo_computer_use_mcp_server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhightemp%2Fgo_computer_use_mcp_server/lists"}