Desktop MCP Server

Windows 11 desktop automation MCP server. Win32, UIA, CDP/Chrome, 56 tools. Windows-only.

Local serverstdio

What is the Desktop MCP Server?

Windows 11 desktop automation MCP server. Win32, UIA, CDP/Chrome, 56 tools. Windows-only.

The short version

32 tools, native Rust engine (UIA in 2 ms), zero-config PowerShell fallback, full CJK support, MIT licensed. Add the snippet above to your Claude / Cursor / VS Code Copilot config and Claude can drive Notepad, Excel, Chrome, Windows Terminal, and any other app on your machine.

  • LLM-native design — — Built around how LLMs think, not how humans click. run_macro batches multiple operations into a single API call; diffMode sends only the windows that changed since the last frame. Minimal tokens, minimal round-trips
  • Full CJK support — — Uses Win32 GetWindowTextW for window titles, avoiding nut-js garbling. IME bypass input supported for Japanese/Chinese/Korean environments
  • 3-tier token reduction — — detail="image" (~443 tok) / detail="text" (~100–300 tok) / diffMode=true (~160 tok). Send pixels only when you actually need to see them
  • 1:1 coordinate mode — — dotByDot=true captures at native resolution (WebP). Image pixel = screen coordinate — no scale math needed. With origin+scale passed to mouse_click, the server converts coords for you — eliminating off-by-one / scale bugs
  • Chromium smart fallback — — detail="text" on Chrome/Edge/Brave auto-skips UIA (prohibitively slow there) and runs Windows OCR. hints.chromiumGuard + hints.ocrFallbackFired flag the path taken
  • UIA element extraction — — detail="text" returns button names and clickAt coords as JSON. Claude can click the right element without ever looking at a screenshot

What it needs from you

| | | |---|---| | OS | Windows 10 / 11 (64-bit) | | Node.js | v20+ recommended (tested on v22+) | | PowerShell | 5.1+ (bundled with Windows) — used only as fallback when the Rust native engine is unavailable | | Claude CLI | claude command must be available | > Note: nut-js native bindings require the Visual C++ Redistributable. > Download from

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

How to install the Desktop MCP Server

{
  "mcpServers": {
    "desktop-touch": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@harusame64/desktop-touch-mcp"]
    }
  }
}

Configuration as documented by the project. Restart the client after saving.

Configuration

| | | |---|---| | OS | Windows 10 / 11 (64-bit) | | Node.js | v20+ recommended (tested on v22+) | | PowerShell | 5.1+ (bundled with Windows) — used only as fallback when the Rust native engine is unavailable | | Claude CLI | claude command must be available | > Note: nut-js native bindings require the Visual C++ Redistributable. > Download from

VariableDescriptionRequired
GITHUB_TOKENCredential the server authenticates with.Yes

Frequently asked questions

Windows 11 desktop automation MCP server. Win32, UIA, CDP/Chrome, 56 tools. Windows-only. Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.