Parallel Browser MCP

io.github.etairl由 GitHub 帳號 etairl 發布v0.1.14更新於 Oct 24, 2026

MCP server for parallel browser automation across multiple providers.

發布方自己的服務:Parallel Search MCP

已驗證STDIO僅桌面瀏覽器自動化開發者工具

概覽

AI 產生的概覽

讓助理在本地 Playwright 或雲端瀏覽器服務商上並行執行並控制多個瀏覽器工作階段。

可以做什麼
透過 MCP 提供數字工作階段模型,讓一個用戶端可以同時建立與控制多個瀏覽器工作階段。工作階段工具包括 start_session、close_session、close_all_sessions 與 get_sessions,每個 browser_* 工具都接受 sessionId。瀏覽器工具涵蓋導覽、點擊、表單填寫、截圖、快照、頁面結構、定位器、鍵盤與滑鼠操作、檔案上傳、等待與 JavaScript 執行。服務商已抽象化:本地 Playwright Chromium、Browserbase、Anchor Browser 與 Cloudflare Browser Run。
適用情境
適合助理需要操作真實網頁、同時執行多個瀏覽任務,或用不同瀏覽器服務商測試同一流程的情境。也適合需要截圖、頁面快照或表單互動而非純文字抓取的代理工作流程。
執行需求
透過 stdio 在本機執行,通常使用 npx parallel-browser-mcp@latest,因此需要 Node.js。本地 playwright 服務商不需要憑證;browserbase 需要 BROWSERBASE_API_KEY 與專案 ID,anchor 需要 ANCHOR_API_KEY,cloudflare 需要 CLOUDFLARE_API_TOKEN 與 CLOUDFLARE_ACCOUNT_ID。服務商設定來自 BROWSER_MCP_CONFIG 或 BROWSER_MCP_CONFIG_PATH。可選的隱身模式需要 cloakbrowser 套件並下載較大的 Chromium 二進位檔。
安裝前請注意
雲端服務商會收到助理瀏覽的頁面與資料,其 API 金鑰屬於機密。此伺服器可在頁面中點擊、填寫表單、上傳檔案並執行 JavaScript,因此可能提交資料或在真實網站上觸發操作。可選的 CloakBrowser 隱身模式用於繞過機器人偵測,可能與網站條款衝突。伺服器日誌輸出到 stderr。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Parallel Browser MCP,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

parallel-browser-mcp

[npm version] [npm downloads]

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:

  • playwright for local Chromium
  • browserbase via @browserbasehq/sdk
  • anchor via anchorbrowser
  • cloudflare via 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_session
    • close_session
    • close_all_sessions
    • get_sessions
  • Browser tools:
    • browser_navigate
    • browser_go_back
    • browser_click
    • browser_fill
    • browser_fill_form
    • browser_screenshot
    • browser_snapshot
    • browser_hover
    • browser_drag
    • browser_select_option
    • browser_generate_locator
    • browser_get_page_structure
    • browser_evaluate
    • browser_keyboard_press
    • browser_keyboard_type
    • browser_mouse_move
    • browser_mouse_click_xy
    • browser_mouse_drag
    • browser_upload_file
    • browser_wait_for_selector
    • browser_wait_for_timeout

Quick Start

bash
corepack pnpm installcorepack pnpm build

Run locally over stdio:

bash
node dist/index.js

Run it as an npm package CLI:

bash
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:

  1. BROWSER_MCP_CONFIG
  2. BROWSER_MCP_CONFIG_PATH
  3. direct env defaults
  4. built-in defaults

Recommended config shape:

json
{  "defaultProvider": "playwright",  "providers": {    "browserbase": {      "projectId": "proj_123",      "keepAlive": true    },    "anchor": {      "recording": false    },    "playwright": {      "launchOptions": {        "headless": true      },      "useCloakBrowser": false    }  }}

Stealth Chromium via CloakBrowser

The playwright provider can optionally launch CloakBrowser instead of vanilla Chromium for sessions that need to bypass bot detection. Enable it per-config or via env:

json
{  "providers": {    "playwright": { "useCloakBrowser": true }  }}
bash
PLAYWRIGHT_USE_CLOAKBROWSER=true

cloakbrowser is an optional peer — install it only when you need stealth:

bash
npm install cloakbrowser

The CloakBrowser binary (~200MB stealth Chromium) is downloaded automatically on the first session launch. Existing launchOptions / contextOptions continue to apply, and the rest of the provider behaves identically to standard Playwright.

Required credentials by provider:

  • playwright: none
  • browserbase: BROWSERBASE_API_KEY, plus a projectId in config or BROWSERBASE_PROJECT_ID
  • anchor: ANCHOR_API_KEY
  • cloudflare: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID

Optional env defaults:

  • BROWSERBASE_PROJECT_ID
  • BROWSERBASE_KEEP_ALIVE
  • BROWSERBASE_CONTEXT_ID
  • BROWSERBASE_PERSIST
  • PLAYWRIGHT_STORAGE_STATE_PATH
  • PLAYWRIGHT_EXECUTABLE_PATH
  • PLAYWRIGHT_CHANNEL
  • PLAYWRIGHT_USE_CLOAKBROWSER (true to launch stealth Chromium via CloakBrowser; requires npm install cloakbrowser)

