MCP Directory

Peekaboo

macOS screen capture, AI visual analysis, and full GUI automation for AI agents.

Unverified
stdio (local)
API key
Swift

Add to your client

Copy the config for your MCP client and paste it into its config file.

Install / run
npx -y @steipete/peekaboo

Paste into ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "peekaboo": {
      "command": "npx",
      "args": [
        "-y",
        "@steipete/peekaboo"
      ],
      "env": {
        "PEEKABOO_AI_PROVIDERS": "openai/gpt-5.5,anthropic/claude-opus-4-8"
      }
    }
  }
}

Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf

Before you start

  • macOS 15.0+ (Sequoia)
  • Node.js 22+ (for the npm MCP wrapper)
  • Screen Recording permission
  • Accessibility permission
  • Event Synthesizing permission (for keyboard/coordinate input)
  • AI provider API key for hosted visual analysis (optional)

About Peekaboo

Peekaboo brings high-fidelity screen capture, AI analysis, and complete GUI automation to macOS. It runs as a native CLI and as an optional MCP server exposing the same tools to MCP clients such as Codex, Claude Code, and Cursor. Beyond screenshots, it offers action-first UI automation (click/type/scroll/hotkey/menu/window/app/dock/space), direct accessibility tools (set-value, perform-action), and a natural-language agent that chains tools for multi-step workflows. Background, process-targeted input lets it interact with apps without stealing focus.

Tools & capabilities (28)

see

Capture and annotate the current UI, returning a snapshot plus opaque element IDs.

click

Click an element by ID, label/query, or coordinates, with optional wait and foreground delivery.

type

Enter text with pacing/clear/profile options into the targeted app.

set-value

Directly set a settable accessibility value on an element.

perform-action

Invoke a named accessibility action (e.g. AXPress) on an element.

press

Send special keys and key sequences with count/delay/hold options.

hotkey

Send modifier combos such as cmd/ctrl/alt/shift chords.

paste

Paste text/file/image payloads with clipboard restore.

scroll

Scroll views or a specific element in a given direction/amount.

swipe

Perform smooth gesture-style drags between points.

drag

Drag-and-drop between elements or coordinates, including Dock/Trash targets.

move

Move the cursor to an element or coordinates without clicking.

window

List, move, resize, focus, and set bounds of windows across Spaces.

app

Launch, quit, relaunch, switch, and list applications.

space

List or switch macOS Spaces and move windows between them.

menu

List and click app menus and menu extras.

menubar

List and click status-bar items by name or index.

dock

Launch, right-click, hide, show, and list Dock items.

dialog

Drive system dialogs (open/save/input/file/dismiss).

image

Screenshot screen, window, or menu bar with Retina scaling and optional AI analysis.

list

Enumerate apps, windows, screens, menubar items, and permissions.

tools

Inspect the native Peekaboo tools available.

agent

Run natural-language multi-step automation across Peekaboo tools.

run

Execute a .peekaboo.json automation script.

sleep

Insert millisecond delays between automation steps.

clean

Prune snapshots and caches.

permissions

Check and grant required macOS permissions.

config

Manage credentials, providers, and settings.

What this server can do

Peekaboo provides tools for these capabilities — tap one to see every MCP server that does the same:

When to use it

  • Let an AI agent take screenshots of an app or the whole system and answer visual questions about what is on screen.
  • Automate routine macOS GUI tasks (clicking buttons, filling text fields, navigating menus) without stealing focus.
  • Drive multi-step desktop workflows from natural language, e.g. 'Open Notes and create a TODO list with three items'.
  • Capture pixel-accurate Retina screenshots of windows, screens, or the menu bar for documentation or QA.
  • Build reproducible, testable UI automation scripts via .peekaboo.json.

Security notes

Requires macOS Screen Recording and Accessibility permissions (and Event Synthesizing for keyboard/coordinate input). The server can capture the entire screen and fully control the GUI (clicks, typing, app/window/menu actions), so it has broad access to the user's desktop. AI provider API keys are supplied via PEEKABOO_AI_PROVIDERS / config; no key is needed for capture/automation alone but is required for AI analysis with hosted providers.

Peekaboo FAQ

Which platforms are supported?

Peekaboo targets macOS 15.0+ (Sequoia). Community rewrites exist for Windows (PeekabooWin) and Linux (PeekabooX), but the main project is macOS-only.

Do I need an AI API key to use it?

No. Screen capture and GUI automation work without any AI key. An AI provider key (set via PEEKABOO_AI_PROVIDERS or peekaboo config add) is only needed for AI visual analysis with hosted providers; local models via Ollama/LM Studio are also supported.

What permissions does it require?

macOS Screen Recording and Accessibility permissions are required, plus Event Synthesizing for keyboard and coordinate-based input. Run 'peekaboo permissions request-event-synthesizing' if it reports as missing.

Which MCP clients are supported?

The README lists Codex, Claude Code, and Cursor, using the npx -y @steipete/peekaboo command in an mcpServers config block.

Alternatives to Peekaboo

Compare all alternatives →

Automate your existing browser with AI using your real profile, logged-in sessions, and stealth fingerprint.

Unverified
stdio (local)
No auth
Stale
TypeScript
13 tools
Updated 1 year agoRepo

All-in-one web access MCP — Web Unlocker, SERP, Scraper API, and a cloud Scraping Browser.

Verified
stdio (local)
API key
JavaScript
12 tools
Updated 26 days agoRepo

Popular community Playwright + API testing MCP server with codegen, screenshots, and device emulation.

Verified
stdio (local)
No auth
TypeScript
12 tools
Updated 1 month agoRepo