Labsco
openclaw logo

Peekaboo

โ˜… 4,800

from openclaw

a macOS-only MCP server that enables AI agents to capture screenshots of applications, or the entire system.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeQuick setup

Peekaboo ๐Ÿซฃ - Mac automation that sees the screen and does the clicks.

Peekaboo brings high-fidelity screen capture, AI analysis, and complete GUI automation to macOS. Version 3 adds native agent flows and multi-screen automation across the CLI and MCP server.

What you get

  • Pixel-accurate captures (windows, screens, menu bar) with optional Retina 2x scaling.

  • Natural-language agent that chains Peekaboo tools (see, click, type, scroll, hotkey, menu, window, app, dock, space).

  • Action-first UI automation for routine clicks/scrolls, with background process-targeted input by default when a target is known.

  • Direct accessibility tools for settable values and named actions (set-value, perform-action).

  • Menu and menubar discovery with structured JSON; no clicks required.

  • Multi-provider AI through Tachikoma, including hosted, local, and OpenAI-/Anthropic-compatible providers.

  • Claude Fable 5 support with 1M context and a 128K output ceiling; saved temperature/max-token settings are shared by the app and CLI and clamped to each model's capabilities.

  • MCP server for Codex, Claude Code, and Cursor plus a native CLI; the same tools in both.

  • Warm daemon and Peekaboo.app Bridge hosts for permission-bound automation, with distinct lease-owned sockets and local fallback.

  • Configurable, testable workflows with reproducible sessions and strict typing.

  • Requires macOS Screen Recording + Accessibility permissions (see docs/permissions.md).

Shell completions

Peekaboo can generate shell-native completions directly from the same Commander metadata that powers CLI help and docs:

Copy & paste โ€” that's it
# Current shell (recommended)
eval "$(peekaboo completions $SHELL)"

# Explicit shells
eval "$(peekaboo completions zsh)"
eval "$(peekaboo completions bash)"
peekaboo completions fish | source

For persistent setup and troubleshooting, see docs/commands/completions.md.

Background vs foreground input

click, type, press, hotkey, and paste default to background delivery when Peekaboo can resolve a target process from --app, --pid, --window-id, or snapshot metadata. Background delivery posts process-targeted input without making the target app frontmost, so scripts can interact with Safari, Notes, Terminal, etc. without stealing focus.

Use --foreground when the app only accepts input in its focused key window, when you need a real foreground mouse event, or when you are intentionally driving the current focus. Focus flags such as --space-switch and --bring-to-current-space also imply foreground delivery. Element/query clicks first use Accessibility actions; keyboard input, coordinate clicks, and synthetic click fallback require Event Synthesizing for the sending process. Run peekaboo permissions request-event-synthesizing if permissions status reports it missing.

Copy & paste โ€” that's it
# Background: target Safari without activating it
peekaboo click "Address and search bar" --app Safari
peekaboo type "github.com/openclaw/Peekaboo" --app Safari --return

# Foreground: focus Safari first for apps/fields that reject background input
peekaboo click "Address and search bar" --app Safari --foreground
peekaboo type "github.com/openclaw/Peekaboo" --app Safari --return --foreground

Command Key flags / subcommands What it does see --app, --mode screen/window, --retina, --json Capture and annotate UI, return snapshot + element IDs click --on <id/query>, --snapshot, --wait-for, --coords, --foreground Click by element ID, label, or coordinates type --text, --clear, --profile, --delay, --foreground Enter text with pacing options set-value --on <id/query>, --value, --snapshot Directly set a settable accessibility value perform-action --on <id/query>, --action, --snapshot Invoke a named accessibility action press key names, --count, --delay, --hold, --foreground Special keys and sequences hotkey combos like cmd,shift,t, --foreground Modifier combos (cmd/ctrl/alt/shift) paste text/file/image payloads, --restore-delay-ms, --foreground Paste with clipboard restore scroll --on <id>, --direction up/down, --amount Scroll views or elements swipe --from/--to, --duration, --steps Smooth gesture-style drags drag --from/--to, modifiers, Dock/Trash targets Drag-and-drop between elements/coords move --to <id/coords>, --screen-index Position the cursor without clicking window list, move, resize, focus, set-bounds Move/resize/focus windows and Spaces app launch, quit, relaunch, switch, list Launch, quit, relaunch, switch apps space list, switch, move-window List or switch macOS Spaces menu list, list-all, click, click-extra List/click app menus and extras menubar list, click Target status-bar items by name/index dock launch, right-click, hide, show, list Interact with Dock items dialog list, click, input, file, dismiss Drive system dialogs (open/save/etc.) image --mode screen/window/menu, --retina, --analyze Screenshot screen/window/menu bar (+analyze) list apps, windows, screens, menubar, permissions Enumerate apps, windows, screens, permissions tools --verbose, --json, --no-sort Inspect native Peekaboo tools completions [shell] Generate zsh/bash/fish completion scripts from Commander metadata config init, show, add, login, models Manage credentials/providers/settings permissions status, grant, request-screen-recording, request-event-synthesizing Check/grant required macOS permissions run .peekaboo.json, --output, --no-fail-fast Execute .peekaboo.json automation scripts sleep --duration (ms) Millisecond delays between steps clean --all-snapshots, --older-than, --snapshot Prune snapshots and caches agent --model, --dry-run, --resume, --max-steps, audio Natural-language multi-step automation mcp serve (default) Run Peekaboo as an MCP server

Models and providers

Peekaboo's provider list changes with Tachikoma and the tested model catalog. See docs/providers.md for the current provider reference, including OpenAI, Anthropic, xAI/Grok, Google Gemini, MiniMax, Kimi, Ollama, LM Studio, and compatible custom endpoints.

Set providers via PEEKABOO_AI_PROVIDERS or peekaboo config add. Agent generation settings live under agent.temperature and agent.maxTokens in ~/.peekaboo/config.json; the macOS Settings UI reads and writes the same values.

Learn more

Community

  • PeekabooWin โ€” Windows-first rewrite of the Peekaboo automation loop (JavaScript + PowerShell) by @FelixKruger

  • PeekabooX โ€” Linux-first rewrite of the Peekaboo automation loop (Rust + Python) by @nordbyte

Development basics

  • Requirements: see docs/platform-support.md. Node 22+ is only needed for the npm MCP wrapper and pnpm helper scripts.

  • Install deps: pnpm install then pnpm run build:cli or pnpm run test:safe.

  • Lint/format: pnpm run lint && pnpm run format.

License

MIT