mcpField
P
Parallel Browser Mcp

Parallel Browser Mcp

ローカル
github.com/etairlブラウザ自動化447 週間前に更新

Parallel Browser Mcp について

parallel-browser-mcp は、1 つのクライアントから複数のブラウザセッションを並行して操作するための MCP サーバーです。ローカルの Playwright Chromium、Browserbase、Anchor Browser、Cloudflare Browser Run に、プロバイダーに依存しない共通のツールで対応します。同時にウェブを閲覧またはスクレイピングする開発者を対象としています。

主な機能

  1. 01メモリ内で複数のブラウザセッションを同時に保持
  2. 02複数プロバイダーで共通のツールインターフェース
  3. 03ナビゲーション、クリック、入力、スクリーンショットのツール
  4. 04Playwright 向けのオプションの CloakBrowser ステルス Chromium

活用シーン

  1. 01データ収集のために複数のページを並行して開く
  2. 02モデルによるフォーム入力とスクリーンショット取得
  3. 03同一の操作フローを異なるクラウドブラウザプロバイダーで実行

MCP 対応

本プロジェクトは MCP サーバーであり、start_session、close_session、browser_* 系のツールにより、MCP クライアントが数値のセッション ID でブラウザを操作できるようにします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"parallel-browser": {
"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>",
"CLOUDFLARE_API_TOKEN": "<CLOUDFLARE_API_TOKEN>",
"CLOUDFLARE_ACCOUNT_ID": "<CLOUDFLARE_ACCOUNT_ID>",
"PLAYWRIGHT_USE_CLOAKBROWSER": "<PLAYWRIGHT_USE_CLOAKBROWSER>"
}
}
}
}
起動コマンドnpx -y parallel-browser-mcp
設定が必要な環境変数
BROWSER_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 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmparallel-browser-mcp0.1.14

ツール

26

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
providerenumいいえbrowserbase | anchor | playwright | cloudflare
sessionNamestringいいえ

詳細

parallel-browser-mcp

npm version npm downloads

parallel-browser-mcp は、並列ブラウザー自動化のための MCP サーバーです。MCP 上で数値によるセッションモデルを提供し、1 つのクライアントから複数のブラウザープロバイダーをまたいで、複数のブラウザーセッションを同時に作成・制御できます。

対応プロバイダー:

  • ローカル Chromium 用の playwright
  • @browserbasehq/sdk を介した browserbase
  • anchorbrowser を介した anchor
  • Cloudflare Browser Run を介した cloudflare

各ブラウザーセッションには 1、2、3 のような数値 ID が割り当てられ、すべての browser_* ツールで sessionId を指定します。

特長

  • メモリ上で複数のブラウザーセッションを同時に実行
  • Browserbase、Anchor Browser、Cloudflare Browser Run、ローカル Playwright で共通のプロバイダー抽象化
  • MCP セッションツール:
    • start_session
    • close_session
    • close_all_sessions
    • get_sessions
  • ブラウザーツール:
    • 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

クイックスタート

corepack pnpm install
corepack pnpm build

stdio 経由でローカル実行する場合:

node dist/index.js

npm パッケージの CLI として実行する場合:

npx parallel-browser-mcp@latest

設定

プロバイダー固有の設定は、ツール呼び出しごとではなく、MCP サーバーの設定レベルで指定します。

サーバーは次の順序で設定を読み込みます:

  1. BROWSER_MCP_CONFIG
  2. BROWSER_MCP_CONFIG_PATH
  3. 直接指定された環境変数のデフォルト値
  4. 組み込みのデフォルト値

推奨される設定形式:

{
  "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_ID
  • anchor:ANCHOR_API_KEY
  • cloudflare:CLOUDFLARE_API_TOKEN、CLOUDFLARE_ACCOUNT_ID

任意の環境変数のデフォルト値:

  • BROWSERBASE_PROJECT_ID
  • BROWSERBASE_KEEP_ALIVE
  • BROWSERBASE_CONTEXT_ID
  • BROWSERBASE_PERSIST
  • PLAYWRIGHT_STORAGE_STATE_PATH
  • PLAYWRIGHT_EXECUTABLE_PATH
  • PLAYWRIGHT_CHANNEL
  • PLAYWRIGHT_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"]}'

使用例

  1. { "provider": "playwright" } を指定して start_session を呼び出します
  2. 返されたセッションの id を読み取ります
  3. { "sessionId": 1, "url": "https://example.com" } を指定して browser_navigate を呼び出します
  4. 同じ sessionId を指定して、任意の追加の browser_* ツールを呼び出します
  5. 完了したら 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 のページ操作へ正規化されるため、ブラウザーツールはプロバイダーに依存しません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。