cua-local
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CUA_LOCAL_TRACE | No | Set to 1 to enable tracing. | 0 |
| CUA_LOCAL_TRACE_DIR | No | Directory to store trace files. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_appsA | List running GUI apps on this Mac. Local adapter; no Codex login required. |
| get_app_stateB | Get the app state: front window info, Chrome title/url when available, lightweight accessibility tree, and optional screenshot. |
| get_screen_stateA | Return display, screenshot, mouse, Retina scale, and coordinate-space diagnostics for calibration. |
| health_checkB | Return server version, dependency, permission, log, and optional screen diagnostics. |
| open_urlC | Open an http(s) URL in Google Chrome. Local helper for browser smoke tests. |
| type_textB | Type literal text into the active app using macOS System Events. |
| press_keyB | Press a key or key-combination. Examples: Return, Tab, cmd+l, command+r, shift+cmd+r. |
| clickA | Click screen coordinates or an accessibility element center using CGEvent. Use element_index from get_app_state when possible. |
| move_mouseB | Move the visible mouse pointer to screen coordinates or an accessibility element center without clicking. |
| scrollC | Scroll the active app by pages in a direction. |
| dragC | Drag from one screen coordinate to another using CGEvent. |
| set_valueC | Set value for a focused or known field. For Chrome, element_index="address_bar" sets the address bar. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Tools are mostly distinct, with mouse actions (click, drag, move_mouse) clearly separated. Potential confusion between set_value and type_text is mitigated by descriptions.
All tool names follow a consistent verb_noun snake_case pattern, with clear verb choices like get_, list_, open_, press_, etc.
12 tools is well-scoped for a local GUI automation server, covering mouse, keyboard, app state, and device diagnostics without excess.
Core interactions (click, type, scroll, open URL) are covered. Minor gaps like window management exist, but the set is functional for typical workflows.