rdp-cli

MCP 与 Computer Use 有什么区别?什么时候需要桌面自动化

MCP 和 Computer Use 经常一起出现,但它们解决的是两类不同的问题。

MCP 把 AI Agent 连接到工具和结构化数据。Computer Use 则让 Agent 直接操作图形界面,例如点击按钮、输入文字、读取屏幕内容。

选择哪一种,取决于目标任务提供了什么样的接口。

MCP:适合结构化工具和数据

如果应用提供稳定的 API、CLI、数据库操作或文件操作,MCP 通常更合适。

MCP Server 可以让 Agent:

  • 查询数据库
  • 创建支持工单
  • 读取共享文件夹中的文件
  • 调用云服务
  • 执行预定义的部署命令
  • 检查服务器状态

这些操作返回结构化结果,Agent 不需要寻找界面控件,也不需要判断屏幕坐标。

典型流程是:

Agent -> MCP 工具 -> 应用或服务 -> 结构化结果

只要 API 或命令行可用,通常应优先使用 MCP。它更容易测试,也不容易受到界面布局变化的影响。

Computer Use:适合图形界面

当任务只能在图形化桌面中完成时,就需要 Computer Use。

常见场景包括:

  • 操作 Windows 专用应用
  • 使用没有 API 的旧软件
  • 通过远程桌面执行任务
  • 处理文件选择框、导出对话框和弹窗
  • 需要根据画面进行确认的流程
  • 操作没有可用 API 的网页系统

流程也不同:

Agent -> 截取屏幕 -> 发送鼠标或键盘操作 -> 再次截屏 -> 验证结果

Agent 必须先观察屏幕再操作。不能假设按钮永远在固定位置,也不能假设上一步点击已经成功。

使用 rdp-cli 操作远程 Windows 时,可以这样做:

.\rdp-cli.exe screenshot --session SESSION --out before.png
.\rdp-cli.exe click --session SESSION --desktop --x 420 --y 260 --observation OBSERVATION
.\rdp-cli.exe screenshot --session SESSION --out after.png

关键不是点击本身,而是点击后确认结果。

必要时把两者结合起来

MCP 和 Computer Use 不是竞争关系,它们可以负责同一流程中的不同步骤。

例如,Agent 先用 MCP 获取任务和输入文件,并访问远程 Windows 会话;然后用 Computer Use 打开 Windows 应用、导入文件、完成界面操作并导出结果;最后再用 MCP 上传输出文件并更新任务状态。

这种混合方式把结构化操作交给 MCP,只在真正需要时使用桌面自动化。

什么时候选择 Computer Use?

遇到以下情况时,可以使用桌面自动化:

  • 没有可用的 API 或 CLI
  • 应用是 Windows 专用软件
  • 任务依赖界面当前状态
  • 人通常需要通过对话框点击完成任务
  • 软件修改的数据无法通过其他渠道访问
  • 需要操作已有的远程桌面会话

不要因为 Computer Use 可用就默认使用它。如果 API 能可靠完成同一任务,通常 API 更合适。

一个实用判断规则

先问一个问题:

这个任务能否通过文档化的 API、命令或结构化工具完成?

如果可以,优先从 MCP 开始。如果不行,而且任务需要图形界面,就使用 Computer Use。远程 Windows 场景应配合支持截图、鼠标键盘输入和会话验证的 RDP 工具。

原则很简单:

结构化操作使用 MCP,界面操作使用 Computer Use,重要的桌面动作必须验证结果。

这样可以让 AI 自动化更稳定、更容易调试,也更安全。