Getting started

Wire up an agent (MCP)

Register the browserlane MCP server with your coding agent and drive Chrome with prompts.

This is the agent on-ramp. bl mcp is an MCP server (JSON-RPC 2.0 over stdio) that exposes browser automation as a catalog of tools. Once it's registered with your agent, you drive Chrome with natural-language prompts and the agent calls the tools for you.

Install Chrome once

bl install

This downloads Chrome for Testing into the local cache. It's required — bl doesn't fetch Chrome on demand, so the agent's first browser action would otherwise error with "Chrome not found".

Register the MCP server

Wire bl mcp into your agent with a single command. bl registers itself by absolute path, so it works regardless of PATH:

bl add-mcp claude          # Claude Code
bl add-mcp claude-desktop  # Claude Desktop
bl add-mcp cursor          # Cursor
bl add-mcp vscode          # VS Code (.vscode/mcp.json, current project)
bl add-mcp codex           # OpenAI Codex CLI

Run bl add-mcp --list to see the supported clients. Add --stdout to print the config snippet instead of writing the client's config file — useful when you want to drop it in by hand or wire up a client that isn't listed.

(Claude Code) Install the browser skill

bl add-skill

For Claude Code, bl add-skill installs a browser skill that teaches the agent the bl CLI through token-efficient workflows — the same engine with a far smaller context footprint. Add --stdout to print the skill content instead of installing it.

Same capabilities, different ergonomics

The MCP tools cover the same engine as the CLI, but they are not a 1:1 syntax mirror — each surface is tuned for its user. Some tools take a different shape than the matching CLI verb (for example browser_open requires a url, while bl open lets you omit it to just launch a browser), and a few tools are MCP-only. See the CLI ↔ MCP mapping for the full correspondence, and the MCP reference for the tool catalog.

Prompt the agent

Once it's wired up, just describe what you want. The agent maps the page, acts on elements, and re-maps as the page changes:

Open example.com, then click the "More information" link and tell me where it goes.

Go to my app's login page, fill in the email and password fields, submit, and screenshot the dashboard.

Open this product page and extract every item's name and price as JSON.

Under the hood the agent follows the same map → act → re-map loop you'd use by hand. To understand that loop, read Selectors, refs, and the map/act/re-map loop.

Where to go next

On this page