MCP server that drives native macOS apps through the Accessibility API without taking over the machine
Click an element or screen coordinate. Delivers a real mouseDown/mouseUp pair via process-routed SkyLight events for custom-drawn controls, or AXPress/AXPick/AXConfirm accessibility actions for standard controls.
Drag from one element or coordinate to another. Delivers mouseDown, mouseMoved, and mouseUp events via process-routed SkyLight events.
Get the accessibility tree and screenshot of an app window. Must be called before any action on an app, because it produces the element_index handles actions refer to.
Move the cursor to an element or coordinate without clicking. Does not move the actual system cursor; only the agent's internal tracking.
Every running application with a GUI presence. Ordered so the frontmost app comes first: when a user says "the browser" or gives an ambiguous name, what they are looking at is the best prior.
Perform a secondary action on an element, such as AXShowMenu for context menus or other custom accessibility actions.
Press a key or key combination. Delivers keystrokes via process-routed SkyLight events.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 11 | <=2025-11-25 | v2 |
Scroll an element or window. Delivers scroll events via process-routed SkyLight events.
Select text in an element by range or all. Uses the AXSelectedTextRange accessibility attribute.
Set the value of an element, such as a text field or slider. Uses the AXValue accessibility action.
Type text into the focused element or a specific target. Delivers keystrokes via process-routed SkyLight events.