peekaboo mcp
mcp runs Peekaboo as a Model Context Protocol server. peekaboo mcp defaults to serve, so you can launch the server without specifying a subcommand.
#Subcommands
| Name | Purpose | Key options | ||
|---|---|---|---|---|
serve | Run Peekaboo’s MCP server over stdio/HTTP/SSE. | `--transport stdio | http | sse (default stdio), --port <int>` for HTTP/SSE. |
#Implementation notes
serveinstantiatesPeekabooMCPServerand maps the transport string toPeekabooCore.TransportType. Stdio is the default for Claude Code integrations.- HTTP/SSE server transports are stubbed; they currently throw “not implemented.”
- UI automation tools include action-first additions:
set_valuedirectly mutates a settable accessibility value, andperform_actioninvokes a named accessibility action on an element fromsee. clickpreserves element IDs and queries when forwarding to automation, so action-first policy can use accessibility actions before synthetic fallback.
#Examples
# Start the Peekaboo MCP server (defaults to stdio)
peekaboo mcp
# Explicit transport selection
peekaboo mcp serve --transport stdio
#Troubleshooting
- Verify Screen Recording + Accessibility permissions (
peekaboo permissions status). - Confirm your target (app/window/selector) with
peekaboo list/peekaboo seebefore rerunning. - Re-run with
--jsonor--verboseto surface detailed errors.