Parallel Browser MCP — Claude Code MCP server: setup guide
Runs concurrent browser sessions indexed by numeric IDs across Playwright, Browserbase, Anchor, and Cloudflare. Useful when an agent needs to automate multiple sites simultaneously.
claude mcp add --env BROWSER_MCP_CONFIG=<BROWSER_MCP_CONFIG> --env BROWSER_MCP_CONFIG_PATH=<BROWSER_MCP_CONFIG_PATH> --env BROWSERBASE_API_KEY=<BROWSERBASE_API_KEY> --env BROWSERBASE_PROJECT_ID=<BROWSERBASE_PROJECT_ID> --env ANCHOR_API_KEY=<ANCHOR_API_KEY> --transport stdio parallel-browser-mcp -- npx -y parallel-browser-mcpWhat Parallel Browser MCP does
The server assigns a numeric identifier to each active session. An MCP client initializes an instance via start_session, then attaches that numeric ID to subsequent actions like browser_navigate, form entry, screenshots, element drag-and-drop, or DOM inspection. Sessions remain isolated and can be terminated individually or collectively via close_all_sessions.
Four browser backends are supported under a single interface: local Playwright, plus cloud runtimes from Browserbase, Anchor Browser, and Cloudflare. You define backend settings globally through BROWSER_MCP_CONFIG or environment flags rather than passing options into separate tool calls.
Local Playwright requires no credentials, but stealth browsing with CloakBrowser demands installing the optional cloakbrowser npm package. That stealth Chromium binary pulls around 200MB on its initial launch.
What it helps with
- spin up and orchestrate multiple browser sessions in parallel
- capture screenshots and extract DOM hierarchy from active tabs
- automate form entry, file uploads, and mouse interactions
- evade bot detection routines via an optional stealth Chromium binary
Example prompts for the agent
- Start a new Playwright session and open
https://example.com - Capture a page screenshot in session 1 using
browser_screenshot - Terminate all active browser instances with
close_all_sessions
How to install Parallel Browser MCP
Platform CLI
claude mcp add --env BROWSER_MCP_CONFIG=<BROWSER_MCP_CONFIG> --env BROWSER_MCP_CONFIG_PATH=<BROWSER_MCP_CONFIG_PATH> --env BROWSERBASE_API_KEY=<BROWSERBASE_API_KEY> --env BROWSERBASE_PROJECT_ID=<BROWSERBASE_PROJECT_ID> --env ANCHOR_API_KEY=<ANCHOR_API_KEY> --transport stdio parallel-browser-mcp -- npx -y parallel-browser-mcpReplace <…> with your own values. 3 more environment variables are in the server README
Platform CLI
codex mcp add parallel-browser-mcp --env BROWSER_MCP_CONFIG=<BROWSER_MCP_CONFIG> --env BROWSER_MCP_CONFIG_PATH=<BROWSER_MCP_CONFIG_PATH> --env BROWSERBASE_API_KEY=<BROWSERBASE_API_KEY> --env BROWSERBASE_PROJECT_ID=<BROWSERBASE_PROJECT_ID> --env ANCHOR_API_KEY=<ANCHOR_API_KEY> -- npx -y parallel-browser-mcpReplace <…> with your own values. 3 more environment variables are in the server README
Config file
{
"mcpServers": {
"parallel-browser-mcp": {
"command": "npx",
"args": [
"-y",
"parallel-browser-mcp"
],
"env": {
"BROWSER_MCP_CONFIG": "<BROWSER_MCP_CONFIG>",
"BROWSER_MCP_CONFIG_PATH": "<BROWSER_MCP_CONFIG_PATH>",
"BROWSERBASE_API_KEY": "<BROWSERBASE_API_KEY>",
"BROWSERBASE_PROJECT_ID": "<BROWSERBASE_PROJECT_ID>",
"ANCHOR_API_KEY": "<ANCHOR_API_KEY>"
}
}
}
}Replace <…> with your own values. 3 more environment variables are in the server README
Config file
{
"servers": {
"parallel-browser-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"parallel-browser-mcp"
],
"env": {
"BROWSER_MCP_CONFIG": "<BROWSER_MCP_CONFIG>",
"BROWSER_MCP_CONFIG_PATH": "<BROWSER_MCP_CONFIG_PATH>",
"BROWSERBASE_API_KEY": "<BROWSERBASE_API_KEY>",
"BROWSERBASE_PROJECT_ID": "<BROWSERBASE_PROJECT_ID>",
"ANCHOR_API_KEY": "<ANCHOR_API_KEY>"
}
}
}
}Replace <…> with your own values. 3 more environment variables are in the server README
Platform CLI
gemini mcp add -e BROWSER_MCP_CONFIG=<BROWSER_MCP_CONFIG> -e BROWSER_MCP_CONFIG_PATH=<BROWSER_MCP_CONFIG_PATH> -e BROWSERBASE_API_KEY=<BROWSERBASE_API_KEY> -e BROWSERBASE_PROJECT_ID=<BROWSERBASE_PROJECT_ID> -e ANCHOR_API_KEY=<ANCHOR_API_KEY> parallel-browser-mcp npx -y parallel-browser-mcpReplace <…> with your own values. 3 more environment variables are in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Parallel Browser MCP
How to install Parallel Browser MCP in Claude Code?
Run `claude mcp add parallel-browser-mcp -e BROWSERBASE_API_KEY=<BROWSERBASE_API_KEY> -e ANCHOR_API_KEY=<ANCHOR_API_KEY> -e CLOUDFLARE_API_TOKEN=<CLOUDFLARE_API_TOKEN> -- npx -y parallel-browser-mcp` in your CLI. You can omit the API key flags if you only intend to use local Playwright.
What does Parallel Browser MCP do?
It provides MCP tools to run and control multiple browser instances concurrently across Playwright, Browserbase, Anchor, and Cloudflare. Each tab receives a distinct integer ID for navigation, clicking, typing, and capturing visual snapshots.
How do you enable CloakBrowser stealth mode?
Add cloakbrowser via npm install cloakbrowser and set useCloakBrowser: true inside your Playwright config or export PLAYWRIGHT_USE_CLOAKBROWSER=true. The server will fetch a ~200MB stealth Chromium binary on its first run.