Skip to main content
Glama
alikhanovdev-commits

Windows Computer Use MCP Server

README.md
# šŸ–„ļø Windows Computer Use MCP Server

A blazing-fast, lightweight, native **Computer Use** MCP server and plugin for Windows. Allows any AI model (Claude, GPT-4o, Gemini, DeepSeek, local LLMs) to interact with your local Windows desktop via mouse, keyboard, and screenshots.

Unlike Docker/Linux-only solutions, this runs **directly on Windows** with **zero heavy dependencies** (no Python, no PyAutoGUI, no Docker).

⚔ **Sub-millisecond latency** for mouse and keyboard actions, ~50 ms for screen capture.

---

## ✨ Features

- šŸ–±ļø **Mouse Control**: Instant clicks (left, right, middle, double-click), cursor movements, and vertical scrolling.
- āŒØļø **Native Unicode Typing**: Fast text typing via Win32 `SendInput` (supports English, Russian, emojis, symbols regardless of keyboard layout).
- āŒØļø **Key Chords**: Send hotkeys and special keys (`ENTER`, `TAB`, `ESC`, `CTRL+S`, `ALT+F4`, etc.).
- šŸ“ø **Fast Screenshot**: Captures desktop to PNG in ~50ms.
- ⚔ **Zero Heavy Runtime**: Powered by Node.js and a pre-compiled native .NET C# daemon worker.
- šŸ”Œ **Universal Compatibility**: Works with Claude Desktop, Antigravity, Cursor, Cline, Windsurf, or any MCP client.

---

## ⚔ Performance Benchmarks

Measured on a standard Windows machine:

| Action | Latency |
| :--- | :--- |
| `move_mouse` | **0.8 ms** |
| `scroll` | **0.5 ms** |
| `type_text` | **1.6 ms** |
| `click` | **26.4 ms** (includes down/up physical click delay) |
| `press_key` | **31.5 ms** |
| `screen_size` | **41.1 ms** |
| `screenshot` | **62.8 ms** (full capture + PNG encode + Base64 transmission) |

---

## šŸ› ļø Available Tools

| Tool | Parameters | Description |
| :--- | :--- | :--- |
| `screenshot` | *(none)* | Captures the current Windows desktop as a PNG image |
| `screen_size` | *(none)* | Returns primary monitor resolution (`{"width": 1920, "height": 1080}`) |
| `click` | `x`, `y`, `button` ("left"\|"right"\|"middle"), `double` (bool) | Clicks at desktop coordinates |
| `move_mouse` | `x`, `y` | Moves pointer to `(x, y)` |
| `type_text` | `text` (string) | Types Unicode text into the focused control |
| `press_key` | `key` (string) | Sends key or key chord (e.g. `CTRL+S`, `ENTER`) |
| `scroll` | `amount` (integer) | Scrolls vertically (positive = up, negative = down) |

---

## šŸš€ Quick Setup

### Prerequisites
- Windows 10 or 11
- [Node.js](https://nodejs.org/) installed and in `PATH`

Clone this repository:
```bash
git clone https://github.com/alikhanovdev-commits/windows-computer-use-mcp.git
```

---

## šŸ”Œ Connection Guides

### 1. Claude Desktop
Add to `%APPDATA%\Claude\claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "computer-use": {
      "command": "node",
      "args": ["C:\\path\\to\\windows-computer-use-mcp\\server\\server.mjs"]
    }
  }
}
```

### 2. Google Antigravity & agy CLI
Merge into `%USERPROFILE%\.gemini\config\mcp_config.json`:

```json
{
  "mcpServers": {
    "computer-use": {
      "command": "node",
      "args": ["C:\\path\\to\\windows-computer-use-mcp\\server\\server.mjs"]
    }
  }
}
```
*Or install as a plugin: copy this folder to `%USERPROFILE%\.gemini\config\plugins\computer-use-windows`.*

### 3. Cursor / Windsurf / Cline (VS Code)
In your MCP settings, add:
- **Type**: `stdio`
- **Command**: `node`
- **Args**: `C:\path\to\windows-computer-use-mcp\server\server.mjs`

---

## šŸ› ļø Building From Source (Optional)

The pre-compiled `worker.exe` is already included. If you want to rebuild it:
```cmd
build.bat
```
or via npm:
```cmd
npm run build
```

---

## šŸ”’ Security Notes
- The server interacts with the active interactive desktop session running under your user account.
- It will not bypass Windows UAC (Admin) elevation boundaries unless the host process is also run with elevated privileges.
- Do not expose the server to untrusted remote networks without authentication.

## šŸ“„ License
[MIT License](LICENSE). Free for personal and commercial use.