← 返回目录
D

Desktop Touch MCP

社区
面向 Windows 的计算机使用 MCP 服务器:以语义化发现-执行方式驱动任意桌面应用。
分类
开发工具 第 308 / 438
Stars
★ 22 热门
传输方式
stdio(本地进程)
运行环境
Node.js v20+ · 预编译二进制
凭据
无需凭据
许可证
MIT
最近提交
工具数
32
45FMRS · D

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

最强项 · 文档质量 12/20 最弱项 · 维护活跃度 7/20

可靠性
8/20
安全与权限
9/20
维护活跃度
7/20
文档质量
12/20
安装易用性
9/20
查看各项评分依据
可靠性 8/20
仓库展示丰富功能与架构(Rust原生引擎、PowerShell回退、大量工具),但本审查仅依据README与清单,未核实源码、测试或CI。清单声明32个工具,与README工具列表一致,但无实际运行证据。分配8分而非更高:静态审查无法验证启动或握手可靠性;已扣分因缺少执行验证(如CI配置与测试文件未见)。
安全与权限 9/20
未发现明显红线:无恶意代码或凭证窃取迹象。密钥保险库使用Windows DPAPI加密,但README承认辅助程序未签名且可能触发SmartScreen警告;自动守卫与应急停止是加分项,但权限管理(如允许列表)的细节未在源码中验证。评分9:主要风险已知并提出了缓解措施,但未验证未签名的可执行文件。
维护活跃度 7/20
仓库有版本记录、版本控制、MIT许可证,但未见近期提交历史或问题响应证据。版本1.16.0表明发布流程存在,但无贡献者活动、依赖更新或安全咨询证据。评分7:有活跃发布与许可证,但治理与更新路径不透明。
文档质量 12/20
README非常详尽:安装、用法、工具参数、环境变量、故障排除、安全考量等方面均有文档。但有些声称无法核实,如性能基准。文档分层合理,但缺少已验证的API参考且部分内容冗长。评分12:可用性好、有示例与限制说明,但存在无法核实的声称与组织问题。
安装易用性 9/20
提供了明确的设置步骤:工具已发布在npm上并有配置示例。但由于无独立验证,实际运行未确认。平台特定(Windows 10/11)有明确说明。常见客户端配置示例充分。评分9:设置看起来简单,但缺乏可重复构建或测试证据,降低了分数。

静态评测 · 未实际运行收录于 2026-09-08

查看 FMRS 评分方法 →

选型与风险

能访问什么读取本地文件写入 / 删除本地文件执行命令或代码访问网络修改第三方账户数据控制浏览器

适合谁

  • 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 警告。
  • 自动化可能意外干扰其他应用程序;建议用户监督。
  • 如果未正确配置,可能被用于键盘记录或未经授权的数据访问。

安装接入

准备工作

运行环境:Node.js v20+ · 预编译二进制

