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 自动化更稳定、更容易调试,也更安全。