MCP

`peekaboo mcp`

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

NamePurposeKey options
serveRun Peekaboo’s MCP server over stdio/HTTP/SSE.`--transport stdiohttpsse (default stdio), --port <int>` for HTTP/SSE.

#Implementation notes

  • serve instantiates PeekabooMCPServer and maps the transport string to PeekabooCore.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_value directly mutates a settable accessibility value, and perform_action invokes a named accessibility action on an element from see.
  • click preserves 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 see before rerunning.
  • Re-run with --json or --verbose to surface detailed errors.