Peekaboo MCP Server
macOS automation MCP server and CLI from OpenClaw that gives AI agents screen capture, window/app discovery, UI element inspection, clicks, typing, scrolling, hotkeys, menu actions, dialog control, and optional AI visual analysis through local or hosted model providers.
Open the source and read safety notes before installing.
Safety notes
- Peekaboo can see the screen, capture windows, inspect UI elements, click controls, type text, paste content, use hotkeys, scroll, drag, drive menus, manage windows, and run natural-language automation.
- Start with read-only commands such as `see`, `image`, `list`, `window list`, or `tools` before enabling input automation.
- Require human approval before sending messages, changing accounts, submitting forms, purchasing, deleting data, moving files, or acting in production apps.
- Use dedicated test accounts, test apps, and explicit allowlists when exposing Peekaboo to an agent that can operate logged-in macOS applications.
- HTTP and SSE MCP transports are documented as stubbed in the MCP command docs; stdio is the default supported integration path.
Privacy notes
- Screen captures, window titles, app names, UI labels, form fields, menus, dialogs, file paths, clipboard contents, and generated snapshots may be exposed to the MCP client and model provider.
- Logged-in apps can show personal data, customer data, credentials, recovery codes, private messages, source code, internal dashboards, or confidential documents.
- Optional AI analysis may send screenshots or extracted UI context to configured model providers unless the user selects a local provider path.
- Snapshots, retained frames, metadata, and optional video output can persist on disk; prune caches and outputs when working with sensitive screens.
Prerequisites
- macOS 15.0 or newer for the supported automation APIs.
- Node.js 22 or newer when using the npm MCP wrapper.
- Screen Recording permission for the terminal, editor, daemon, or Bridge host that runs Peekaboo.
- Accessibility permission for reliable element interaction, window focus, menu control, and action-based clicks.
- Event Synthesizing permission when using background keyboard input, coordinate clicks, paste, or synthetic click fallback.
Schema details
- Install type
- cli
- Troubleshooting
- No
- Scope
- Source repo
- Estimated setup
- 15 minutes
- Difficulty
- advanced
- Website
- https://www.peekaboo.boo
Full copyable content
{
"mcpServers": {
"peekaboo": {
"command": "npx",
"args": ["-y", "@steipete/peekaboo"]
}
}
}About this resource
Content
Peekaboo is a macOS automation CLI and MCP server for agents that need to see and operate desktop applications. It can capture screens or windows, inspect UI elements, click by label or element ID, type text, send hotkeys, manage windows and Spaces, interact with menus and dialogs, and run optional visual analysis through configured model providers.
The npm package exposes the MCP wrapper as @steipete/peekaboo, while the
Homebrew path installs the native macOS app and CLI.
Source Review
- https://github.com/openclaw/Peekaboo
- https://github.com/openclaw/Peekaboo/blob/main/README.md
- https://github.com/openclaw/Peekaboo/blob/main/docs/commands/mcp.md
- https://github.com/openclaw/Peekaboo/blob/main/docs/permissions.md
- https://github.com/openclaw/Peekaboo/blob/main/package.json
Verified on 2026-06-18. The README documents the MCP server for Codex,
Claude Code, and Cursor, plus the npx -y @steipete/peekaboo startup path. The
MCP command docs identify stdio as the default supported transport and note that
HTTP/SSE transports are stubbed.
Features
- macOS screen, window, and menu-bar capture with optional Retina scaling.
- UI inspection through
see, snapshots, element IDs, and labels. - Click, type, press, hotkey, paste, scroll, swipe, drag, move, menu, menubar, dock, app, window, space, and dialog automation.
- Direct accessibility actions such as
set-valueandperform-action. - Natural-language automation through the
agentcommand. - MCP server and CLI backed by the same tool catalog.
- Optional model-provider integration through configured AI providers.
- Permission tools for Screen Recording, Accessibility, and Event Synthesizing.
Installation
Run as an MCP server through npm:
{
"mcpServers": {
"peekaboo": {
"command": "npx",
"args": ["-y", "@steipete/peekaboo"]
}
}
}
For the full native CLI/app path:
brew install steipete/tap/peekaboo
Then verify permissions:
peekaboo permissions status
Use Cases
- Let a coding agent inspect a macOS app window while debugging UI state.
- Capture screenshots and UI element maps for local app QA.
- Automate repeatable desktop workflows in a dedicated test account.
- Run browser or app interactions when a browser-only MCP is not enough.
- Use local or hosted visual models to answer questions about a captured screen.
Safety and Privacy
Peekaboo operates at the desktop boundary, so it should be treated as sensitive automation. Start read-only, grant the narrowest practical macOS permissions, and use explicit human approval before any agent action that changes data, sends communication, submits a form, or manipulates a logged-in app.
When optional AI analysis is enabled, confirm whether screenshots or extracted UI context are sent to a hosted model provider. Use local models or isolated test environments for confidential screens.
Duplicate Check
Checked current content/mcp/, content/tools/, content/skills/, open pull
requests, and repository-wide content for openclaw/Peekaboo, Peekaboo MCP,
@steipete/peekaboo, macOS automation MCP, screenshot MCP server, and OpenClaw
Peekaboo. Existing browser and desktop automation entries cover BrowserMCP,
Chrome MCP, Playwright MCP, Windows MCP, and bb-browser, but no dedicated
Peekaboo MCP entry, exact source URL duplicate, target file, or open duplicate
PR was found.
Source citations
Add this badge to your README
How it compares
Peekaboo MCP Server side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
| Field | Peekaboo MCP Server macOS automation MCP server and CLI from OpenClaw that gives AI agents screen capture, window/app discovery, UI element inspection, clicks, typing, scrolling, hotkeys, menu actions, dialog control, and optional AI visual analysis through local or hosted model providers. Open dossier | Better Icons MCP Server MCP server and Agent Skill from better-auth for searching, recommending, retrieving, batching, and syncing Iconify-powered SVG icons from 200,000+ icons across 150+ collections. Open dossier | Expo MCP Server for Claude Official Expo-hosted remote MCP server for connecting Claude and other MCP clients to Expo documentation, Expo SDK guidance, EAS builds, EAS workflows, TestFlight crash and feedback data, React Native DevTools, and simulator automation for Expo projects. Open dossier | jCodeMunch MCP Server Token-efficient MCP server for source-code exploration that indexes codebases with tree-sitter, then lets agents retrieve symbols, file outlines, dependency context, blast radius, dead code, PR risk, and targeted source snippets instead of reading whole files. Open dossier |
|---|---|---|---|---|
| Trust | ||||
| Install risk | Review first | Review first | Review first | Review first |
| Notes | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ | Safety ✓ Privacy ✓ |
| Category | mcp | mcp | mcp | mcp |
| Source | source-backed | source-backed | source-backed | source-backed |
| Author | OpenClaw | better-auth | Expo | J. Gravelle |
| Added | 2026-06-18 | 2026-06-18 | 2026-06-04 | 2026-06-18 |
| Platforms | Claude CodeCodexCursorClaude Desktop | Claude CodeClaude Desktop | Claude CodeClaude Desktop | Claude CodeClaude Desktop |
| Source repo | — | — | — | — |
| Safety notes | ✓Peekaboo can see the screen, capture windows, inspect UI elements, click controls, type text, paste content, use hotkeys, scroll, drag, drive menus, manage windows, and run natural-language automation. Start with read-only commands such as `see`, `image`, `list`, `window list`, or `tools` before enabling input automation. Require human approval before sending messages, changing accounts, submitting forms, purchasing, deleting data, moving files, or acting in production apps. Use dedicated test accounts, test apps, and explicit allowlists when exposing Peekaboo to an agent that can operate logged-in macOS applications. HTTP and SSE MCP transports are documented as stubbed in the MCP command docs; stdio is the default supported integration path. | ✓Better Icons can write icons into a project file through `sync_icon`; review the target path, component name, framework, and diff before committing generated code. Icon output can include raw SVG, JSX/component usage, URLs, or generated project code. Review SVG attributes and generated code before use in production UI. Learned preferences and recent icons can influence future recommendations; clear preferences when switching projects or style systems. Batch retrieval can add many icons quickly. Keep requested sets bounded and avoid mixing unrelated icon styles in a shared design system. | ✓Expo MCP Server is an official remote MCP server hosted at `https://mcp.expo.dev/mcp`. It is not a HeyClaude-hosted package. The remote server uses OAuth-backed authentication. Do not paste Expo access tokens, usernames, passwords, or OAuth callback material into prompts, screenshots, public MCP configs, shell history, issue comments, or committed files. Build and workflow tools can trigger, cancel, inspect, validate, and submit EAS operations when the authenticated account has permission. Treat those as production-impacting actions for real apps. `build_submit` can submit finished builds to app stores when the project is configured for that path. Require explicit human confirmation before any store submission, release-channel change, or production distribution step. The dependency helper uses Expo's recommended install path for compatible package versions. Review generated dependency changes before committing or running the app. Local capabilities require installing `expo-mcp`, logging into Expo CLI, and starting the dev server with `EXPO_UNSTABLE_MCP_SERVER=1`. Review this environment before enabling local automation in shared machines, CI, or sensitive app projects. Simulator automation tools can tap screens, inspect views, take screenshots, collect logs, and open React Native DevTools. Keep them scoped to test apps, local simulators, or approved debugging sessions. Expo documents current local limitations, including one development server connection at a time, iOS local capability support limited to simulators, and iOS local capability support on macOS hosts. | ✓jCodeMunch can index source trees and return exact source snippets, symbol metadata, dependency context, git-derived risk signals, and repository structure to the MCP client. Use repository allowlists and trusted-folder controls before giving an agent access to private, customer, regulated, or production codebases. File watching, auto-reindexing, login-service registration, and MCP-client hooks are optional behaviors; review them before enabling persistent background behavior. The upstream license permits non-commercial use for free but requires a paid license for commercial use. Treat generated code summaries and repository analysis as advisory context, not approval to edit, delete, publish, or refactor without review. |
| Privacy notes | ✓Screen captures, window titles, app names, UI labels, form fields, menus, dialogs, file paths, clipboard contents, and generated snapshots may be exposed to the MCP client and model provider. Logged-in apps can show personal data, customer data, credentials, recovery codes, private messages, source code, internal dashboards, or confidential documents. Optional AI analysis may send screenshots or extracted UI context to configured model providers unless the user selects a local provider path. Snapshots, retained frames, metadata, and optional video output can persist on disk; prune caches and outputs when working with sensitive screens. | ✓Icon search queries, selected icon IDs, preferred collections, recent icons, target icon file paths, framework names, and generated SVG/component code may be visible to the MCP client and model provider. `sync_icon` can expose local project structure and icon-file conventions to the agent. Avoid sending private product names, unreleased feature labels, customer-specific UI terms, or proprietary design-system names in icon search prompts when that context is sensitive. | ✓Tool results can expose Expo account data, project identifiers, app names, build history, workflow runs, workflow logs, build logs, artifacts, TestFlight crash reports, TestFlight feedback, simulator screenshots, device logs, route maps, and source-derived app structure. Expo states that data sent to Expo MCP Server is not used to train AI models and that the server does not run an AI model itself, but connected MCP clients and model providers may have separate retention and training policies. Local capabilities can proxy data from the development machine through Expo MCP Server before returning it to the connected MCP client, including screenshots and simulator-derived state. Build logs, workflow logs, crash data, and app feedback may contain customer data, user identifiers, stack traces, API endpoints, environment names, release metadata, screenshots, or secrets accidentally printed by the app. Expo access tokens, generated credentials, app-store metadata, signing setup, and project secrets should stay in secret managers or approved MCP client credential stores, not prompts or repository files. Use demo apps, synthetic accounts, simulator data, and non-production EAS projects for screenshots, examples, validation, and AI-assisted troubleshooting. | ✓Local indexes can contain file paths, symbol names, signatures, summaries, byte offsets, source snippets, dependency relationships, and git-derived metadata. Optional hosted summarizers or embedding providers may receive source-derived text when configured; prefer local or disabled summarizers for confidential repositories. The upstream README discloses anonymous aggregate token-savings telemetry with an opt-out setting; review and disable it where policy requires. Agent hooks and config-audit features may inspect MCP client settings and agent instruction files; review outputs before sharing them outside the project. |
| Prerequisites |
|
|
|
|
| Install | | | | |
| Config | | | | |
| Citations | ||||
| Claim | Unclaimed | Unclaimed | Unclaimed | Unclaimed |
Signals
Loading live community signals…
A short, calm digest of reviewed Claude resources. Unsubscribe any time.