GITHUB_TOKEN 可选密钥 GitHub 个人访问令牌(github.com/settings/tokens),共享网络下避免每小时 60 次的匿名限流,可选。
GH_TOKEN 可选密钥 同 GITHUB_TOKEN 的别名,可选。
其他可选配置项(32 个)
DESKTOP_TOUCH_AUTO_GUARD 可选 设为 '0' 关闭自动动作防护,可选。
DESKTOP_TOUCH_PERCEPTION_RESOURCES 可选 设为 '1' 启用 MCP 感知资源,可选。
DESKTOP_TOUCH_PERCEPTION_IDLE_MS 可选 WinEvent 旁路进程进入休眠前的空闲毫秒数,默认 60000。
DESKTOP_TOUCH_PERCEPTION_DORMANCY_DISABLE 可选 设为 '1' 让 WinEvent 旁路进程始终运行,可选。
DESKTOP_TOUCH_DIAGNOSTIC_LOG_DISABLE 可选 设为 '1' 关闭 JSONL 诊断日志,可选。
DESKTOP_TOUCH_DIAGNOSTIC_LOG_PATH 可选 覆盖诊断日志的保存路径,可选。
DESKTOP_TOUCH_DIAGNOSTIC_LOG_MAX_BYTES 可选 诊断日志滚动大小阈值,默认 64 MiB,可选。
DESKTOP_TOUCH_RESOLVE_LOG_RAW 可选 设为 '1' 在诊断日志中明文记录窗口标题(默认哈希记录),可选。
DESKTOP_TOUCH_MCP_HOME 可选 覆盖运行时缓存根目录,可选。
DESKTOP_TOUCH_MCP_ALLOW_UNVERIFIED 可选 设为 '1' 跳过运行时完整性校验,仅用于源码开发,可选。
DESKTOP_TOUCH_DOCK_TITLE 可选 启动时自动停靠的目标窗口标题,设 '@parent' 自动定位宿主终端,可选。
DESKTOP_TOUCH_DOCK_CORNER 可选 停靠角落,默认 bottom-right,可选。
DESKTOP_TOUCH_DOCK_WIDTH 可选 停靠窗口宽度(像素或百分比),默认 480,可选。
DESKTOP_TOUCH_DOCK_HEIGHT 可选 停靠窗口高度,默认 360,可选。
DESKTOP_TOUCH_DOCK_PIN 可选 是否置顶,默认 true,可选。
DESKTOP_TOUCH_DOCK_MONITOR 可选 停靠目标显示器,默认主显示器,可选。
DESKTOP_TOUCH_DOCK_SCALE_DPI 可选 设为 true 时按 DPI 缩放停靠尺寸,可选。
DESKTOP_TOUCH_DOCK_MARGIN 可选 屏幕边缘留白像素,默认 8,可选。
DESKTOP_TOUCH_DOCK_TIMEOUT_MS 可选 等待目标窗口出现的最长毫秒数,默认 5000,可选。
DESKTOP_TOUCH_SCREENSHOTS_DIR 可选 指定截图缓存目录,可选。
DESKTOP_TOUCH_SCREENSHOT_MAX_COUNT 可选 截图缓存最大数量,默认 200,可选。
DESKTOP_TOUCH_SCREENSHOT_MAX_BYTES 可选 截图缓存总大小上限,默认 256 MiB,可选。
DESKTOP_TOUCH_SCREENSHOT_MAX_AGE_MS 可选 超过该毫秒数的截图被丢弃(默认关闭),可选。
DESKTOP_TOUCH_SCREENSHOT_AUTOPRUNE 可选 自动修剪缓存,默认 on,可选。
DESKTOP_TOUCH_SCREENSHOT_MIN_EVICT_AGE_MS 可选 新截图最短保留毫秒数,默认 60000,可选。
DESKTOP_TOUCH_CAPTURE_BACKEND 可选 诊断用截图后端覆盖,设为 nutjs 强制旧后端,可选。
DESKTOP_TOUCH_FAILSAFE_HOLD_MS 可选 紧急停止的鼠标停留毫秒数,默认 500,可选。
DESKTOP_TOUCH_MOUSE_SPEED 可选 鼠标移动默认速度(像素/秒),默认 1500,可选。
DESKTOP_TOUCH_FORCE_FOCUS 可选 设为 '1' 使 forceFocus 默认开启,可选。
DESKTOP_TOUCH_DISABLE_KEY_LOCKER 可选 设为 '1' 禁用 Key Locker 凭据自动填充,可选。
DESKTOP_TOUCH_DISABLE_FUKUWARAI_V2 可选 设为 '1' 隐藏 desktop_discover/desktop_act(V2 关闭开关),可选。
DESKTOP_TOUCH_ALLOWLIST 可选 指向 workspace_launch 可执行文件白名单 JSON 的路径,可选。
  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"
      ]
    }
  }
}

以 Claude Desktop 为例。其他客户端的配置文件位置或字段可能不同(如 VS Code 使用 servers 字段),可用下方配置生成器转换。

.vscode/mcp.json
{
  "servers": {
    "desktop-touch": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@harusame64/desktop-touch-mcp"
      ]
    }
  }
}

写入项目的 .vscode/mcp.json(VS Code 使用 servers 字段)。

Terminal
claude mcp add desktop-touch -- npx -y @harusame64/desktop-touch-mcp

在终端运行;先把 <…> 占位符换成你自己的值。

验证是否装好

启动 Claude CLI 后,在工具列表中应能看到 desktop_discover、screenshot、server_status 等 32 个工具;调用 server_status 可确认原生 Rust 引擎健康状态,或直接让 AI 执行“截图并描述我的桌面”来验证连接。

常见排障

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

试试这样问

连接成功后,可以直接对 AI 助手这样说:

  • 帮我看看桌面上现在有哪些窗口,并总结每个窗口的内容。
  • 打开记事本,输入“你好,世界”,然后截图确认。
  • 用 Chrome 打开 https://example.com 并告诉我页面标题。
  • 把窗口停靠到屏幕右下角并设为置顶。

工具能力 32

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 只读
检查原生引擎健康状态及功能激活情况。
展开其余 24 个工具
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 宏。

使用场景

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

支持客户端

Claude Desktop
Claude Code
Cursor
VS Code

依据项目文档列出,未经本站实测。

详细介绍

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

同类可选方案

Context7 80 · B

Upstash 官方维护,为 AI 编码助手提供实时更新的第三方库文档

★ 63.3k · 工具数 2 与当前对比 →

源版本 4368a8f91d5a 数据同步于 2026-10-19 查看 FMRS 评分方法