Desktop Touch MCP logo

Desktop Touch MCP

by Harusame64

Automates Windows desktops through semantic UI actions, browser control, screenshots, terminal commands, and guarded input.

Install Desktop Touch MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "harusame64-desktop-touch-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@harusame64/desktop-touch-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

Harusame64/desktop-touch-mcp connects MCP clients to Windows 10/11 desktops for UI Automation, browser control, screenshots, keyboard and mouse input, terminal use, and application workflows. Its discover-then-act model returns interactive entities with short-lived leases, while perception guards verify the target window before actions are sent. Use it for agents that need to operate desktop applications such as Notepad, Excel, Chrome, Windows Terminal, or accessibility-blind interfaces where coordinate-only automation is unreliable. A limited four-tool preview is also available on macOS 14+ Apple Silicon.

Use cases

  • Automate desktop forms using discovered UI entities
  • Operate Chrome or Edge through DOM and browser state inspection
  • Run terminal commands and wait for completion
  • Drive Excel workflows with VBA macros
  • Inspect visually rendered or accessibility-blind applications

Key features

  • Entity-based discover-then-act automation with leases
  • Per-action window and perception validation
  • UIA, CDP, OCR, screenshots, keyboard, mouse, and terminal control
  • Browser DOM, JavaScript, and application-state inspection
  • Screenshot diffs, native-resolution capture, and cached image references
  • Credential autofill through an encrypted Windows key locker

Tools23

What Desktop Touch MCP lets your agent do. Expand a tool for its parameters.

Self-reported~762 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

7/7 checks healthy over the last 54d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 11d ago via OSV.dev · @harusame64/desktop-touch-mcp (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars23Stargazers on the source repository.
npm downloads3.4kPackage downloads in the last 30 days.
Last commit2d agoMost recent push to the default branch.
Tools exposed23Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How Desktop Touch MCP works

What Harusame64/desktop-touch-mcp does

Harusame64/desktop-touch-mcp exposes Windows desktop operations through MCP. It can inspect windows and interactive controls, perform semantic actions such as clicking, typing, setting values, and selecting items, and report the resulting UI changes. It also supports direct keyboard and mouse input, screenshots, clipboard exchange, window placement, application launching, terminal commands, browser automation, Excel VBA execution, and credential autofill through its key locker.

The main interaction pattern is to call desktop_discover, receive entities identified through UI Automation, Chrome DevTools Protocol, terminal inspection, or visual detection, and then pass an entity lease to desktop_act. This avoids relying exclusively on screen coordinates. Actions include validation of the target window and can be refused with a reason when the intended input cannot safely reach its destination.

How it works

A native Rust engine handles UI Automation and image-difference work when available. PowerShell provides a fallback path if the native component cannot be used. Visual-only applications can be inspected through OCR and Set-of-Marks output, which supplies numbered regions and click coordinates. Browser tools use DOM and application-state inspection in addition to pixel-based views.

Observation can be kept lightweight. desktop_state reports focus, the active window, cursor information, and an attention signal. screenshot supports text extraction, changed-frame capture, native-resolution capture, and background capture; saved images can be referenced through screenshot://by-ref/{id} links. run_macro batches up to 50 operations, and wait_until polls for window, focus, text, or URL changes.

Perception lenses can be registered for a window or browser tab. Passing a lens to action tools enables post-action perception feedback, helping the agent verify that the expected UI changed rather than taking another full screenshot after every operation.

Setup and configuration

Run the package with Node.js using:

Terminal
npx -y @harusame64/desktop-touch-mcp

The primary platform is 64-bit Windows 10 or 11. Node.js 20 or newer is recommended, and PowerShell 5.1 or newer is used for fallback execution. The launcher downloads and verifies the matching runtime release, then caches it under %USERPROFILE%\\.desktop-touch-mcp. Set DESKTOP_TOUCH_MCP_HOME to change that location, or use DESKTOP_TOUCH_MCP_KEEP_RELEASES to retain additional cached releases.

Add the command to an MCP client configuration. The repository specifically describes use with Claude, Cursor, and VS Code Copilot. A Visual C++ Redistributable may be needed for native input bindings. The key locker stores credentials locally with Windows DPAPI; its helper may trigger a SmartScreen or antivirus warning because it is unsigned.

Tools and capabilities

  • Discover entities and act on them with desktop_discover and desktop_act.
  • Inspect focus, windows, screenshots, OCR, diffs, and cached captures.
  • Send keyboard and mouse input, scroll, use the clipboard, and manage window focus or docking.
  • Launch applications, execute terminal commands, wait for state changes, and batch operations.
  • Open and inspect Chromium-based browsers through navigation, DOM, JavaScript, and app-state tools.
  • Run Excel VBA macros after enabling VBOM access.
  • Store terminal credentials in the encrypted key locker and use them for supported autofill flows.

Limitations and notes

The server is designed primarily for Windows. macOS Apple Silicon support is a limited preview with four tools. Terminal typing in Windows Terminal requires asking the user each time and an MCP client with elicitation support. Excel VBA requires one-time VBOM access setup. An emergency stop is available by moving the mouse to within 10 pixels of the primary monitor's top-left corner for 500 milliseconds.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Desktop Touch MCP

Harusame64/desktop-touch-mcp is an MCP server that connects AI clients to Windows desktops through UI Automation, Chrome CDP, screenshots, keyboard and mouse input, and terminal control. Its main tools discover interactive entities, perform guarded actions, inspect browser state, manage windows, run commands, and report semantic UI changes.

Install it by running `npx -y @harusame64/desktop-touch-mcp` and adding that command to your MCP client configuration. Node.js 20 or newer is recommended, and the main supported platform is 64-bit Windows 10 or 11.

Yes, Harusame64/desktop-touch-mcp works with Cursor. The server can be added to Cursor's MCP configuration using its npx launcher, giving the client access to the desktop, browser, terminal, screenshot, and other exposed tools.

It validates entity leases and checks the target window before sending an action. Perception guards can refuse input when the window is blocked, closed, on another virtual desktop, or otherwise unsuitable, and an `hwnd`-targeted action is prevented from landing in another window with the same title.

Yes, it can use OCR and Set-of-Marks visual detection when UI Automation cannot expose an application's controls. The resulting discovery includes numbered visual regions and click coordinates, allowing interaction with targets such as games, RDP sessions, and other UIA-blind applications.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewDesktop Touch MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/harusame64-desktop-touch-mcp?style=directory)](https://allmcps.com/mcp/harusame64-desktop-touch-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/harusame64-desktop-touch-mcp"><img src="https://allmcps.com/api/badge/harusame64-desktop-touch-mcp?style=directory" alt="Desktop Touch MCP on AllMCPs" /></a>