peekaboo mcp

May 8, 2026 · View on GitHub

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 stdio

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.