Install
npx -y @harusame64/desktop-touch-mcpWho it's for
For people who want Claude, Cursor, or another MCP client to see and operate a Windows 10/11 desktop. Official capabilities include screenshots, UI Automation, Chrome CDP, keyboard / mouse, terminal, and semantic discover-then-act, avoiding pixel-coordinate guessing.
This is not a cross-platform remote desktop. This machine must be Windows 10/11. Official docs also write 32 tools, native Rust engine (UIA in 2 ms), zero-config PowerShell fallback, full CJK support, MIT licensed, and it can drive Notepad, Excel, Chrome, Windows Terminal, and other local apps.
Official page:
https://github.com/Harusame64/desktop-touch-mcp
First try in 3 minutes
Follow only the official command:
npx -y @harusame64/desktop-touch-mcp
Add it to Claude / Cursor / VS Code Copilot config. Do not hunt for an installer that never appears.
Prerequisites: Windows 10/11; this machine can run npx. The first try should not move the mouse to click an app, and should not open Key Locker. First remember the emergency stop: hold the mouse in the top-left corner of the primary display (within 10px of 0,0) for 500ms.
Config location: the MCP config of those clients. Official docs do not give a file path.
The first call must use the named desktop_discover. It returns interactive entities and short-lived leases, not raw coordinates. Success: you see the entities and leases, and no keyboard input or mouse click has landed on a window.
Do not call desktop_act immediately. That will operate on what you mean; official docs have per-action perception guards that check the target window identity and bounds before input lands, but it is still a write.
Read-only discovery is not zero risk: it takes screenshots, reads the UI tree, and may touch Chrome CDP. Local desktop content enters the client.
Use cases
Case 1: discover first, then decide whether to act. Call desktop_discover and read the returned entities and leases. Official docs do not write lease duration or an entity field table. For now you can only get as far as “you can see interactive objects, not pixel points”.
Case 2: perform an action on an existing lease. Call desktop_act. Official docs stress it operates on what, not where, and has perception guards against wrong-window typing. No action enum is given. Before calling, you must be able to see a confirm point and be ready for the top-left emergency stop.
Key Locker is another named capability: save a credential once in its own security dialog (Windows DPAPI encryption, never shown to the assistant), then use key_locker(action='launch_console') to open a console; hidden ssh / sudo prompts fill the secret automatically. Do not take this path on the first try.
Limits
Platform limit: Windows 10/11. Capability limit: named tools are desktop_discover, desktop_act, key_locker; 32 tools are written in total, but the other names do not appear.
Safety limit: emergency stop is the primary screen's top-left 10px for 500ms. Credentials are not shown to the assistant, but they still live on this machine. Official docs do not describe a remote session or a non-Windows fallback.