Desktop Touch MCP Server
by harusame64io.github.Harusame64/desktop-touch-mcpv2.2.0
Windows desktop automation with entity-based actions instead of coordinate clicks, using UIA, CDP, screenshots, keyboard, mouse, clipboard and terminal control.
context tax
queued
security
queued
cold start
queued
freshness
Active2d ago
Install Desktop Touch MCP server
Install in Claude Code
claude mcp add desktop-touch -- npx -y @harusame64/desktop-touch-mcpInstall in Cursor
{
"mcpServers": {
"desktop-touch": {
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
]
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"desktop-touch": {
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
]
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"desktop-touch": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
]
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"desktop-touch": {
"command": "npx",
"args": [
"-y",
"@harusame64/desktop-touch-mcp"
]
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| 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. |
Freshness
Active — last maintenance signal 2d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-08 · 2d ago · GitHub
Latest release
2026-10-04 · 6d ago · GitHub · v2.2.0
Package published
no data · npm/PyPI
Registry entry updated
2026-10-04 · 6d ago · official registry · v2.2.0
FAQ
›How do I install the Desktop Touch MCP server in Claude Code?
Run: claude mcp add desktop-touch -- npx -y @harusame64/desktop-touch-mcp. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Desktop Touch require an API key?
No required environment variables are declared in its published metadata.
›Can I use Desktop Touch as a remote (hosted) MCP server?
No hosted endpoint is published; it runs locally over stdio.
›Is Desktop Touch in the official MCP registry?
Yes, as io.github.Harusame64/desktop-touch-mcp.
Alternatives to Desktop Touch
Other code execution & sandboxes MCP servers.