Peekaboo (macOS Screen Capture)

Peekaboo (macOS Screen Capture)

steipete

Provides high-fidelity screen capture and GUI automation tools for macOS. Enables AI assistants to see your screen, take screenshots, and control applications through natural language commands.

Enables macOS screen capture and window management with tools for taking screenshots, analyzing images, and controlling application windows

2,630592 views179Local (stdio)

What it does

  • Capture pixel-accurate screenshots of windows or entire screens
  • Analyze screen content using AI vision models
  • Control applications through clicks, typing, and hotkeys
  • Navigate menus and discover UI elements
  • Manage windows and switch between applications
  • Automate multi-screen workflows

Best for

macOS automation and GUI testingAI assistants that need screen awarenessAutomating repetitive desktop tasks
macOS 15.0+ Sequoia requiredMulti-provider AI support including local OllamaNatural language agent automation

About Peekaboo (macOS Screen Capture)

Peekaboo (macOS Screen Capture) is a community-built MCP server published by steipete that provides AI assistants with tools and capabilities via the Model Context Protocol. Peekaboo empowers mac how to screen capture, mac screenshot, and window management with tools for screen snip on mac and It is categorized under productivity, ai ml.

How to install

You can install Peekaboo (macOS Screen Capture) in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.

License

Peekaboo (macOS Screen Capture) is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.

Peekaboo 🫣 - Mac automation that sees the screen and does the clicks.

Peekaboo Banner

npm package License: MIT macOS 15.0+ (Sequoia) Swift 6.2 node >=22 Download macOS Homebrew Ask DeepWiki

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.

Note: v3 is currently in beta (3.0.0-beta4) and has a few known issues; see the changelog for details.

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).
  • Menu and menubar discovery with structured JSON; no clicks required.
  • Multi-provider AI: GPT-5.1 family, Claude 4.x, Grok 4-fast (vision), Gemini 2.5, and local Ollama models.
  • MCP server for Claude Desktop and Cursor plus a native CLI; the same tools in both.
  • Configurable, testable workflows with reproducible sessions and strict typing.
  • Requires macOS Screen Recording + Accessibility permissions (see docs/permissions.md).

Install

  • macOS app + CLI (Homebrew):
    brew install steipete/tap/peekaboo
    
  • MCP server (Node 22+, no global install needed):
    npx -y @steipete/peekaboo
    

Quick start

# Capture full screen at Retina scale and save to Desktop
peekaboo image --mode screen --retina --path ~/Desktop/screen.png

# Click a button by label (captures, resolves, and clicks in one go)
peekaboo see --app Safari --json-output | jq -r '.data.snapshot_id' | read SNAPSHOT
peekaboo click --on "Reload this page" --snapshot "$SNAPSHOT"

# Run a natural-language automation
peekaboo "Open Notes and create a TODO list with three items"

# Run as an MCP server (Claude/Cursor)
npx -y @steipete/peekaboo

# Minimal Claude Desktop config snippet (Developer → Edit Config):
# {
#   "mcpServers": {
#     "peekaboo": {
#       "command": "npx",
#       "args": ["-y", "@steipete/peekaboo"],
#       "env": {
#         "PEEKABOO_AI_PROVIDERS": "openai/gpt-5.1,anthropic/claude-opus-4"
#       }
#     }
#   }
# }
CommandKey flags / subcommandsWhat it does
see--app, --mode screen/window, --retina, --json-outputCapture and annotate UI, return snapshot + element IDs
click--on <id/query>, --snapshot, --wait, coordsClick by element ID, label, or coordinates
type--text, --clear, --delay-msEnter text with pacing options
presskey names, --repeatSpecial keys and sequences
hotkeycombos like cmd,shift,tModifier combos (cmd/ctrl/alt/shift)
scroll--on <id>, --direction up/down, --ticksScroll views or elements
swipe--from/--to, --duration, --stepsSmooth gesture-style drags
drag--from/--to, modifiers, Dock/Trash targetsDrag-and-drop between elements/coords
move--to <id/coords>, --screen-indexPosition the cursor without clicking
windowlist, move, resize, focus, set-boundsMove/resize/focus windows and Spaces
applaunch, quit, relaunch, switch, listLaunch, quit, relaunch, switch apps
spacelist, switch, move-windowList or switch macOS Spaces
menulist, list-all, click, click-extraList/click app menus and extras
menubarlist, clickTarget status-bar items by name/index
docklaunch, right-click, hide, show, listInteract with Dock items
dialoglist, click, input, file, dismissDrive system dialogs (open/save/etc.)
image--mode screen/window/menu, --retina, --analyzeScreenshot screen/window/menu bar (+analyze)
listapps, windows, screens, menubar, permissionsEnumerate apps, windows, screens, permissions
tools--verbose, --json-output, --no-sortInspect native Peekaboo tools
configinit, show, add, login, modelsManage credentials/providers/settings
permissionsstatus, grantCheck/grant required macOS permissions
run.peekaboo.json, --output, --no-fail-fastExecute .peekaboo.json automation scripts
sleep--duration (ms)Millisecond delays between steps
clean--all-snapshots, --older-than, --snapshotPrune snapshots and caches
agent--model, --dry-run, --resume, --max-steps, audioNatural-language multi-step automation
mcpserve (default)Run Peekaboo as an MCP server

Models and providers

  • OpenAI: GPT-5.1 (default) and GPT-4.1/4o vision
  • Anthropic: Claude 4.x
  • xAI: Grok 4-fast reasoning + vision
  • Google: Gemini 2.5 (pro/flash)
  • Local: Ollama (llama3.3, llava, etc.)

Set providers via PEEKABOO_AI_PROVIDERS or peekaboo config add.

Learn more

Development basics

  • Requirements: macOS 15+, Xcode 16+/Swift 6.2. Node 22+ only if you run the pnpm docs/build helper scripts (core CLI/app/MCP are Swift-only).
  • Install deps: pnpm install then pnpm run build:cli or pnpm run test:safe.
  • Lint/format: pnpm run lint && pnpm run format.

License

MIT

Alternatives

Related Skills

Browse all skills
peekaboo

Capture and automate macOS UI with the Peekaboo CLI.

13
screenshot

Use when the user explicitly asks for a desktop or system screenshot (full screen, specific app or window, or a pixel region), or when tool-specific capture capabilities are unavailable and an OS-level capture is needed.

19
tui-validate

Validates Terminal User Interface (TUI) output using freeze for screenshot capture and LLM-as-judge for semantic validation. Supports both visual (PNG/SVG) and text-based validation modes.

4
extract-moves-from-video

This skill provides guidance for extracting text commands, moves, or typed input from video recordings using OCR. It applies when extracting gameplay commands (e.g., Zork), terminal sessions, or any text-based interactions captured in video format. Use this skill when processing videos of text-based games, terminal recordings, or any scenario requiring OCR-based command extraction from screen recordings.

3
browser

This skill should be used for browser automation tasks using Chrome DevTools Protocol (CDP). Triggers when users need to launch Chrome with remote debugging, navigate pages, execute JavaScript in browser context, capture screenshots, or interactively select DOM elements. No MCP server required.

2
ios-debugger-agent

Use XcodeBuildMCP to build, run, launch, and debug the current iOS project on a booted simulator. Trigger when asked to run an iOS app, interact with the simulator UI, inspect on-screen state, capture logs/console output, or diagnose runtime behavior using XcodeBuildMCP tools.

2