cursor_control
Inspect, move, hover, highlight, hide, or clear a virtual cursor and element bounding-box overlays across macOS windows and browser tabs for guided UI automation.
Instructions
Inspect, move, hover, highlight, hide, clear, or configure the Codex-style visual cursor & element bounding-box overlays across macOS windows (native 60fps AppKit overlay windows) and browser tabs (ShadowRoot CSS overlays).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "cursor_control"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | Window-relative (or viewport) X coordinate. | |
| y | No | Window-relative (or viewport) Y coordinate. | |
| app | No | Target macOS application name or bundle ID. | |
| badge | No | Optional frosted pill badge label next to the cursor (e.g. 'Inspect', 'Click', 'Target'). | |
| width | No | Optional highlight box width when specifying (x, y). | |
| action | No | Cursor operation (default 'get_state'). | |
| height | No | Optional highlight box height when specifying (x, y). | |
| ripple | No | Emit an expanding concentric ripple ring at the target. | |
| tab_id | No | Target browser tab ID (e.g. 'tab-1'). | |
| enabled | No | For action='configure': enable or disable virtual cursor overlays globally. | |
| tab_url | No | Target browser tab URL match. | |
| selector | No | CSS or 'text=...' selector when targeting a browser tab. | |
| window_id | No | Target macOS window ID. | |
| window_title | No | Target macOS window title substring. | |
| element_index | No | Target AX/DOM element index [N] to glide to or highlight. | |
| glide_enabled | No | For action='configure': enable smooth cursor glide animations vs instant jumps. | |
| idle_timeout_ms | No | For action='configure': idle auto-fade timeout in milliseconds (400–30000, default 8000). | |
| global_coordinates | No | Interpret macOS (x, y) as global screen coordinates instead of window-relative. | |
| dispatch_move_event | No | Also post a background mouseMoved event to the target window/tab. |