outline - kubed-io/selenium-flow GitHub Wiki

outline

Map the page: the elements worth acting on, each with a selector checked to match exactly one element, and whether it can be used now.

MCP tool outline
HTTP POST /browser/outline

Use it to find selectors instead of reading HTML. When visible is false, reason says why: hidden (often a closed menu; revealed_by and open_with say what opens it), covered (blocked_by names what is on top), zero_size, offscreen or disabled.

Content is listed before navigation, header, footer and sidebars, and region names each entry's landmark. A total above count means the list was cut: scope it with selector, filter by text, or raise limit. interactive=false lists every element.

Parameters

Name Type Required Default
selector Selector no โ€”
text string no โ€”
limit integer no 50
interactive boolean no true
url string no โ€”
wait_timeout integer no 30

Every call names its workspace: an X-Workspace header, or ?workspace=<name>. Sending both is refused. See Workspaces.

Returns

Field Type Notes
count integer How many elements are listed.
total integer How many matched before limit cut the list. More than count means scope it with selector, filter by text, or raise limit.
elements array What is on the page: its content first, then its navigation, banner, footer and sidebars, each in document order.
url string Current URL after the action.
title string Page title after the action.
site_data object Present only when site data was restored, skipped or forgotten in this call.
page object Present only when this browser was opened with capture=true and the page reported a failure while the call ran: what it caused, and where to read it.

Errors

Status Means
400 The request cannot succeed as sent โ€” a missing field, a value that was rejected, or a locator that matched nothing before the wait ran out. Do not retry it unchanged.
401 Missing or wrong bearer token.
404 No such browser session. It ended, the Grid reaped it, or the id was never real. Open a new one and retry.
413 The body is over its cap: 1 MiB of JSON, 64 MiB of upload, 1 MiB of flow YAML. Send less; retrying it unchanged will fail again.
500 Something failed that this server did not expect.
503 The Grid could not serve this โ€” unreachable, or no free slot for a new browser. Worth retrying after a wait.

Over MCP the same failures arrive as a tool error.

Example

MCP

outline()

HTTP

curl -X POST $SELENIUM_FLOW/browser/outline \
  -H "Authorization: Bearer $TOKEN" \
  -H "X-Workspace: $WORKSPACE"

โ† All actions ยท Installing ยท Deployment

โš ๏ธ **GitHub.com Fallback** โš ๏ธ