Skip to main content

Tools (CLI / MCP) API

Interactive tools

These tools provide real-time browser and terminal control through the MCP server. They work alongside Playwright MCP, which connects to the same browser via CDP for page inspection.

b2v_start

MCP

Start an interactive session.

Launch a browser with video recording and CDP endpoint. Returns connection info for Playwright MCP.

Parameters

  • mode ("human" | "fast", optional) — Execution speed mode. Default: "human".
  • record (boolean, optional) — Enable video recording. Default: true.
  • headed (boolean, optional) — Force headed/headless browser.
  • cdpPort (number, optional) — CDP port for Playwright MCP connection. Default: 9222.
  • voice (string, optional) — OpenAI TTS voice.
  • language (string, optional) — Narration language.

b2v_finish

MCP

Finish session and compose video.

End the active session. Composes recorded panes into a single video with subtitles and metadata.


b2v_status

MCP

Session status.

Return current session state: open panes, steps, mode, recording status.


b2v_open_page

MCP

Open a browser page.

Open a new browser page with cursor injection and recording setup. Returns a pageId.

Parameters

  • url (string, optional) — URL to navigate to.
  • viewport ({ width, height }, optional) — Viewport dimensions. Default: 1280x720.
  • label (string, optional) — Label for logs/subtitles.

b2v_open_terminal

MCP

Open a terminal pane.

Open a terminal pane running a shell command, rendered in a browser page for recording.

Parameters

  • command (string, optional) — Shell command to run.
  • viewport ({ width, height }, optional) — Viewport dimensions. Default: 800x600.
  • label (string, optional) — Label.

b2v_click

MCP

Human-like click.

Click an element with smooth cursor movement (WindMouse), click effect, and breathing pause.

Parameters

  • selector (string, required) — CSS selector.
  • pageId (string, optional) — Target page ID.

b2v_click_at

MCP

Click at coordinates.

Human-like click at specific x,y coordinates. Useful for canvas or terminal interactions.

Parameters

  • x (number, required), y (number, required) — Coordinates.
  • pageId (string, optional).

b2v_type

MCP

Human-like typing.

Type text into an element with per-character delays.

Parameters

  • selector (string, required) — CSS selector of the input.
  • text (string, required) — Text to type.
  • pageId (string, optional).

b2v_press_key

MCP

Press keyboard key.

Press a keyboard key with a breathing pause.

Parameters

  • key (string, required) — Key name (e.g. "Enter", "Tab", "ArrowDown").
  • pageId (string, optional).

b2v_hover

MCP

Human-like hover.

Move the cursor to an element with smooth, human-like motion.

Parameters

  • selector (string, required) — CSS selector.
  • pageId (string, optional).

b2v_drag

MCP

Human-like drag.

Drag from one element to another with smooth cursor movement.

Parameters

  • from (string, required) — Source CSS selector.
  • to (string, required) — Target CSS selector.
  • pageId (string, optional).

b2v_scroll

MCP

Scroll page or element.

Parameters

  • selector (string, optional) — Scrollable element selector (null for page).
  • deltaY (number, required) — Scroll amount in pixels (positive = down).
  • pageId (string, optional).

b2v_terminal_send

MCP

Send command to terminal.

Send text or a command to terminal stdin. In human mode, characters are typed visually.

Parameters

  • text (string, required) — Text to send.
  • terminalId (string, optional) — Target terminal pane ID.

b2v_terminal_read

MCP

Read terminal output.

Parameters

  • terminalId (string, optional) — Target terminal pane ID.

b2v_step

MCP

Mark a recording step.

Mark a named step in the recording. Steps appear as subtitles in the final video.

Parameters

  • caption (string, required) — Step description.
  • narration (string, optional) — TTS narration text.

b2v_narrate

MCP

Speak narration.

Speak text via TTS. Requires OPENAI_API_KEY.

Parameters

  • text (string, required) — Text to speak.

b2v_add_step

MCP

Add step with executable code.

Add a step to the scenario being built. The code is executed immediately with actor, page, and session in scope, and recorded for export via b2v_save_scenario.

Parameters

  • caption (string, required) — Step description.
  • narration (string, optional) — TTS narration text.
  • code (string, required) — JS/TS code to execute.
  • pageId (string, optional).

Example

{
"caption": "Fill login form",
"code": "await actor.type('#email', 'user@example.com');\nawait actor.click('button[type=submit]');"
}

b2v_save_scenario

MCP

Export scenario file.

Export all accumulated steps as a standalone .ts scenario file.

Parameters

  • filePath (string, required) — Output file path.
  • url (string, optional) — The URL the scenario opens.

Batch tools

b2v_run

MCP · CLI

Run a scenario with video recording.

Execute a scenario file (.ts or .js) as a subprocess with video recording and optional TTS narration.

Parameters

  • scenarioFile (string, required) — Path to a scenario .ts or .js file.
  • mode ("human" | "fast", optional) — Execution speed mode.
  • voice (string, optional) — OpenAI TTS voice.
  • language (string, optional) — Auto-translate narration language.
  • realtimeAudio (boolean, optional) — Play narration in realtime.
  • narrationSpeed (number, optional) — Narration speed 0.25-4.0.

Examples

Run basic-ui scenario

b2v run tests/scenarios/basic-ui.test.ts

Run with Russian narration

b2v run tests/scenarios/kanban.test.ts --language ru --voice ash

b2v_list_scenarios

MCP

List available scenario files.

List scenario files in the scenarios directory.

Parameters

  • dir (string, optional) — Directory to scan (default: tests/scenarios).

b2v_doctor

MCP · CLI

Print environment diagnostics.

Check the runtime environment: Node.js version, ffmpeg availability, and platform-specific notes.