Parallel BrowserBLOCK
An MCP server for parallel browser automation by AI agents with multiple cloud providers
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://www.npmjs.com/package/parallel-browser-mcp) [](https://www.npmjs.com/package/parallel-browser-mcp)
parallel-browser-mcp is an MCP server for parallel browser automation. It exposes a numeric session model over MCP so one client can create and control multiple browser sessions at the same time across multiple browser providers.
Supported providers:
playwrightfor local Chromiumbrowserbasevia@browserbasehq/sdkanchorviaanchorbrowsercloudflarevia Cloudflare Browser Run
Each browser session gets a numeric ID like 1, 2, 3, and every browser_* tool accepts a sessionId.
Features
- Multiple concurrent browser sessions in memory
- Provider abstraction shared across Browserbase, Anchor Browser, Cloudflare Browser Run, and local Playwright
- MCP session tools:
start_sessionclose_sessionclose_all_sessionsget_sessions- Browser tools:
browser_navigatebrowser_go_backbrowser_clickbrowser_fillbrowser_fill_formbrowser_screenshotbrowser_snapshotbrowser_hoverbrowser_dragbrowser_select_optionbrowser_generate_locatorbrowser_get_page_structurebrowser_evaluatebrowser_keyboard_pressbrowser_keyboard_typebrowser_mouse_movebrowser_mouse_click_xybrowser_mouse_dragbrowser_upload_filebrowser_wait_for_selectorbrowser_wait_for_timeout
Quick Start
corepack pnpm install corepack pnpm build
Run locally over stdio:
node dist/index.js
Run it as an npm package CLI:
npx parallel-browser-mcp@latest
Configuration
Provider-specific settings are configured at the MCP server configuration level, not per tool call.
The server reads config in this order:
- `BROWSERMCPCO
1ed3a0ed2118OBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add parallel-browser-mcp --env BROWSERBASE_API_KEY=${BROWSERBASE_API_KEY} --env ANCHOR_API_KEY=${ANCHOR_API_KEY} --env CLOUDFLARE_API_TOKEN=${CLOUDFLARE_API_TOKEN} -- npx -y [email protected]Exposed tools (26)
23 read · 3 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
browser_click | read | |
browser_dom_query | read | |
browser_drag | read | |
browser_evaluate | read | |
browser_fill | read | |
browser_fill_form | read | |
browser_generate_locator | read | |
browser_get_page_structure | read | |
browser_go_back | read | |
browser_hover | read | |
browser_keyboard_press | read | |
browser_keyboard_type | read | |
browser_mouse_click_xy | read | |
browser_mouse_drag | read | |
browser_mouse_move | write | |
browser_navigate | read | |
browser_screenshot | read | |
browser_select_option | read | |
browser_snapshot | read | |
browser_upload_file | write | |
browser_wait_for_selector | read | |
browser_wait_for_timeout | read | |
close_all_sessions | read | |
close_session | read | |
get_sessions | read | |
start_session | write |
Trust audit
BLOCKgrade D · trust 69/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | FAIL |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (3 observation(s))
- Network
- none-observed
- Shell
- declared (2 observation(s))
- Dependencies
- not all pinned
- Secrets in source
- none-found
Findings (14)
const callback = new Function(expression);
const callback = new Function('element', expression);.DS_Store
.DS_Store
args: ['../../dist/index.js'],
import type { SessionRecord } from '../../types/session.js';import { textResult } from '../../utils/mcp.js';import { SessionRegistry, SessionRegistryError } from '../../sessions/SessionRegistry.js';import type { SessionRecord } from '../../types/session.js';@langchain/anthropic, @langchain/mcp-adapters, dotenv, langchain
@langchain/anthropic, @langchain/mcp-adapters, dotenv, langchain
@langchain/anthropic, @langchain/mcp-adapters, dotenv, langchain
@langchain/anthropic, @langchain/mcp-adapters, dotenv, langchain
@browserbasehq/sdk, @modelcontextprotocol/sdk, @opencode-ai/sdk, anchorbrowser, opencode-ai, playwright, playwright-core, zod
Gates applied: no_behavioural_pass.
1ed3a0ed2118full audit observations/trust-audit/mcp-server/etairl__parallel-browser.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 1ed3a0ed2118 | BLOCK | D | 69 | first audit |
Questions
What is the Parallel Browser MCP server?
An MCP server for parallel browser automation by AI agents with multiple cloud providers
What tools does Parallel Browser expose?
26 in total: 23 read-only, 3 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is Parallel Browser safe to connect to an agent?
No — not without reading the findings first. The audit graded it D (69/100) and found 2 critical or high issues in the source. Each one is listed on this page with the file and line it is on.
What credentials does Parallel Browser need?
It reads ANCHOR_API_KEY, ANTHROPIC_API_KEY, BROWSERBASE_API_KEY and CLOUDFLARE_API_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does Parallel Browser run?
It speaks stdio, so it runs as a local process your client starts. It is published on npm as parallel-browser-mcp at 0.1.14.
How current is this page?
The grade is for one exact copy of the source (1ed3a0ed2118), read on 2026-10-08. The repository is watched and re-audited when it changes.