macos-ui-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MACOS_UI_MCP_HARNESS_URL | No | The URL of the AppMCPHarness HTTP server running in the macOS app. | http://127.0.0.1:8787 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_windowsA | List the app's on-screen windows (id, title, key, frame). |
| get_ui_treeA | Dump the semantic view tree of a window as JSON: roles, labels, values, enabled/focused state, frames, and stable ids. Use |
| screenshotA | Render a window (or a single node via |
| clickB | Tap a view matched by selector. Selector grammar: "#id" | Role "Label" | "Label" | Role. |
| typeC | Set the text value of a field matched by selector. |
| invoke_actionC | Trigger a named action hook registered by the app via AppMCP.registerAction(name, …). |
| wait_forB | Poll the UI tree until a selector appears, or time out. |
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 7 tools
Each tool has a clearly distinct purpose: inspection (get_ui_tree, list_windows, screenshot), interaction (click, type, invoke_action), and synchronization (wait_for). No overlapping functionality; an agent can unambiguously select the right tool for a task.
Most tools follow a verb-oriented pattern (get_ui_tree, list_windows, invoke_action, wait_for), while click and type are single verbs and screenshot is a noun used as a verb. The pattern is generally predictable, with only minor deviations from a strict verb_noun structure.
Seven tools is well-scoped for a UI automation server. Each tool earns its place—reading state, capturing visuals, performing actions, and waiting—without unnecessary bloat or an overly sparse surface.
The surface covers the core UI workflow (inspect, interact, wait), but misses common operations like scrolling or keyboard shortcuts. These are not critical for many automation scenarios, so the set is mostly complete with minor gaps.