← 返回目录
D

Desktop Touch MCP

社区
面向 Windows 的计算机使用 MCP 服务器:以语义化发现-执行方式驱动任意桌面应用。
GitHub 源仓库 ↗
★ 18 Stars 分类 · 开发工具 热门 源版本 6d7107e5e281
45FMRS · D

该服务器为 Windows 桌面用户提供了强大的控制和低 Token 开销。其原生 Rust 引擎和敏锐的安全措施(如自动防护和故障安全)非常适合在有监督的自动化场景中使用。注意仅支持 Windows,且自动化代理的固有风险需要谨慎。

可靠性
8/20
安全与权限
9/20
维护活跃度
7/20
文档质量
12/20
安装易用性
9/20
查看 FMRS 评分方法 →

Desktop Touch MCP 是一款用于 Windows 10/11 的计算使用 MCP 服务器。它提供 32 个工具,支持屏幕截图、UI 自动化、Chrome DevTools 协议、键盘/鼠标输入和终端控制。核心设计采用语义化的「发现-执行」机制(返回实体和租约而非像素坐标),并通过每次操作的感知守卫来避免误触窗口。底层使用原生 Rust 引擎(UIA 聚焦查询仅需 2 毫秒),并拥有透明的 PowerShell 回退。包含 Key Locker 功能,可安全地自动填充 SSH/sudo 凭据。与 Claude、Cursor 等 MCP 客户端兼容。该服务器以 MIT 许可证开源。

工具能力

desktop_discover
观察桌面,返回带有租约的交互实体(支持 UIA、CDP、终端、视觉 SoM)。
desktop_act
在租约验证后对实体执行点击、输入、拖拽等操作,并返回语义差异信息。
desktop_state
轻量检查焦点窗口、活动元素、光标位置及注意力信号。
screenshot
多模式截取屏幕:文本模式(UIA/OCR)、差异模式(P 帧)、逐点模式(1:1)等,并返回引用链接以节省 Token。
screenshot_query
查看磁盘上的截图缓存条目,无需重新读取像素。
screenshot_gc
根据保留策略清理截图缓存,默认试运行。
workspace_snapshot
在一次调用中获取所有窗口缩略图及 UI 摘要,实现会话快速定向。
server_status
检查原生引擎健康状态及功能激活情况。
keyboard
发送键盘输入,支持后台输入与 IME 安全的剪贴板旁路。
mouse_click
基于精确坐标的点击,带有归位与强制聚焦保护。
mouse_drag
基于坐标的拖拽,默认阻止跨窗口拖拽以保护安全。
scroll
多策略滚动:原始、至元素、智能(虚拟列表)或捕获(拼接)。
click_element
基于名称/ID 的传统 UIA 点击,作为实体不可用时的回退。
browser_open
以调试模式幂等启动 Chrome,或仅连接现有 CDP 端点。
browser_navigate
通过 CDP 导航到指定 URL,无需点击地址栏。
browser_click
通过 CDP 对 DOM 元素进行点击,对重绘和框架渲染稳定。
browser_fill
为 React/Vue/Svelte 受控输入填充值,状态安全。
browser_form
高级 DOM 交互,可处理多个字段。
browser_eval
在浏览器中执行 JavaScript、读取 DOM 或提取 SPA 状态。
browser_overview
返回链接、按钮、输入框及 ARIA 状态的列表。
browser_search
按文本或模式在 DOM 中搜索,并带有置信度排名。
browser_locate
通过 CSS 选择器获取物理屏幕坐标,已处理浏览器边框。
terminal
执行命令并等待完成或读取输出,支持安静、模式或退出码等完成模式。
wait_until
高效轮询窗口、焦点、文本或 URL 状态变化。
window_dock
窗口管理:置顶、取消置顶、停靠到角落。
focus_window
将指定窗口置于前台。
workspace_launch
启动应用程序并自动检测新的窗口句柄,支持本地化标题。
run_macro
将最多 50 个操作合并为单次调用,提升效率。
clipboard
系统级别的文本交换。
notification_show
显示用户通知。
key_locker
管理 SSH 密钥密码和密码,通过安全对话框加密存储,并在终端中自动填充。
excel
通过 COM 创建并运行 Excel VBA 宏。

安装接入

  1. 通过 npm 运行服务器:npx -y @harusame64/desktop-touch-mcp
  2. 将上述配置示例添加到 Claude Desktop 的配置文件 (claude_desktop_config.json) 或 Claude Code 的 .claude.json 的 mcpServers 中。
  3. 确保系统满足要求:Windows 10/11 64 位,Node.js v20+(建议 v22+),PowerShell 5.1+(作为回退)。
  4. 如果使用浏览器自动化,请以远程调试模式启动 Chrome:chrome.exe --remote-debugging-port=9222 --user-data-dir=C:\tmp\cdp
  5. 其他客户端可使用 HTTP 模式:npx -y @harusame64/desktop-touch-mcp --http,默认端口 23847。
claude_desktop_config.json
{
  "mcpServers": {
    "desktop-touch": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@harusame64/desktop-touch-mcp"
      ]
    }
  }
}

选型与风险

适合谁

  • Windows 10/11 用户,希望让 AI 代理直观地操作桌面应用。
  • 开发人员使用 Claude 或 Cursor 进行端到端桌面测试。
  • 需要高保真 UI 无自动化与低 Token 开销的人。

不适合谁

  • macOS 或 Linux——仅支持 Windows。
  • 需要基于像素坐标的高级自动化(虽然提供鼠标点击,但设计倡导实体方式)。
  • 游戏或 RDP 会话,UIA 失效必须依赖 OCR 回退。
  • 无头环境——没有桌面显示器时无法工作。

所需权限

  • 读取屏幕内容(截图)。
  • 通过 Windows UI Automation API 读取 UI 元素信息。
  • 模拟键盘和鼠标输入。
  • 控制浏览器(通过 CDP)。
  • 访问文件系统以缓存截图和日志。
  • 使用 DPAPI 加密存储凭据。

风险与副作用

  • 恶意提示可能触发破坏性操作,如删除文件或下载恶意内容。由于代理可以控制桌面,建议在隔离环境中使用。
  • 凭据存储在本地,使用 DPAPI 加密,但 Key Locker 使用未签名的可执行文件,可能触发 SmartScreen 警告。
  • 自动化可能意外干扰其他应用程序;建议用户监督。
  • 如果未正确配置,可能被用于键盘记录或未经授权的数据访问。

常见排障

  1. 检查 Node.js 版本是否满足需求(v20+)。
  2. 确保以 64 位 Windows 运行。
  3. 检查日志是否写入桌面(例如,从 MCP 客户端启动时)。
  4. 若浏览器工具失效,确认 Chrome 以远程调试端口启动。
  5. 如果输入未到达目标窗口,先调用 focus_window,然后用 keyboard 操作。
  6. 有关强制聚焦错误,请设置 forceFocus: true 或设置环境变量 DESKTOP_TOUCH_FORCE_FOCUS=1。
  7. 遇到无提示的失败时,查看桌面角落的警告或通知。

使用场景

让 Claude 或 Cursor 自动化桌面任务,如操作记事本、Excel、Chrome 等应用。
在 Windows 上执行 GUI 测试或 UI 回归检查。
自动化需要键盘和鼠标的重复工作流,支持跨多个显示器。
通过 Key Locker 安全地自动填充 SSH 或 sudo 密码。

支持客户端

Claude Desktop完整支持
Claude Code完整支持
Cursor完整支持
VS Code Copilot完整支持