Labsco
MCP SERVER

Parallel Browser MCP

by etairl

Drive several browser sessions at once, each call naming its sessionId — click, fill and type through selectors, and read the page as a structured snapshot instead of an image.

Browser Automation, Control & ScreenshotsVerified
Summary
Sessions are first-class, so one agent can hold several pages open and act on the right one.

The tool set is Playwright-shaped — selectors, element states, generated locators — with the session made explicit in every signature rather than kept as hidden server state, which is what lets a run keep a signed-in tab and a scratch tab side by side. browser_evaluate runs arbitrary JavaScript in the page context, so a session is exactly as trusted as the page it is pointed at, and browser_screenshot is available but browser_snapshot is the cheaper way to answer most questions about page state.

What it is

A browser automation server built around numbered sessions, 26 tools spanning session lifecycle, navigation, element interaction, keyboard and mouse input, and page inspection.

What you get
  • Concurrent sessions as the organising idea: start_session names one and chooses a provider, get_sessions lists what is open, close_session takes a numeric session ID and close_all_sessions ends them all
  • Selector-driven interaction — browser_click, browser_fill, browser_fill_form for several fields in one call, browser_select_option, browser_hover, browser_drag and browser_upload_file
  • Three ways to read a page: browser_snapshot returns a structured snapshot bounded by maxDepth and maxChildren, browser_get_page_structure a readable summary, browser_dom_query an element's presence, count and state without waiting
  • Coordinate-level input for what selectors cannot reach: browser_mouse_move, browser_mouse_click_xy, browser_mouse_drag, browser_keyboard_press for key chords and browser_keyboard_type with a per-character delay
  • browser_generate_locator, which suggests locators for an element — the piece that makes a broken selector fixable inside the same session
  • Explicit waiting rather than sleeps scattered through a script: browser_wait_for_selector waits for a state, browser_wait_for_timeout waits a set number of milliseconds
Requirements

The browser provider that start_session opens against, and the numeric session ID it returns — every other tool takes it as sessionId. Apache-2.0 licensed.

Setup effort

One command — npx parallel-browser-mcp@latest