Desktop Touch MCP runs on your own machine — the client starts it, so there is no endpoint to ping. 1 798 installs a week from npm. Last commit 1 Nov 2026.
Computer-use MCP for Windows 10/11: 32 tools — screenshot, UIA, Chrome CDP, type/click/scroll, VBA.
We read the source, 21 h ago · rules 995398eba69f
Things with no honest explanation: a promise that contradicts the code, code that runs at install time while hiding what it does, data leaving the machine.
if ((program === "sudo" || program === "doas") && privLaunchesInteractiveShell(rest)) return "interactive";
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
const child = spawn(HELPER_EXE, ["-PipeName", pipeName, "-McpPid", String(mcpPid)], {
fs.writeFileSync(path.join(root, file), data, { mode: 0o600, flag: "wx" });
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
Code changes quietly between releases, and nobody reads the diff of a dependency. We do, on every release — watch Desktop Touch MCP and you get told the day something new turns up.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add desktop-touch-mcp -- npx -y @harusame64/desktop-touch-mcp
{
"mcpServers": {
"desktop-touch-mcp": {
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
]
}
}
}
[mcp_servers.desktop-touch-mcp]
command = "npx"
args = ["-y", "@harusame64/desktop-touch-mcp"]
{
"mcpServers": {
"desktop-touch-mcp": {
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
]
}
}
}
{
"servers": {
"desktop-touch-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
]
}
}
}
Optional settings from the registry entry, left out of the block above:
DESKTOP_TOUCH_AUTO_GUARD (Set to '0' to disable automatic action guards (reverts to v0.11.12 behavior)), DESKTOP_TOUCH_PERCEPTION_RESOURCES (Set to '1' to enable MCP perception resources), DESKTOP_TOUCH_PERCEPTION_IDLE_MS (Idle ms before the WinEvent sidecar enters dormancy (default 60000)), DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE (Set to '1' to keep the WinEvent sidecar always running (no auto-dormancy)), DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE (Set to '1' to disable the JSONL diagnostic event log (issue #365 Phase 2)), DESKTOP_TOUCH_DIAGNOSTIC_LOG_PATH (Override path for the diagnostic event log), DESKTOP_TOUCH_DIAGNOSTIC_LOG_MAX_BYTES (Size in bytes at which the diagnostic event log rolls over to diagnostic.log.1 (default 67108864 = 64 MiB). Two rolled generations are kept. Values below 1 MiB are raised to 1 MiB and values above 1 GiB are lowered to 1 GiB; anything that is not a positive whole number falls back to the default, so a typo cannot disable rotation in either direction), DESKTOP_TOUCH_RESOLVE_LOG_RAW (Set to '1' to record window titles and title queries in clear in the diagnostic event log. Off by default: titles are recorded as a short hash plus their length, because a title can contain a file name, a mail subject, or a browser page title).
Hyprland/Wayland computer-use MCP: grim screenshots + uinput click/type + hyprctl targeting
Model-agnostic computer-use MCP: screenshot, safety-gated actions, Windows UIA targeting.
Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.
MCP server for desktop, browser (CDP), and Android automation. Screenshot, OCR, click, type.
macOS automation: 17 typed tools for windows, menus, keyboard, clipboard, tabs, screenshots
AI browser tools with Chrome CDP. Navigate, screenshot, interact. Multi-provider failover.
Control Windows desktop via MCP: mouse, keyboard, screenshots, clipboard, and apps.
Automate cloud Chrome—navigate, click, type, screenshot, run code, record screen video
Answers built from our own checks of this server.