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 viewportbrowser_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 commandMCP tool(s)
bl quitbrowser_quit
bl startbrowser_start
bl stopbrowser_stop
bl session newbrowser_session_create
bl session listbrowser_session_list
bl session closebrowser_session_close
bl session resetbrowser_session_reset
bl tabsbrowser_tab_list, browser_context_tree
bl tab newbrowser_tab_new
bl tab closebrowser_tab_close
bl tab switchbrowser_tab_switch
bl openbrowser_open
bl backbrowser_back
bl forwardbrowser_forward
bl reloadbrowser_reload
bl urlbrowser_get_url
bl titlebrowser_get_title
bl textbrowser_get_text
bl htmlbrowser_get_html
bl mdbrowser_markdown
bl a11y-treebrowser_a11y_tree
bl console listbrowser_console_list
bl console waitbrowser_console_wait
bl console clearbrowser_console_clear
bl evalbrowser_evaluate
bl waitbrowser_wait
bl wait urlbrowser_wait_for_url
bl wait textbrowser_wait_for_text
bl wait loadbrowser_wait_for_load
bl wait fnbrowser_wait_for_fn
bl framesbrowser_frames
bl framebrowser_frame
bl findbrowser_find, browser_find_all
bl find textbrowser_find
bl find rolebrowser_find
bl find labelbrowser_find
bl find placeholderbrowser_find
bl find testidbrowser_find
bl find xpathbrowser_find
bl find altbrowser_find
bl find titlebrowser_find
bl mapbrowser_map
bl attrbrowser_get_attribute
bl valuebrowser_get_value
bl countbrowser_count
bl is visiblebrowser_is_visible
bl is enabledbrowser_is_enabled
bl is checkedbrowser_is_checked
bl expectbrowser_expect
bl expect urlbrowser_expect
bl expect titlebrowser_expect
bl expect textbrowser_expect
bl expect visiblebrowser_expect
bl expect hiddenbrowser_expect
bl expect enabledbrowser_expect
bl expect checkedbrowser_expect
bl expect valuebrowser_expect
bl expect countbrowser_expect
bl expect jsbrowser_expect
bl clickbrowser_click
bl dblclickbrowser_dblclick
bl hoverbrowser_hover
bl typebrowser_type
bl fillbrowser_fill
bl pressbrowser_press
bl keyboard typebrowser_keyboard_type
bl keyboard inserttextbrowser_keyboard_inserttext
bl keyboard downbrowser_keyboard_down
bl keyboard upbrowser_keyboard_up
bl selectbrowser_select
bl checkbrowser_check
bl uncheckbrowser_uncheck
bl focusbrowser_focus
bl scrollbrowser_scroll
bl scroll into-viewbrowser_scroll_into_view
bl dragbrowser_drag
bl mouse clickbrowser_mouse_click
bl mouse movebrowser_mouse_move
bl mouse downbrowser_mouse_down
bl mouse upbrowser_mouse_up
bl uploadbrowser_upload
bl highlightbrowser_highlight
bl dialog acceptbrowser_dialog_accept
bl dialog dismissbrowser_dialog_dismiss
bl dialog waitbrowser_dialog_wait
bl dialog infobrowser_dialog_info
bl screenshotbrowser_screenshot
bl pdfbrowser_pdf
bl record startbrowser_record_start
bl record stopbrowser_record_stop
bl screencast startbrowser_screencast_start
bl screencast stopbrowser_screencast_stop
bl diff mapbrowser_diff_map
bl diff snapshotbrowser_diff_snapshot
bl diff screenshotbrowser_diff_screenshot
bl diff urlbrowser_diff_url
bl cookiesbrowser_cookie_list
bl cookies getbrowser_cookie_get
bl cookies setbrowser_cookie_set
bl cookies deletebrowser_cookie_delete
bl cookies clearbrowser_cookie_clear
bl storage savebrowser_storage_save
bl storage loadbrowser_storage_load
bl storage listbrowser_storage_list
bl storage showbrowser_storage_show
bl storage deletebrowser_storage_delete
bl storage exportbrowser_storage_export
bl storage importbrowser_storage_import
bl localstorage listbrowser_localstorage_list
bl localstorage getbrowser_localstorage_get
bl localstorage setbrowser_localstorage_set
bl localstorage deletebrowser_localstorage_delete
bl localstorage clearbrowser_localstorage_clear
bl sessionstorage listbrowser_sessionstorage_list
bl sessionstorage getbrowser_sessionstorage_get
bl sessionstorage setbrowser_sessionstorage_set
bl sessionstorage deletebrowser_sessionstorage_delete
bl sessionstorage clearbrowser_sessionstorage_clear
bl download dirbrowser_download_set_dir
bl download waitbrowser_wait_download
bl viewportbrowser_get_viewport, browser_set_viewport, browser_reset_viewport
bl mediabrowser_emulate_media
bl geolocationbrowser_set_geolocation
bl emulate environmentbrowser_emulate_environment
bl sleepbrowser_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_window
  • browser_record_start_chunk
  • browser_record_start_group
  • browser_record_stop_chunk
  • browser_record_stop_group
  • browser_session_use
  • browser_set_content
  • browser_set_window
  • page_clock_fast_forward
  • page_clock_install
  • page_clock_pause_at
  • page_clock_resume
  • page_clock_run_for
  • page_clock_set_fixed_time
  • page_clock_set_system_time
  • page_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-mcp
  • bl add-skill
  • bl completion
  • bl install
  • bl is-installed
  • bl paths
  • bl version

A few leaf commands also have no direct tool:

  • bl emulate reset
  • bl is actionable
  • bl mcp
  • bl record chunk start
  • bl record chunk stop
  • bl record group start
  • bl record group stop
  • bl session id
  • bl uninstall
  • bl update

On this page