Peekaboo MCP
A macOS CLI and MCP server: screenshots, accessibility-based UI inspection and app control via clicks and typing
- 5,405 ★ on the repository
- Last commit
- MIT
Broad access
Why this level
- Sees the whole screen and controls input in any app
- Requires system Screen Recording and Accessibility permissions
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/peekabooDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Sees the whole screen and controls input in any app
- Requires system Screen Recording and Accessibility permissions
This is third-party code. Review the repository files before installing.
What it does
Peekaboo captures the screen, windows and apps on a Mac and builds a structured UI map with element IDs. From that map the agent clicks, types, presses keys, scrolls and controls windows, menus, the Dock and dialogs. Actions can be pinned to a specific window and are often delivered in the background without switching apps. The same toolset is exposed as an MCP server over stdio, and a built-in agent runs multi-step tasks from natural-language descriptions.
Who it is for. For macOS developers and automation users who need an agent to see the screen and work with native apps.
Good fit when
- You want the agent to check how your app window looks
- You need to automate a native macOS app that has no API
- You want Codex or Claude Code to get screenshots and UI control
Not a fit when
- You are on Windows or Linux: separate community rewrites exist
- You cannot grant Screen Recording and Accessibility permissions
Example request
Take a screenshot of my app window and check whether any button labels are cut offMCP
- Transport
- stdio
- Authentication
- not required
Limitations
Requires macOS 15 or newer, and Node 22 or newer for the npm package. Needs Screen Recording and Accessibility permissions. HTTP and SSE transports are not implemented yet, only stdio. The built-in agent and image analysis need a configured model provider.
How to disable. Remove the peekaboo block from the MCP config, revoke permissions in System Settings and uninstall the CLI with brew uninstall.
FAQ
Must the app be frontmost?
Often not: with a window target input goes in the background, while untargeted actions need explicit foreground consent.
What happened to steipete/Peekaboo?
The project moved to the openclaw organization; the npm package is still @steipete/peekaboo.
Discussion
No questions or reviews yet.
Related
MCP serversA Swift MCP server that lets an agent drive any macOS app: click, type and read the interface tree
An MCP server for macOS: the agent moves the mouse, types, manages windows and captures the screen when an app has no API
An MCP server for driving Windows: the agent opens apps, clicks and types, reads window and UI state, and works with files and PowerShell
MCP server for AppleScript: the agent runs scripts and controls Mac apps, from Notes and Calendar to files
Open Computer Use
open-computer-use
An open MCP server for desktop control: the agent reads app state and clicks, types and scrolls on macOS, Linux and Windows
Clawd Cursor: desktop control through MCP
Clawd Cursor
An MCP server that lets an agent drive windows and apps: it reads the screen as structure and acts by element name
README in short
The README shows CLI install via Homebrew, the npm package with MCP and the menu bar app. The quick start covers permission checks, a screenshot and a JSON UI map of an app. It includes a Safari automation example pinned to a window ID, an agent run and a command map by goal. MCP client setup lives in docs/MCP.md. MIT licensed.