View as markdown

Browser tools

The browser_* tools are injected into agents alongside the other Paseo MCP tools when browser automation is enabled.

Shared concepts:

  • browserId identifies a tab. It comes from browser_new_tab or browser_list_tabs and is required by every tab-scoped tool.
  • ref identifies an element, e.g. @e3. Refs come from the latest browser_snapshot of the same tab and expire when the page changes — stale refs return an error instead of acting on the wrong element.
  • Every result reports dialogs the page opened during the command (alerts accepted; confirm/prompt/beforeunload dismissed).

Arguments marked ? are optional.

Tabs

ToolArgumentsPurpose
browser_list_tabsList open tabs in the agent's workspace across connected hosts.
browser_new_taburl?Open a tab in the background and return its browserId.
browser_close_tabbrowserIdClose a tab and clean up its webview.
browser_resizebrowserId, width, heightResize the tab's viewport — check a layout at phone or tablet dimensions.

Reading the page

ToolArgumentsPurpose
browser_snapshotbrowserIdReturn the page as an accessibility tree with element refs.
browser_screenshotbrowserId, fullPage?Capture a PNG of the viewport, or the full page with fullPage.
browser_logsbrowserId, maxEntries?Read recent console messages and network timing entries.
browser_waitbrowserId, text? | url?, timeoutMs?Wait until the page contains text or reaches a URL fragment (exactly one of the two).

Interacting

ToolArgumentsPurpose
browser_clickbrowserId, ref, button?, doubleClick?, modifiers?Click an element — left/right/middle, double-click, keyboard modifiers.
browser_fillbrowserId, ref, valueSet the value of an input-like element.
browser_typebrowserId, text, ref?Type text into an element, or into the focused element when ref is omitted.
browser_keypressbrowserId, key, ref?Press a key (Enter, Escape, Tab, Space, …) on an element or the focused one.
browser_hoverbrowserId, refHover an element — triggers real CSS :hover.
browser_selectbrowserId, ref, valueChoose an option in a <select>.
browser_dragbrowserId, sourceRef, targetRefDrag one element onto another.
browser_uploadbrowserId, ref, filePathsSet files on a file input. Paths must be inside the agent's workspace.
browser_scrollbrowserId, deltaX, deltaY, ref?Scroll the page, or center the wheel input over an element with ref.
ToolArgumentsPurpose
browser_navigatebrowserId, urlGo to an http(s) URL.
browser_backbrowserIdGo back — errors when there is no history to go to.
browser_forwardbrowserIdGo forward — errors when there is no forward entry.
browser_reloadbrowserIdReload the page.

Scripting

ToolArgumentsPurpose
browser_evaluatebrowserId, function, ref?Run a JavaScript function in the page. With ref, the resolved element is passed as the first argument. Results return as bounded JSON.

Errors

Tools return structured errors rather than failing silently. The ones agents see most:

CodeMeaning
browser_disabledBrowser tools are turned off on this host.
browser_no_hostNo browser host (desktop app) is connected. Retryable.
browser_stale_refThe ref no longer matches the page — take a new snapshot.
browser_timeoutThe element never became actionable, or the wait condition never held.
browser_deniedThe action isn't allowed — e.g. a non-http(s) URL, or no history to navigate.