Reference

`peekaboo tools`

peekaboo tools

peekaboo tools prints the background-only MCP tool catalog that peekaboo mcp exposes (Image, See, Click, Press, Action, Window, Browser, Inspect UI, etc.). peekaboo tools describe <name> prints one tool's policy-aware JSON input schema for token-cheap, on-demand discovery. Tools with no background-safe form, such as move and drag, are omitted. Mixed-capability tools retain their background-safe actions and describe which foreground shapes require a human-authorized foreground Agent or standalone CLI route. The public Agent catalog is a separate Shell-free surface; run peekaboo learn for that exact guide. The CLI keeps browser as a dedicated wrapper and exposes AX-only inspection through peekaboo see --tree --no-screenshot; run peekaboo --help for the full CLI command list.

#Key options

FlagDescription
--no-sortPreserve registration order instead of alphabetizing every tool.
--verboseInclude each tool's description alongside its name.
--jsonEmit {tools:[…], count:n} for machine parsing.

#Subcommands

NamePurpose
describe <tool-name>Print the tool name, abstract, and pretty JSON input schema. With --json, emit {name, description, input_schema}. Unknown names fail and list every valid name.

#Implementation notes

  • The command and MCP server both use MCPToolCatalog, so tool additions only need to be registered once.
  • Tool schemas receive the same execution policy as the catalog. Background app/window descriptions omit focus and switch actions, while foreground-capable Agent schemas expose them under explicit human authority.
  • Background clipboard discovery exposes only get and save. set, clear, and restore persistently change the user's shared clipboard state and require a foreground-authorized workflow; prefer exact targeted transactional paste when possible.
  • Allow/deny filtering happens before formatting (ToolFiltering.apply), so the output matches MCP server behavior.
  • Input-strategy availability filtering also runs before formatting, so action-only tools are hidden when the current policy cannot support them.
  • The command runs locally by default because it only reports the static native catalog; use per-tool wrappers or an attached MCP client to execute tools.
  • Because the command implements RuntimeOptionsConfigurable, it respects global --json/--verbose flags even when invoked from other commands (e.g., peekaboo learn can embed the summaries verbatim).

#Examples

# Produce a JSON blob for an agent integration test
peekaboo tools --json > /tmp/tools.json

# Fetch only the click tool's schema
peekaboo tools describe click
peekaboo tools describe verify_state --json

#Troubleshooting

  • Verify Screen Recording + Accessibility permissions (peekaboo permissions status).
  • Confirm your process with peekaboo app list, its exact window with peekaboo window list, and current UI with peekaboo see before rerunning.
  • Re-run with --json or --verbose to surface detailed errors.