CLI ↔ MCP mapping
How every bl CLI command lines up with the MCP tools — same capabilities, different surface ergonomics (not a 1:1 syntax mirror).
browserlane is one engine behind curated surfaces: the human bl CLI, the agent-facing MCP server, and a Skill that teaches agents the CLI. This page maps the two command-shaped surfaces onto each other: they expose the same engine capabilities with different surface ergonomics — a capability map, not a 1:1 syntax mirror (and not a spec mirror either; see the BiDi parity matrix for engine-level coverage). The CLI optimizes for typing (one verb often does more, arguments are optional), while the MCP exposes single-responsibility tools an agent composes explicitly. So names and shapes differ by design: e.g. bl open takes an optional URL (omit it to just launch a local browser), whereas its MCP counterpart browser_open requires a url — an agent that wants to launch without navigating calls browser_start instead. Some single commands also split into get/set tool pairs (bl viewport → browser_get_viewport + browser_set_viewport); the page-clock controls are MCP-only; and the install / agent-wiring plumbing is CLI-only. This page is generated from bl v0.1.14.
CLI command → MCP tool(s)
| CLI command | MCP tool(s) |
|---|---|
bl quit | browser_quit |
bl start | browser_start |
bl stop | browser_stop |
bl session new | browser_session_create |
bl session list | browser_session_list |
bl session close | browser_session_close |
bl session reset | browser_session_reset |
bl tabs | browser_tab_list, browser_context_tree |
bl tab new | browser_tab_new |
bl tab close | browser_tab_close |
bl tab switch | browser_tab_switch |
bl open | browser_open |
bl back | browser_back |
bl forward | browser_forward |
bl reload | browser_reload |
bl url | browser_get_url |
bl title | browser_get_title |
bl text | browser_get_text |
bl html | browser_get_html |
bl md | browser_markdown |
bl a11y-tree | browser_a11y_tree |
bl console list | browser_console_list |
bl console wait | browser_console_wait |
bl console clear | browser_console_clear |
bl eval | browser_evaluate |
bl wait | browser_wait |
bl wait url | browser_wait_for_url |
bl wait text | browser_wait_for_text |
bl wait load | browser_wait_for_load |
bl wait fn | browser_wait_for_fn |
bl frames | browser_frames |
bl frame | browser_frame |
bl find | browser_find, browser_find_all |
bl find text | browser_find |
bl find role | browser_find |
bl find label | browser_find |
bl find placeholder | browser_find |
bl find testid | browser_find |
bl find xpath | browser_find |
bl find alt | browser_find |
bl find title | browser_find |
bl map | browser_map |
bl attr | browser_get_attribute |
bl value | browser_get_value |
bl count | browser_count |
bl is visible | browser_is_visible |
bl is enabled | browser_is_enabled |
bl is checked | browser_is_checked |
bl expect | browser_expect |
bl expect url | browser_expect |
bl expect title | browser_expect |
bl expect text | browser_expect |
bl expect visible | browser_expect |
bl expect hidden | browser_expect |
bl expect enabled | browser_expect |
bl expect checked | browser_expect |
bl expect value | browser_expect |
bl expect count | browser_expect |
bl expect js | browser_expect |
bl click | browser_click |
bl dblclick | browser_dblclick |
bl hover | browser_hover |
bl type | browser_type |
bl fill | browser_fill |
bl press | browser_press |
bl keyboard type | browser_keyboard_type |
bl keyboard inserttext | browser_keyboard_inserttext |
bl keyboard down | browser_keyboard_down |
bl keyboard up | browser_keyboard_up |
bl select | browser_select |
bl check | browser_check |
bl uncheck | browser_uncheck |
bl focus | browser_focus |
bl scroll | browser_scroll |
bl scroll into-view | browser_scroll_into_view |
bl drag | browser_drag |
bl mouse click | browser_mouse_click |
bl mouse move | browser_mouse_move |
bl mouse down | browser_mouse_down |
bl mouse up | browser_mouse_up |
bl upload | browser_upload |
bl highlight | browser_highlight |
bl dialog accept | browser_dialog_accept |
bl dialog dismiss | browser_dialog_dismiss |
bl dialog wait | browser_dialog_wait |
bl dialog info | browser_dialog_info |
bl screenshot | browser_screenshot |
bl pdf | browser_pdf |
bl record start | browser_record_start |
bl record stop | browser_record_stop |
bl screencast start | browser_screencast_start |
bl screencast stop | browser_screencast_stop |
bl diff map | browser_diff_map |
bl diff snapshot | browser_diff_snapshot |
bl diff screenshot | browser_diff_screenshot |
bl diff url | browser_diff_url |
bl cookies | browser_cookie_list |
bl cookies get | browser_cookie_get |
bl cookies set | browser_cookie_set |
bl cookies delete | browser_cookie_delete |
bl cookies clear | browser_cookie_clear |
bl storage save | browser_storage_save |
bl storage load | browser_storage_load |
bl storage list | browser_storage_list |
bl storage show | browser_storage_show |
bl storage delete | browser_storage_delete |
bl storage export | browser_storage_export |
bl storage import | browser_storage_import |
bl localstorage list | browser_localstorage_list |
bl localstorage get | browser_localstorage_get |
bl localstorage set | browser_localstorage_set |
bl localstorage delete | browser_localstorage_delete |
bl localstorage clear | browser_localstorage_clear |
bl sessionstorage list | browser_sessionstorage_list |
bl sessionstorage get | browser_sessionstorage_get |
bl sessionstorage set | browser_sessionstorage_set |
bl sessionstorage delete | browser_sessionstorage_delete |
bl sessionstorage clear | browser_sessionstorage_clear |
bl download dir | browser_download_set_dir |
bl download wait | browser_wait_download |
bl viewport | browser_get_viewport, browser_set_viewport, browser_reset_viewport |
bl media | browser_emulate_media |
bl geolocation | browser_set_geolocation |
bl emulate environment | browser_emulate_environment |
bl sleep | browser_sleep |
MCP-only (no CLI command)
These tools have no bl equivalent — the fake-clock controls (an MCP-only testing surface), the record group/chunk lifecycle hooks, and the OS-window controls:
browser_get_windowbrowser_record_start_chunkbrowser_record_start_groupbrowser_record_stop_chunkbrowser_record_stop_groupbrowser_session_usebrowser_set_contentbrowser_set_windowpage_clock_fast_forwardpage_clock_installpage_clock_pause_atpage_clock_resumepage_clock_run_forpage_clock_set_fixed_timepage_clock_set_system_timepage_clock_set_timezone
CLI-only (no MCP tool)
These commands exist only in the CLI — installation, diagnostics, and agent wiring (each may have subcommands, e.g. bl completion zsh):
bl add-mcpbl add-skillbl completionbl installbl is-installedbl pathsbl version
A few leaf commands also have no direct tool:
bl emulate resetbl is actionablebl mcpbl record chunk startbl record chunk stopbl record group startbl record group stopbl session idbl uninstallbl update