Skip to main content
Glama
etairl

parallel-browser-mcp

parallel-browser-mcp

parallel-browser-mcp は、並列ブラウザ自動化のための MCP サーバーです。MCP 上で数値ベースのセッションモデルを公開しており、1 つのクライアントが複数のブラウザプロバイダーにまたがって、同時に複数のブラウザセッションを作成および制御できます。

サポートされているプロバイダー:

  • playwright (ローカルの Chromium 用)

  • browserbase (@browserbasehq/sdk 経由)

  • anchor (anchorbrowser 経由)

  • cloudflare (Cloudflare Browser Run 経由)

各ブラウザセッションには 123 のような数値 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
      }
    }
  }
}

プロバイダーごとに必要な認証情報:

  • playwright: なし

  • browserbase: BROWSERBASE_API_KEY、および設定内の projectId または BROWSERBASE_PROJECT_ID

  • anchor: ANCHOR_API_KEY

  • cloudflare: CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_ID

オプションの環境変数のデフォルト値:

  • BROWSERBASE_PROJECT_ID

  • BROWSERBASE_KEEP_ALIVE

  • BROWSERBASE_CONTEXT_ID

  • BROWSERBASE_PERSIST

  • PLAYWRIGHT_STORAGE_STATE_PATH

  • PLAYWRIGHT_EXECUTABLE_PATH

  • PLAYWRIGHT_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: npx

  • args: 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"]}'

使用例

  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 です

  • 本番ビルドにはテストやスモークスクリプトは含まれません

  • 公開されるパッケージには distREADME.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 設定で 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 のページ操作に正規化されるため、ブラウザツールはプロバイダーに依存しない状態を維持します。

A
license - permissive license
-
quality - not tested
C
maintenance

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