# Windows Computer Use MCP Server **English** | [中文](#中文) An MCP (Model Context Protocol) server that provides desktop automation tools for Windows. Control mouse, keyboard, take screenshots, manage clipboard, and interact with applications — all through the MCP protocol. > **Note**: This server only runs on **Windows**. ## Features - **Screenshots** — Capture full screen or specific regions as base64 PNG - **Mouse Control** — Move, click, double-click, right-click, drag, scroll - **Keyboard Input** — Type text, press key combinations, hold keys - **Cursor Position** — Get current cursor coordinates - **Clipboard** — Read and write clipboard text - **Application Management** — List running apps, get frontmost app, open apps - **Display Info** — List connected displays with dimensions ## Tools | Tool | Description | |------|-------------| | `screenshot` | Take a screenshot of the current screen | | `zoom` | Take a screenshot of a specific region | | `mouse_move` | Move the mouse cursor to coordinates | | `left_click` | Left-click at coordinates or current position | | `right_click` | Right-click at coordinates | | `double_click` | Double-click at coordinates | | `left_click_drag` | Click and drag from one point to another | | `scroll` | Scroll the mouse wheel | | `type` | Type a string of text | | `key` | Press a key combination (e.g. `ctrl+c`, `alt+f4`) | | `hold_key` | Hold a key for a duration | | `cursor_position` | Get current cursor position | | `list_running_applications` | List all running apps with visible windows | | `get_frontmost_application` | Get the currently focused app | | `open_application` | Open an app by name or path | | `list_displays` | List connected displays | | `read_clipboard` | Read clipboard text | | `write_clipboard` | Write text to clipboard | ## Installation ### Prerequisites - [Bun](https://bun.sh/) >= 1.3.11 - Windows 10/11 ### Install via npm ```bash npm install -g windows-computer-use-mcp ``` ### Install via npx (no install needed) ```bash npx windows-computer-use-mcp ``` ### Build from source ```bash git clone https://github.com/hiphopanda/windows-computer-use-mcp.git cd windows-computer-use-mcp bun install bun run build ``` ## Configuration Add to your MCP client settings (e.g. Claude Desktop): ```json { "mcpServers": { "computer-use": { "type": "stdio", "command": "npx", "args": ["windows-computer-use-mcp"] } } } ``` Or if installed globally: ```json { "mcpServers": { "computer-use": { "type": "stdio", "command": "windows-computer-use-mcp" } } } ``` ## Development ```bash bun install # Install dependencies bun run dev # Run in development mode bun run build # Build to dist/ bun run start # Run built version ``` ## Architecture - **Runtime**: Bun + TypeScript - **Transport**: stdio (MCP protocol) - **Platform Layer**: All desktop operations go through PowerShell scripts executed via `Bun.spawn` - **Low-level Input**: Uses Win32 P/Invoke (`user32.dll`) loaded at runtime — no precompiled native modules needed ## License [MIT](LICENSE) --- # 中文 一个基于 MCP(Model Context Protocol)协议的 Windows 桌面自动化服务器。通过 MCP 协议控制鼠标、键盘、截屏、剪贴板,以及管理应用程序。 > **注意**:本服务器仅支持 **Windows** 系统。 ## 功能特性 - **截屏** — 全屏或指定区域截图,返回 base64 PNG - **鼠标控制** — 移动、单击、双击、右击、拖拽、滚轮滚动 - **键盘输入** — 输入文本、按键组合、长按按键 - **光标位置** — 获取当前光标坐标 - **剪贴板** — 读写剪贴板文本 - **应用管理** — 列出运行中的应用、获取前台应用、打开应用 - **显示器信息** — 列出已连接的显示器及分辨率 ## 工具列表 | 工具 | 说明 | |------|------| | `screenshot` | 截取当前屏幕 | | `zoom` | 截取指定区域 | | `mouse_move` | 移动鼠标到指定坐标 | | `left_click` | 左键点击 | | `right_click` | 右键点击 | | `double_click` | 双击 | | `left_click_drag` | 左键拖拽 | | `scroll` | 滚动鼠标滚轮 | | `type` | 输入文本 | | `key` | 按键组合(如 `ctrl+c`、`alt+f4`) | | `hold_key` | 长按按键 | | `cursor_position` | 获取光标当前位置 | | `list_running_applications` | 列出所有运行中的应用 | | `get_frontmost_application` | 获取当前前台应用 | | `open_application` | 按名称或路径打开应用 | | `list_displays` | 列出已连接的显示器 | | `read_clipboard` | 读取剪贴板文本 | | `write_clipboard` | 写入文本到剪贴板 | ## 安装 ### 环境要求 - [Bun](https://bun.sh/) >= 1.3.11 - Windows 10/11 ### 通过 npm 安装 ```bash npm install -g windows-computer-use-mcp ``` ### 通过 npx 运行(无需安装) ```bash npx windows-computer-use-mcp ``` ### 从源码构建 ```bash git clone https://github.com/hiphopanda/windows-computer-use-mcp.git cd windows-computer-use-mcp bun install bun run build ``` ## 配置 在 MCP 客户端配置中添加(如 Claude Desktop): ```json { "mcpServers": { "computer-use": { "type": "stdio", "command": "npx", "args": ["windows-computer-use-mcp"] } } } ``` 或全局安装后: ```json { "mcpServers": { "computer-use": { "type": "stdio", "command": "windows-computer-use-mcp" } } } ``` ## 开发 ```bash bun install # 安装依赖 bun run dev # 开发模式运行 bun run build # 构建到 dist/ bun run start # 运行构建产物 ``` ## 架构 - **运行时**:Bun + TypeScript - **传输层**:stdio(MCP 协议) - **平台层**:所有桌面操作通过 `Bun.spawn` 执行 PowerShell 脚本 - **底层输入**:通过 Win32 P/Invoke(`user32.dll`)在运行时加载 — 无需预编译原生模块 ## 许可证 [MIT](LICENSE)