MCP

在 Windows 上先发现再操作桌面

适合要让 Claude 或 Cursor 操作 Windows 10/11 桌面的人;不要猜像素坐标,第一次请先调用 desktop_discover,并记住左上角急停。

官方来源 · desktop-touch-mcp

安装

npx -y @harusame64/desktop-touch-mcp

适合谁

适合要让 Claude、Cursor 或其它 MCP 客户端看见并操作 Windows 10/11 桌面的人。官方能力包括 screenshots、UI Automation、Chrome CDP、keyboard / mouse、terminal,并且用 semantic discover-then-act,避免 pixel-coordinate guessing。

它不是跨平台远程桌面。本机必须是 Windows 10/11。官方还写了 32 tools、native Rust engine(UIA in 2 ms)、zero-config PowerShell fallback、full CJK support、MIT licensed,可驱动 Notepad、Excel、Chrome、Windows Terminal 以及其它本机应用。

官方页面:

https://github.com/Harusame64/desktop-touch-mcp

3 分钟完成第一次尝试

只走官方命令:

npx -y @harusame64/desktop-touch-mcp

把它加到 Claude / Cursor / VS Code Copilot 配置。不要另找未出现的安装器。

前置条件:Windows 10/11;本机能跑 npx。第一次不要移动鼠标去点应用,也不要打开 Key Locker。先记住应急停止:把鼠标停在主显示器左上角(within 10px of 0,0)500ms。

配置位置:上述客户端的 MCP 配置。官方没有给出文件路径。

第一次调用必须用已点名的 desktop_discover。它返回 interactive entities 与 short-lived leases,而不是原始坐标。成功信号:看到实体列表和租约,且没有键盘输入或鼠标点击落到窗口上。

不要马上调用 desktop_act。那会 operate on what you mean;官方有 per-action perception guards,会在输入落地前核对目标窗口 identity 和 bounds,但仍是写操作。

只读发现不是零风险:它会截屏、读 UI 树,并可能触及 Chrome CDP。本机桌面内容会进入客户端。

使用案例

案例一:先发现再决定是否动手。调用 desktop_discover,阅读返回的实体与租约。官方没有写租约时长或实体字段表。目前只能走到“能看见可交互对象,而不是像素点”。

案例二:对已有租约执行动作。调用 desktop_act。官方强调它操作的是 what,不是 where,并且有 perception guards 防止 wrong-window typing。没有给出动作枚举。调用前必须能看到确认点,并准备好左上角急停。

Key Locker 是另一条已点名能力:在它自己的安全对话框里保存一次凭证(Windows DPAPI 加密,never shown to the assistant),再用 key_locker(action='launch_console') 打开控制台,ssh / sudo 的隐藏提示会自动填密。第一次尝试不要走这条。

使用边界

平台边界:Windows 10/11。能力边界:已点名工具是 desktop_discover、desktop_act、key_locker;总共写了 32 tools,但其余名字未出现。

安全边界:急停是主屏左上角 10px、500ms。凭证不给助手看,但仍存在本机。官方没有写远程会话或非 Windows 回退。