Probe Page
probe_pageProbe one or more URLs to capture rendered state, page metadata, console errors, and network summaries. Returns screenshots, title, status, load time, and per-URL network details. Ideal for checking if a page broke after changes.
Instructions
Probe one or more URLs and return their rendered state — screenshot, page metadata (title/finalUrl/statusCode/loadTimeMs), structured console errors, and per-URL network summary (refetch loops collapse into one row by origin+pathname).
WHEN TO USE: "did I just break /settings?" / "smoke-test these 5 routes after my refactor" / "what's actually rendering at /dashboard?" — fast (<10s for 1 URL, <25s for 20), no LLM cost, no agent loop.
NOT FOR: scenario verification (sign in → click X → assert Y), interaction (clicks, form fills, scrolls), or anything requiring agent decisions. Use check_app_in_browser for those.
LOCALHOST SUPPORT: any localhost URL is auto-tunneled. Pre-flight TCP probe fails fast (<2s) if the dev server isn't listening.
BATCH MODE: pass up to 20 targets in one call to share browser session + tunnel — dramatically faster than firing parallel single-URL probes (one execution unit, not N). Per-URL waitForSelector / waitForLoadState / timeoutMs override defaults.
READINESS: navigation settles on CONTENT (the page's DOM going quiet), bounded — not on network silence, which never arrives on a live app, and not on 'load', which blocks on third-party embeds. The default is right for SPAs; reach for waitForSelector, not waitForLoadState, when you need to wait for something specific.
A single failed target's error appears in result.error without failing the whole batch — the other results stay valid.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| targets | Yes | 1-20 URLs to probe. Each entry can carry its own per-URL wait config. | |
| repoName | No | GitHub repository name (e.g. 'my-org/my-repo'). Auto-detected from the current git repo — only provide this to scope the probe to a different project context. | |
| includeHtml | No | If true, each result includes the page's outerHTML. Default false to keep response size sane. | |
| captureScreenshots | No | If true (default), one PNG screenshot is returned per target. Set false for very large batches or when only the structured data matters. |