parallel-browser-mcp
parallel-browser-mcp
parallel-browser-mcp は、並列ブラウザ自動化のための MCP サーバーです。MCP 上で数値ベースのセッションモデルを公開しており、1 つのクライアントが複数のブラウザプロバイダーにまたがって、同時に複数のブラウザセッションを作成および制御できます。
サポートされているプロバイダー:
playwright(ローカルの Chromium 用)browserbase(@browserbasehq/sdk経由)anchor(anchorbrowser経由)cloudflare(Cloudflare Browser Run 経由)
各ブラウザセッションには 1、2、3 のような数値 ID が割り当てられ、すべての browser_* ツールは sessionId を受け取ります。
機能
メモリ内での複数の同時ブラウザセッション
Browserbase、Anchor Browser、Cloudflare Browser Run、ローカルの Playwright 間で共有されるプロバイダー抽象化
MCP セッションツール:
start_sessionclose_sessionclose_all_sessionsget_sessions
ブラウザツール:
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
クイックスタート
corepack pnpm install
corepack pnpm buildstdio 経由でローカル実行:
node dist/index.jsnpm パッケージ CLI として実行:
npx parallel-browser-mcp@latest設定
プロバイダー固有の設定は、ツール呼び出しごとではなく、MCP サーバー設定レベルで構成されます。
サーバーは以下の順序で設定を読み取ります:
BROWSER_MCP_CONFIGBROWSER_MCP_CONFIG_PATH直接の環境変数のデフォルト値
組み込みのデフォルト値
推奨される設定形式:
{
"defaultProvider": "playwright",
"providers": {
"browserbase": {
"projectId": "proj_123",
"keepAlive": true
},
"anchor": {
"recording": false
},
"playwright": {
"launchOptions": {
"headless": true
}
}
}
}プロバイダーごとに必要な認証情報:
playwright: なしbrowserbase:BROWSERBASE_API_KEY、および設定内のprojectIdまたはBROWSERBASE_PROJECT_IDanchor:ANCHOR_API_KEYcloudflare:CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID
オプションの環境変数のデフォルト値:
BROWSERBASE_PROJECT_IDBROWSERBASE_KEEP_ALIVEBROWSERBASE_CONTEXT_IDBROWSERBASE_PERSISTPLAYWRIGHT_STORAGE_STATE_PATHPLAYWRIGHT_EXECUTABLE_PATHPLAYWRIGHT_CHANNEL
インストール
stdio をサポートする任意の MCP クライアントで、以下の標準設定を使用してください:
{
"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 CLI を使用してサーバーを追加します:
claude mcp add parallel-browser-mcp npx parallel-browser-mcp@latestプロバイダー設定が必要な場合は、上記の標準設定を使用して Claude MCP 設定に環境変数を追加してください。
Claude Desktop の MCP インストールフローに従い、ローカルの MCP 設定ファイルで上記の標準設定を使用してください。
Codex CLI を使用します:
codex mcp add parallel-browser-mcp npx "parallel-browser-mcp@latest"または ~/.codex/config.toml に以下を追加します:
[mcp_servers.parallel-browser-mcp]
command = "npx"
args = ["parallel-browser-mcp@latest"]Copilot CLI の対話型フローを使用します:
/mcp addまたは ~/.copilot/mcp-config.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 Settings -> MCP -> Add new MCP Server に移動し、以下を使用します:
command:
npxargs:
parallel-browser-mcp@latest
または、上記の標準設定を MCP 設定エディターに貼り付けてください。
.gemini/settings.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 で MCP インストールフローを使用するか、VS Code CLI でインストールします:
code --add-mcp '{"name":"parallel-browser-mcp","command":"npx","args":["parallel-browser-mcp@latest"]}'使用例
{ "provider": "playwright" }を指定してstart_sessionを呼び出す返されたセッション
idを読み取る{ "sessionId": 1, "url": "https://example.com" }を指定してbrowser_navigateを呼び出す同じ
sessionIdを使用して、追加のbrowser_*ツールを呼び出す完了したら
close_sessionを呼び出す
開発
corepack pnpm install
corepack pnpm typecheck
corepack pnpm test
corepack pnpm test:coverage
corepack pnpm build
corepack pnpm smoke:local公開
このリポジトリは npm パッケージとして公開するように設定されています:
CLI エントリポイントは
parallel-browser-mcpです本番ビルドにはテストやスモークスクリプトは含まれません
公開されるパッケージには
dist、README.md、.env.exampleのみが含まれます
公開前:
corepack pnpm typecheck
corepack pnpm test
corepack pnpm build
npm pack --dry-runGitHub Actions による公開:
.github/workflows/publish.ymlは、GitHub リリースの公開時または手動ディスパッチ時に npm に公開します公開ワークフローを使用する前に、
NPM_TOKENリポジトリシークレットを設定してください
例
examples/localには、@langchain/mcp-adaptersを使用してparallel-browser-mcpに接続し、ローカルの Playwright プロバイダーに対して LangChain エージェントを実行するスタンドアロンの npm パッケージが含まれています。examples/browserbaseには、Browserbase 設定で LangChain を公開済み MCP サーバーに接続し、エージェントにbrowser_screenshotを使用するように促すスタンドアロンの npm パッケージが含まれています。examples/anchorには、Anchor 設定で LangChain を公開済み MCP サーバーに接続し、エージェントにbrowser_snapshotを使用するように促すスタンドアロンの npm パッケージが含まれています。examples/cloudflareには、Cloudflare Browser Run 設定で LangChain を公開済み MCP サーバーに接続し、エージェントにbrowser_snapshotを使用するように促すスタンドアロンの npm パッケージが含まれています。ルートの
.npmignoreは、npm 公開からexamplesディレクトリ全体を除外しています。
テスト
リポジトリには以下が含まれます:
設定の読み込み、プロバイダー、レジストリの動作、セッションツール、および代表的なブラウザツールのユニットカバレッジ
src/smoke/localSmoke.tsにあるローカル Playwright スモークスクリプト
注意事項
start_sessionは意図的にシンプルにしています。プロバイダー固有の動作はツール入力ではなく、MCP 設定に含めるべきです。サーバーは stderr にログを出力するため、stdout は MCP JSON-RPC トラフィックのためにクリーンに保たれます。
Browserbase と Anchor Browser は接続後に Playwright のページ操作に正規化されるため、ブラウザツールはプロバイダーに依存しない状態を維持します。
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/etairl/parallel-browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server