desktop-touch-mcp:让 MCP 客户端以语义化方式操控 Windows 桌面应用
Harusame64/desktop-touch-mcp · Windows computer-use MCP server: drive any desktop app via semantic discover-then-act targeting (entities + leases, not pixel coordinates), with per-action perception guards, a native Rust UIA engine, Chrome CDP, and Key Locker credential autofill for ssh/sudo password prompts. Works with Claude, Cursor, and any MCP client.
ELI5:它是什么,解决什么问题
desktop-touch-mcp 是一个面向 Windows 10/11 的 computer-use MCP 服务器,提供 32 个工具,让 Claude、Cursor 等 MCP 客户端可以截屏、读取 UI Automation 元素、通过 Chrome CDP 操作浏览器,以及进行键盘、鼠标和终端控制。其核心是 discover-then-act 的语义化定位(返回带租约的交互实体而非像素坐标)与逐动作感知守卫,用于在输入落地前核验目标窗口身份和边界。项目还包含 Rust 原生 UIA/图像差异引擎与 PowerShell 回退、Set-of-Marks 视觉回退、CJK 支持、以及用于 ssh/sudo 密码自动填充的 Key Locker。
核心能力与快速开始
★ 22 · TypeScript
- 能做什么
- 提供 Windows 桌面 computer-use 能力,共 32 个工具。核心是 World-Graph V2 路径:desktop_discover 返回交互实体及其租约(来自 UIA、CDP、终端、视觉 SoM),desktop_act 基于租约验证执行点击、输入、拖拽并返回语义差异,可选返回变化区域的 roiCapture。感知与状态方面包含 desktop_state、多模式 screenshot(text/UIA-OCR、diffMode、dotByDot、background,并可用 by-ref 链接引用磁盘截图)、screenshot_query/screenshot_gc 缓存管理、workspace_snapshot、server_status。输入控制含 keyboard(支持 WM_CHAR 后台输入与 IME 安全剪贴板绕过)、mouse_click/mouse_drag、多策略 scroll、click_element。浏览器通过 CDP 操作 Chrome/Edge/Brave,含导航、DOM 交互、browser_eval 检查以及 browser_overview/search/locate 语义发现。其他包括 terminal 命令执行、wait_until 轮询、窗口停靠与聚焦、workspace_launch、run_macro 批量操作、剪贴板与通知,以及 Key Locker 凭据管理(DPAPI 加密存储、launch_console 开启可自动填充 ssh/sudo 密码的控制台)。另有 Rust 原生引擎(UIA 焦点查询 2ms)、PowerShell 回退、Set-of-Marks 视觉回退、CJK 支持与紧急停止(鼠标移至主屏左上角触发)。
- 适用场景
- 让支持 MCP 的助手或 IDE(Claude、Cursor、VS Code Copilot、GPT Desktop 等)自动操作 Windows 桌面应用,例如 Notepad、Excel、Chrome、Windows Terminal 及其他可访问或不可访问的应用。适合需要语义化定位避免像素坐标猜测的桌面自动化、对 UIA 不可见目标(Electron 应用、PWA、游戏、自定义画布、RDP 窗口)使用视觉 SoM 回退的场景,以及需要在终端中自动填充 SSH/sudo 密码的自动化流程。run_macro 与 diffMode 可用于降低 token 与往返次数的批量操作场景。
- 项目形态
- 可直接使用的工具
- 部署方式
- 可通过 npx 运行 `npx -y @harusame64/desktop-touch-mcp`,支持 stdio 与 Streamable HTTP 模式(默认 http://127.0.0.1:23847/mcp,仅本地)。也可从源码构建(git clone、npm install、npm run build)后在本机注册运行。npm 启动器会按版本拉取对应 GitHub Release 的 Windows 运行时 zip 并校验 SHA256。
- 主要依赖
- Windows 10/11 64 位;建议 Node.js v20+(开发或运行测试套件要求 ^22.12 || ^24 || >=26);PowerShell 5.1+(仅作为原生引擎不可用时的回退);Claude CLI 需可用 `claude` 命令;nut-js 原生绑定需要 Visual C++ Redistributable。首次运行需访问 GitHub Releases API,共享或 CI 网络可能需要设置 GITHUB_TOKEN/GH_TOKEN 以提升速率限制。
- 使用限制
- 仅支持 Windows 10/11 64 位,非跨平台。Key Locker 使用的凭据助手是未签名可执行文件,部分机器首次运行可能触发 SmartScreen 或杀毒软件的“未知发布者”警告,代码签名计划在后续版本中提供。从源码检出运行启动器时会因占位完整性哈希而失败关闭,仅开发用途可设 DESKTOP_TOUCH_MCP_ALLOW_UNVERIFIED=1 跳过校验。离线回退(DESKTOP_TOUCH_MCP_OFFLINE_FALLBACK)默认关闭,开启后可能复用损坏安装而不修复。部分桌面宿主可能只给插件固定启动预算(常见 60 秒),网络不可达时会消耗该预算。
- 许可证
- MIT
- 最近推送
- 2026-09-29 06:36
资料检查:2026-09-29 07:00 · 卡片整理:2026-09-29 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
职业应用
程序员
在 Windows 上通过 MCP 客户端(如 Claude、Cursor)以语义化方式操控桌面应用进行开发与排错:截屏、读取 UI Automation 元素、通过 Chrome CDP 操作浏览器、键盘鼠标与终端控制,并可用 terminal 工具执行命令、用 run_macro 批量操作。
查看内容依据
Lets Claude, Cursor, or any MCP client see and operate your Windows 10/11 desktop — screenshots, UI Automation, Chrome CDP, keyboard / mouse, terminal
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。