Files
cs-note/claude-code-best/docs/features/computer-use-mcp-test-report.md

6.6 KiB
Raw Permalink Blame History

tags, create time
tags create time
computer-use
mcp
测试报告
macos
权限模型
2026-06-09 22:30

Computer Use MCP 工具测试报告

概述

对 Computer Use MCP 的 17 个工具进行的完整功能测试报告。测试覆盖权限管理、截图显示、鼠标操作、键盘操作、状态查询和复合操作六大类,重点验证了分级权限模型的安全性。

[!info] 测试日期: 2026-04-04 测试环境: macOS Darwin 25.4.0, Cursor (IDE tier: click) MCP Server: @ant/computer-use-mcp

正文

工具总览

共 17 个工具(含 batch 复合操作),分为 5 大类:

类别 工具 数量
截图/显示 screenshot, switch_display, zoom 3
鼠标操作 left_click, right_click, double_click, triple_click, middle_click, left_click_drag, mouse_move 7
键盘操作 key, type, hold_key 3
状态查询 cursor_position, request_access 2
复合/辅助 computer_batch, wait 2

测试结果

1. 权限管理

request_access — 请求应用访问权限
项目 结果
状态 ✅ 通过
行为 弹出系统对话框请求用户授权,支持批量申请多个应用
返回 { granted: [...], denied: [...], tierGuidance: "..." }
权限分级 click(仅点击), full(完整控制)
说明 IDE 类应用默认授予 click tier,限制键盘输入和右键操作;系统应用授予 full tier
已授权应用
应用 Tier 能力
Cursor click 可见 + 纯左键点击(无键盘输入、右键、修饰键点击、拖拽)
Terminal click 同上
System Settings full 完整控制(键鼠、拖拽等)
Finder — 已授权

2. 截图与显示

screenshot — 截取屏幕截图
项目 结果
状态 ⚠️ 部分通过
执行 工具成功执行,返回 ok: true
图片 未返回可视图片内容(output 为空字符串)
save_to_disk 设置后仍无输出
分析 可能原因:(1) macOS 屏幕录制权限未授予;(2) 当前前台应用未被过滤导致截图为空;(3) MCP 传输层未正确编码图片数据

Warning

建议排查:检查 系统设置 → 隐私与安全性 → 屏幕录制 是否授权给运行 Claude Code 的应用。

switch_display — 切换显示器
项目 结果
状态 ✅ 通过
行为 接受显示器名称或 "auto"(自动选择)
zoom — 区域放大截图
项目 结果
状态 ⏭️ 跳过
原因 依赖 screenshot 返回的图片坐标,截图未返回图片无法测试

3. 鼠标操作

以下测试在 Cursor 窗口上执行(tier: click)

工具 状态 说明
mouse_move ✅ 通过 coordinate: [500, 500] → "Moved."
left_click ✅ 通过 coordinate: [500, 500] → "Clicked."
double_click ✅ 通过 coordinate: [500, 500] → "Clicked."
triple_click ✅ 通过 coordinate: [500, 500] → "Clicked."
right_click ⚠️ 受 tier 限制 Cursor (click tier) 被拒绝;Finder (full tier) 通过
middle_click ⚠️ 受 tier 限制 同 right_click,需要 full tier
left_click_drag ⚠️ 受 tier 限制 拖拽被视为修饰键点击,需要 full tier
scroll ✅ 通过 scroll_direction: "down" 和 "up" 均通过

4. 键盘操作

以下测试在 Cursor 窗口上执行(tier: click)— 所有键盘操作均被拒绝

工具 状态 说明
key ⚠️ 受 tier 限制 Cursor 被拒绝;Finder (full tier) escape 成功
type ⚠️ 受 tier 限制 Cursor 被拒绝;Finder 输入 "hello" 成功
hold_key ⚠️ 受 tier 限制 Cursor 被拒绝;Finder 按住 shift 1 秒成功

[!info] IDE 安全限制符合预期:功能在 full tier 应用上完全正常。


5. 状态查询

cursor_position — 获取鼠标位置
项目 结果
状态 ✅ 通过
返回 {"x": null, "y": null, "coordinateSpace": "image_pixels"}
说明 坐标为 null 是因为没有成功截图,无参考坐标系

6. 复合/辅助操作

computer_batch — 批量执行操作
项目 结果
状态 ✅ 通过
行为 按顺序执行操作列表,遇到失败则停止后续操作
返回 { completed: [...], failed: {...}, remaining: N }
wait — 等待
项目 结果
状态 ✅ 通过
输入 duration: 1 (秒)
最大值 100 秒

汇总统计

状态 数量 工具
✅ 通过 10 request_access, switch_display, mouse_move, left_click, double_click, triple_click, scroll, cursor_position, computer_batch, wait
⚠️ 部分通过 7 screenshot(执行成功但无图片返回), right_click, middle_click, left_click_drag, key, type, hold_key(均在 full tier 应用上通过,IDE click tier 限制是预期行为)
❌ 被拒绝 0 —
⏭️ 跳过 1 zoom(依赖截图)

已知问题

P0: 截图无图片返回

screenshot 工具执行成功但未返回图片内容,导致:

  • 无法获取屏幕坐标参考
  • cursor_position 返回 null 坐标
  • zoom 无法使用
  • 所有点击操作只能盲点(无截图验证)

可能原因:

  1. macOS 屏幕录制权限未授予
  2. MCP 图片传输/编码问题
  3. 截图内容被安全过滤机制过滤

Warning

建议排查:检查 系统设置 → 隐私与安全性 → 屏幕录制 权限。

P1: IDE 应用键盘操作受限 — ✅ 已确认功能正常

IDE 类应用(Cursor、VSCode、Terminal)被限制在 click tier,无法执行键盘输入、右键/中键点击、拖拽操作。这是安全设计,防止 AI 操控 IDE 终端。在 full tier 应用上,以上 6 个操作均测试通过。


权限模型说明

Computer Use MCP 采用分级权限模型:

graph TB
    A["Tier: full"] -->|"所有鼠标操作 + 键盘输入"| B["适用于: 系统应用、Finder 等"]
    C["Tier: click"] -->|"仅纯左键点击 + 滚轮滚动"| D["适用于: IDE、Terminal 等"]
    E["未授权"] -->|"所有操作被拒绝"| F["需通过 request_access 申请"]

关联笔记