Installation

Use the standard config below in any MCP client that supports stdio:

json
{  "mcpServers": {    "parallel-browser-mcp": {      "command": "npx",      "args": ["parallel-browser-mcp@latest"],      "env": {        "BROWSER_MCP_CONFIG": "{\"defaultProvider\":\"playwright\",\"providers\":{\"playwright\":{\"launchOptions\":{\"headless\":true}}}}",        "BROWSERBASE_API_KEY": "your_browserbase_key",        "ANCHOR_API_KEY": "your_anchor_key"      }    }  }}
Claude Code

Use the Claude Code CLI to add the server:

bash
claude mcp add parallel-browser-mcp npx parallel-browser-mcp@latest

If you need provider configuration, add the environment variables in your Claude MCP config using the standard config above.

Claude Desktop

Follow the Claude Desktop MCP install flow and use the standard config above in the local MCP configuration file.

Codex

Use the Codex CLI:

bash
codex mcp add parallel-browser-mcp npx "parallel-browser-mcp@latest"

Or add this to ~/.codex/config.toml:

toml
[mcp_servers.parallel-browser-mcp]command = "npx"args = ["parallel-browser-mcp@latest"]
Copilot

Use the Copilot CLI interactive flow:

text
/mcp add

Or add this to ~/.copilot/mcp-config.json:

json
{  "mcpServers": {    "parallel-browser-mcp": {      "type": "local",      "command": "npx",      "tools": ["*"],      "args": ["parallel-browser-mcp@latest"],      "env": {        "BROWSER_MCP_CONFIG": "{\"defaultProvider\":\"playwright\",\"providers\":{\"playwright\":{\"launchOptions\":{\"headless\":true}}}}",        "BROWSERBASE_API_KEY": "your_browserbase_key",        "ANCHOR_API_KEY": "your_anchor_key"      }    }  }}
Cursor

Go to Cursor Settings -> MCP -> Add new MCP Server, then use:

  • command: npx
  • args: parallel-browser-mcp@latest

Or paste the standard config above into the MCP config editor.

Gemini

Add the server to .gemini/settings.json:

json
{  "mcpServers": {    "parallel-browser-mcp": {      "command": "npx",      "args": ["parallel-browser-mcp@latest"],      "env": {        "BROWSER_MCP_CONFIG": "{\"defaultProvider\":\"playwright\",\"providers\":{\"playwright\":{\"launchOptions\":{\"headless\":true}}}}",        "BROWSERBASE_API_KEY": "your_browserbase_key",        "ANCHOR_API_KEY": "your_anchor_key"      }    }  }}
VS Code

Use the MCP install flow in VS Code with the standard config above, or install with the VS Code CLI:

bash
code --add-mcp '{"name":"parallel-browser-mcp","command":"npx","args":["parallel-browser-mcp@latest"]}'

Example Flow

  1. Call start_session with { "provider": "playwright" }
  2. Read the returned session id
  3. Call browser_navigate with { "sessionId": 1, "url": "https://example.com" }
  4. Call any additional browser_* tool with the same sessionId
  5. Call close_session when done

Development

bash
corepack pnpm installcorepack pnpm typecheckcorepack pnpm testcorepack pnpm test:coveragecorepack pnpm buildcorepack pnpm smoke:local

Publishing

This repo is set up to publish as an npm package:

  • the CLI entrypoint is parallel-browser-mcp
  • production builds exclude tests and smoke scripts
  • the published package only includes dist, README.md, and .env.example

Before publishing:

bash
corepack pnpm typecheckcorepack pnpm testcorepack pnpm buildnpm pack --dry-run

GitHub Actions publishing:

  • .github/workflows/publish.yml publishes to npm on GitHub release publication or manual dispatch
  • set the NPM_TOKEN repository secret before using the publish workflow

Examples

  • examples/local contains a standalone npm package that connects to parallel-browser-mcp with @langchain/mcp-adapters and runs a LangChain agent against the local Playwright provider.
  • examples/browserbase contains a standalone npm package that connects LangChain to the published MCP server with Browserbase config and prompts the agent to use browser_screenshot.
  • examples/anchor contains a standalone npm package that connects LangChain to the published MCP server with Anchor config and prompts the agent to use browser_snapshot.
  • examples/cloudflare contains a standalone npm package that connects LangChain to the published MCP server with Cloudflare Browser Run config and prompts the agent to use browser_snapshot.
  • The root .npmignore excludes the full examples directory from npm publishing.

Testing

The repo includes:

  • unit coverage for config loading, providers, registry behavior, session tools, and representative browser tools
  • a local Playwright smoke script in src/smoke/localSmoke.ts

Notes

  • start_session is intentionally small. Provider-specific behavior belongs in MCP configuration, not tool inputs.
  • The server logs to stderr so stdout stays clean for MCP JSON-RPC traffic.
  • Browserbase and Anchor Browser are normalized to Playwright page operations after connection, so the browser tools stay provider-agnostic.

來源:README.md,提交 bde38ec

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.14最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Parallel 整合