Parallel Browser Mcp について
parallel-browser-mcp は、1 つのクライアントから複数のブラウザセッションを並行して操作するための MCP サーバーです。ローカルの Playwright Chromium、Browserbase、Anchor Browser、Cloudflare Browser Run に、プロバイダーに依存しない共通のツールで対応します。同時にウェブを閲覧またはスクレイピングする開発者を対象としています。
主な機能
- 01メモリ内で複数のブラウザセッションを同時に保持
- 02複数プロバイダーで共通のツールインターフェース
- 03ナビゲーション、クリック、入力、スクリーンショットのツール
- 04Playwright 向けのオプションの CloakBrowser ステルス Chromium
活用シーン
- 01データ収集のために複数のページを並行して開く
- 02モデルによるフォーム入力とスクリーンショット取得
- 03同一の操作フローを異なるクラウドブラウザプロバイダーで実行
MCP 対応
本プロジェクトは MCP サーバーであり、start_session、close_session、browser_* 系のツールにより、MCP クライアントが数値のセッション ID でブラウザを操作できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y parallel-browser-mcpBROWSER_MCP_CONFIGInline JSON configuration for providers and defaults. See README for shape.BROWSER_MCP_CONFIG_PATHPath to a JSON file with provider configuration.BROWSERBASE_API_KEYシークレットBrowserbase API key (required when using the browserbase provider).BROWSERBASE_PROJECT_IDBrowserbase project ID (required when using the browserbase provider, unless set in config).ANCHOR_API_KEYシークレットAnchor Browser API key (required when using the anchor provider).CLOUDFLARE_API_TOKENシークレットCloudflare API token (required when using the cloudflare provider).CLOUDFLARE_ACCOUNT_IDCloudflare account ID (required when using the cloudflare provider).PLAYWRIGHT_USE_CLOAKBROWSERSet to 'true' to launch the local Playwright provider via CloakBrowser (https://cloakbrowser.dev/) stealth Chromium. Requires installing the optional 'cloakbrowser' npm package.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
26掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| provider | enum | いいえ | browserbase | anchor | playwright | cloudflare |
| sessionName | string | いいえ |
詳細
parallel-browser-mcp
parallel-browser-mcp は、並列ブラウザー自動化のための MCP サーバーです。MCP 上で数値によるセッションモデルを提供し、1 つのクライアントから複数のブラウザープロバイダーをまたいで、複数のブラウザーセッションを同時に作成・制御できます。
対応プロバイダー:
- ローカル Chromium 用の
playwright @browserbasehq/sdkを介したbrowserbaseanchorbrowserを介したanchor- Cloudflare Browser Run を介した
cloudflare
各ブラウザーセッションには 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 build
stdio 経由でローカル実行する場合:
node dist/index.js
npm パッケージの 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
},
"useCloakBrowser": false
}
}
}
CloakBrowser によるステルス Chromium
playwright プロバイダーでは、ボット検出を回避する必要があるセッション向けに、標準の Chromium の代わりに CloakBrowser を起動できます。設定ごと、または環境変数で有効にします:
{
"providers": {
"playwright": { "useCloakBrowser": true }
}
}
PLAYWRIGHT_USE_CLOAKBROWSER=true
cloakbrowser はオプションのピア依存関係です。ステルス機能が必要な場合にのみインストールしてください:
npm install cloakbrowser
CloakBrowser バイナリ(約 200 MB のステルス Chromium)は、最初のセッション起動時に自動でダウンロードされます。既存の launchOptions/contextOptions は引き続き適用され、プロバイダーのその他の動作は標準の Playwright と同じです。
プロバイダーごとに必要な認証情報:
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_CHANNELPLAYWRIGHT_USE_CLOAKBROWSER(CloakBrowser 経由でステルス Chromium を起動する場合はtrueに設定します。npm install cloakbrowserが必要です)
インストール
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
Claude Code CLI を使用してサーバーを追加します。
claude mcp add parallel-browser-mcp npx parallel-browser-mcp@latest
プロバイダーの設定が必要な場合は、上記の標準設定を使用して、Claude の MCP 設定に環境変数を追加します。
Claude Desktop
Claude Desktop の MCP インストール手順に従い、ローカルの MCP 設定ファイルで上記の標準設定を使用します。
Codex
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
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
Cursor Settings -> MCP -> Add new MCP Server に移動し、次を使用します。
- command:
npx - args:
parallel-browser-mcp@latest
または、上記の標準設定を MCP 設定エディターに貼り付けます。
Gemini
サーバーを .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
上記の標準設定を使用して 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-run
GitHub Actions による公開:
.github/workflows/publish.ymlは、GitHub リリースの公開時または手動実行時に npm へ公開します- 公開ワークフローを使用する前に、リポジトリのシークレットとして
NPM_TOKENを設定してください
例
examples/localには、@langchain/mcp-adaptersを使用してparallel-browser-mcpに接続し、ローカルの Playwright プロバイダーに対して LangChain エージェントを実行する、独立した npm パッケージが含まれています。examples/browserbaseには、Browserbase の設定で公開済み MCP サーバーに LangChain を接続し、エージェントにbrowser_screenshotを使用するよう指示する、独立した npm パッケージが含まれています。examples/anchorには、Anchor の設定で公開済み MCP サーバーに LangChain を接続し、エージェントにbrowser_snapshotを使用するよう指示する、独立した npm パッケージが含まれています。examples/cloudflareには、Cloudflare Browser Run の設定で公開済み MCP サーバーに LangChain を接続し、エージェントにbrowser_snapshotを使用するよう指示する、独立した npm パッケージが含まれています。- ルートの
.npmignoreは、examplesディレクトリ全体を npm 公開の対象から除外します。
テスト
このリポジトリには、次のものが含まれています。
- 設定の読み込み、プロバイダー、レジストリーの動作、セッションツール、代表的なブラウザーツールのユニットテスト
src/smoke/localSmoke.tsにあるローカル Playwright スモークスクリプト
注記
start_sessionは意図的にシンプルにしています。プロバイダー固有の動作はツール入力ではなく、MCP の設定で指定します。- MCP JSON-RPC の通信に使用する stdout をクリーンな状態に保つため、サーバーは stderr にログを出力します。
- Browserbase と Anchor Browser は接続後に Playwright のページ操作へ正規化されるため、ブラウザーツールはプロバイダーに依存しません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。