What Clickr MCP server does
The Clickr MCP server gives an agent a way to inspect and operate a macOS desktop through MCP. It can enumerate displays, windows, and running applications; locate accessibility controls; read text from a region; identify the element at a coordinate; and capture screenshots of displays, regions, windows, apps, or the full desktop.
For interaction, it sends real mouse and keyboard input to the active Mac session. Available actions include clicking global coordinates, moving the pointer, dragging along a path, scrolling, entering Unicode text, pressing named keys or shortcuts, activating an application, changing window bounds, and reading or writing the clipboard. The controls tool records a control handover between an operator and an agent.
This places Clickr in the OS Automation category. It is most relevant when an application has no useful API or scripting interface, when a native macOS file dialog must be handled, or when the requested result includes visibly demonstrating the interaction.
How it works
The server operates through macOS’s window-server and HID input mechanisms rather than depending on a particular application API. Coordinates use one global point space whose origin is the top-left of the main display. Displays positioned above or left of that display can therefore produce negative coordinates. Measurements are in points, not Retina device pixels, and the same coordinate space is used for screenshots, window bounds, and input actions.
A safer workflow is to query controls with find_elements before clicking when possible. Screenshots and coordinates can become stale if a window moves, a display changes resolution, or the interface inserts content. The server can also use accessibility information and OCR instead of relying only on images.
Setup and configuration
Clickr requires macOS, Node.js 18 or newer, and the Xcode Command Line Tools, including swiftc. The documented package installation is npm install -g @tekmidian/clickr, followed by clickr install. A checkout can instead be built with npm install and installed with node dist/cli.js install.
Installation builds the native Swift helper when needed, registers the server in ~/.claude.json, backs up that file first, installs the Claude Code skill, and reports permission status. Claude Code must be fully restarted before the tools appear. clickr status, clickr doctor, and clickr uninstall report status, diagnose problems, and remove registration respectively.
The launching application—not Clickr itself—needs Accessibility permission for input events and Screen Recording permission for screenshots and window titles. Grant these under macOS Privacy & Security, then fully quit and reopen the terminal or Claude application. App activation may also request Automation permission.
Tools and capabilities
- Inspect display geometry, windows, applications, accessibility elements, and pointer position.
- Capture displays, regions, windows, applications, or the desktop.
- Extract text with on-device OCR.
- Click, move, drag, scroll, type, and send key combinations.
- Activate applications and move, resize, or raise windows.
- Read and write the clipboard.
- Check permissions and record control handovers.
Limitations and notes
Clickr takes control of the real pointer and keyboard. A person should not use the Mac concurrently, because simultaneous input can produce dropped characters or clicks on unintended targets. The operator should be told before control begins and after it ends.
It is not a universal replacement for APIs, command-line tools, file edits, browser automation, or application-specific scripting. Those approaches can avoid taking over the machine and are generally less sensitive to window movement. Coordinates can also become invalid between measurement and action, so controls should be rechecked after layout changes. Clickr is macOS-specific and requires the stated permissions and native toolchain.