一键导入
cua-driver
Drive real macOS applications through the CUA Driver MCP server when the user asks to inspect, operate, or automate visible desktop UI.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Drive real macOS applications through the CUA Driver MCP server when the user asks to inspect, operate, or automate visible desktop UI.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Query and orchestrate Arkloop Activity Record local activity data. Covers browser history, search terms, screen time, bluetooth, shell commands, window focus, keyboard, mouse, clipboard, Codex sessions, and optional Screenpipe integration.
Query the user's screen recordings, audio, UI elements, and usage analytics via the local Screenpipe REST API at localhost:3030. Use when the user asks about their screen activity, meetings, apps, productivity, media export, retranscription, or connected services.
| name | cua-driver |
| description | Drive real macOS applications through the CUA Driver MCP server when the user asks to inspect, operate, or automate visible desktop UI. |
| platforms | ["darwin"] |
Use the CUA Driver MCP tools as the only action surface for desktop automation. Do not use shell, AppleScript, open, cliclick, screenshots outside CUA, or raw cursor/key APIs to drive macOS UI.
arkloop.plugins.cua.CuaDriver.app.CuaDriver.app/Contents/MacOS/cua-driver.list_apps. Match localized names, English names, romanized names, bundle identifiers, and common abbreviations. Prefer bundle_id as the stable identity.launch_app({ bundle_id }). Use the returned pid when available.list_windows({ pid }) when the launch result lacks a usable window.get_window_state({ pid, window_id }).click, right_click, double_click, drag, scroll, type_text, type_text_chars, press_key, hotkey, set_value, page, or launch_app with urls.Element indices are valid only for the latest get_window_state result from the same pid and window_id. Re-snapshot when an index is missing, stale, or from another window.
Call check_permissions before the first desktop task. If Accessibility or Screen Recording is missing, tell the user to grant both permissions to CuaDriver.app, then stop until the permission state changes.
Some media, browser, and Electron apps expose shallow accessibility trees while still showing actionable pixels. Use this order:
get_window_state({ pid, window_id }) once.page or relaunch with launch_app({ bundle_id, electron_debugging_port: 9222 }) when DOM access is more reliable than pixels.screenshot({ window_id }) for broad visual confirmation when the current overlay or window content is unclear.zoom({ pid, window_id, x1, y1, x2, y2 }) for dense text or icons.Ask the user only when visible candidates are ambiguous, the requested action is destructive, or the target is outside the visible window.
launch_app({ bundle_id }).launch_app({ bundle_id, urls: [...] }).launch_app({ bundle_id, urls: [...] }) so each target has a stable window_id.cmd+l for navigation. Use launch_app with urls.Use get_agent_cursor_state to inspect the cursor overlay. Use set_agent_cursor_enabled, set_agent_cursor_motion, or set_agent_cursor_style only when the user asks to show, hide, animate, or restyle the agent cursor.