browserlane
MCP reference

MCP reference

Complete reference for every MCP tool browserlane exposes to agents.

Every MCP tool browserlane exposes to agents over stdio JSON-RPC — generated from bl v0.1.1. 85 tools total. Start the server with bl mcp.

See the CLI ↔ MCP mapping for how the tools relate to the bl CLI (the two surfaces are not 1:1).

ToolDescription
browser_backNavigate back in browser history (like clicking the back button)
browser_forwardNavigate forward in browser history (like clicking the forward button)
browser_navigateNavigate to a URL in the browser
browser_reloadReload the current page. Waits for the page to fully load.
browser_waitWait for an element to reach a specified state (attached, visible, or hidden)
browser_wait_for_fnWait until a JavaScript expression returns a truthy value
browser_wait_for_loadWait until the page reaches the "complete" ready state (all resources loaded)
browser_wait_for_textWait until specific text appears on the page
browser_wait_for_urlWait until the page URL contains a given substring

Interaction

ToolDescription
browser_checkCheck a checkbox or radio button. Idempotent — does nothing if already checked.
browser_clickClick an element by CSS selector. Waits for element to be visible, stable, and enabled.
browser_dblclickDouble-click an element by CSS selector or @ref
browser_dragDrag from one element to another
browser_fillClear an input field and type new text. Waits for element to be editable, clears existing value, then types. Use this instead of browser_type when you want to replace the field contents.
browser_focusFocus an element by CSS selector or @ref
browser_hoverHover over an element by CSS selector
browser_keysPress a key or key combination (e.g., "Enter", "Control+a", "Shift+Tab")
browser_mouse_clickClick at coordinates or at the current mouse position. If x and y are provided, moves the mouse there first.
browser_mouse_downPress a mouse button down at the current position
browser_mouse_moveMove the mouse to specific coordinates
browser_mouse_upRelease a mouse button at the current position
browser_pressPress a key or key combination on a specific element or the focused element. If selector is given, clicks the element first to focus it, then presses the key.
browser_scrollScroll the page or a specific element
browser_scroll_into_viewScroll an element into view, centering it on screen
browser_selectSelect an option in a <select> element by value
browser_typeType text into an element by CSS selector. Waits for element to be visible, stable, enabled, and editable.
browser_uncheckUncheck a checkbox. Idempotent — does nothing if already unchecked.
browser_uploadSet files on an input[type=file] element

Inspect page

ToolDescription
browser_a11y_treeGet the accessibility tree of the current page. Returns a tree of ARIA roles, names, and states — useful for understanding page structure without visual rendering.
browser_countCount the number of elements matching a CSS selector
browser_findFind an element and return its info (tag, text, bounding box). Use a CSS selector or a semantic locator (role, text, label, placeholder, testid, xpath, alt, title). Combine role with text or other locators to narrow results.
browser_find_allFind all elements matching a CSS selector and return their info (tag, text, bounding box)
browser_frameFind a frame by name (exact match) or URL (substring match)
browser_framesList all child frames (iframes) on the current page
browser_get_attributeGet the value of an HTML attribute on an element
browser_get_htmlGet the HTML content of the page or a specific element
browser_get_textGet the text content of the page or a specific element
browser_get_titleGet the current page title
browser_get_urlGet the current page URL
browser_get_valueGet the current value of an input, textarea, or select element
browser_is_checkedCheck if a checkbox or radio button is checked. Returns true/false.
browser_is_enabledCheck if an element is enabled (not disabled). Returns true/false.
browser_is_visibleCheck if an element is visible on the page. Returns true/false without throwing errors.
browser_list_pagesList all open browser pages with their URLs
browser_mapMap interactive page elements with @refs for targeting. Returns a list of interactive elements (buttons, links, inputs, etc.) each with a short @ref like @e1, @e2. Use these refs as selectors in other commands (click, fill, etc.).

Capture

ToolDescription
browser_highlightHighlight an element with a red outline for 3 seconds. Useful for visual debugging.
browser_pdfSave the current page as a PDF file
browser_record_startStart a browser recording (screenshots and/or HTML snapshots). Output is Playwright trace viewer compatible.
browser_record_start_chunkStart a new chunk within the current recording (for splitting long recordings)
browser_record_start_groupStart a named group in the recording (groups nest actions in the trace viewer)
browser_record_stopStop recording and save to a Playwright-compatible trace ZIP file
browser_record_stop_chunkPackage the current recording chunk into a ZIP file (recording remains active)
browser_record_stop_groupEnd the current recording group
browser_screenshotCapture a screenshot of the current page

Browser state & emulation

ToolDescription
browser_delete_cookiesDelete cookies. If name is given, deletes that cookie. Otherwise deletes all cookies.
browser_dialog_acceptAccept a dialog (alert, confirm, prompt). Optionally provide text for prompt dialogs.
browser_dialog_dismissDismiss a dialog (cancel/close)
browser_diff_mapCompare current page state vs last map. Shows additions (+) and removals (-) since the last browser_map call.
browser_download_set_dirSet the download directory for the browser
browser_emulate_mediaOverride CSS media features (color scheme, reduced motion, etc.)
browser_get_cookiesList all cookies for the current page
browser_get_viewportGet the current viewport dimensions
browser_get_windowGet the OS browser window dimensions and state
browser_restore_storageRestore cookies and storage from a JSON state file
browser_set_contentReplace the page HTML content
browser_set_cookieSet a cookie
browser_set_geolocationOverride the browser geolocation
browser_set_viewportSet the browser viewport size
browser_set_windowSet the OS browser window size, position, or state
browser_storage_stateExport cookies, localStorage, and sessionStorage as JSON

Scripting

ToolDescription
browser_evaluateExecute JavaScript in the browser to extract data, query the DOM, or inspect page state. Returns the evaluated result. Use this to get text content, attributes, element data, or any information from the page.
browser_sleepPause execution for a specified number of milliseconds. Use sparingly — prefer browser_wait or browser_wait_for_url when possible.

Session & pages

ToolDescription
browser_close_pageClose a browser page by index (default: current page)
browser_new_pageOpen a new browser page, optionally navigating to a URL
browser_startStart a browser session
browser_stopStop the browser session
browser_switch_pageSwitch to a browser page by index or URL substring

Page clock (MCP-only)

ToolDescription
page_clock_fast_forwardJump the fake clock forward by N milliseconds, firing each due timer at most once
page_clock_installInstall a fake clock on the page, overriding Date, setTimeout, setInterval, requestAnimationFrame, and performance.now
page_clock_pause_atJump the fake clock to a specific time and pause — no timers fire until resumed or advanced
page_clock_resumeResume real-time progression from the current fake clock time
page_clock_run_forAdvance the fake clock by N milliseconds, firing all time-related callbacks systematically
page_clock_set_fixed_timeFreeze Date.now() at a specific value permanently. Timers still run.
page_clock_set_system_timeSet Date.now() to a specific value without triggering any timers
page_clock_set_timezoneOverride the browser timezone. Pass an IANA timezone ID (e.g. 'America/New_York'), or empty string to reset to system default

On this page