Peekaboo

A macOS CLI and MCP server: screenshots, accessibility-based UI inspection and app control via clicks and typing

MCP serverHigh risk

openclaw/peekaboo

Install

{
  "mcpServers": {
    "peekaboo": {
      "command": "npx",
      "args": ["-y", "@steipete/peekaboo", "mcp"]
    }
  }
}

From docs/MCP.md, works for Codex, Claude Code and Cursor.

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 off

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.

MCP

Transport
stdio
Authentication
not required

Security check

  • Sees the whole screen and controls input in any app
  • Requires system Screen Recording and Accessibility permissions

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.

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.

Editors’ pick

Zapier's official MCP plugin: the agent gets actions across thousands of apps through your Zapier account

PluginHigh risk409
Editors’ pick

An MCP server with n8n node and template knowledge: the agent picks nodes, validates configs and, with API access, creates workflows in your n8n

MCP serverHigh risk

A curated list of Claude skills and plugins, plus Composio's own automation skills for 78 SaaS apps

SkillHigh risk75K

SDKs, a CLI and MCP access to over a thousand prebuilt SaaS integrations for agents, with auth and per-user sessions

CLIHigh risk30.2K