Skip to main content
Glama
etairl

parallel-browser-mcp

parallel-browser-mcp

parallel-browser-mcp ist ein MCP-Server für parallele Browser-Automatisierung. Er stellt ein numerisches Sitzungsmodell über MCP bereit, sodass ein Client mehrere Browsersitzungen gleichzeitig über verschiedene Browser-Anbieter hinweg erstellen und steuern kann.

Unterstützte Anbieter:

  • playwright für lokales Chromium

  • browserbase via @browserbasehq/sdk

  • anchor via anchorbrowser

  • cloudflare via Cloudflare Browser Run

Jede Browsersitzung erhält eine numerische ID wie 1, 2, 3, und jedes browser_*-Tool akzeptiert eine sessionId.

Funktionen

  • Mehrere gleichzeitige Browsersitzungen im Arbeitsspeicher

  • Anbieter-Abstraktion, die über Browserbase, Anchor Browser, Cloudflare Browser Run und lokales Playwright hinweg geteilt wird

  • MCP-Sitzungstools:

    • 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

Schnelleinstieg

corepack pnpm install
corepack pnpm build

Lokal über stdio ausführen:

node dist/index.js

Als npm-Paket-CLI ausführen:

npx parallel-browser-mcp@latest

Konfiguration

Anbieterspezifische Einstellungen werden auf Ebene der MCP-Serverkonfiguration konfiguriert, nicht pro Tool-Aufruf.

Der Server liest die Konfiguration in dieser Reihenfolge:

  1. BROWSER_MCP_CONFIG

  2. BROWSER_MCP_CONFIG_PATH

  3. Direkte Umgebungsvariablen-Standardwerte

  4. Eingebaute Standardwerte

Empfohlene Konfigurationsstruktur:

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

Erforderliche Anmeldedaten nach Anbieter:

  • playwright: keine

  • browserbase: BROWSERBASE_API_KEY, plus eine projectId in der Konfiguration oder BROWSERBASE_PROJECT_ID

  • anchor: ANCHOR_API_KEY

  • cloudflare: CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID

Optionale Umgebungsvariablen-Standardwerte:

  • BROWSERBASE_PROJECT_ID

  • BROWSERBASE_KEEP_ALIVE

  • BROWSERBASE_CONTEXT_ID

  • BROWSERBASE_PERSIST

  • PLAYWRIGHT_STORAGE_STATE_PATH

  • PLAYWRIGHT_EXECUTABLE_PATH

  • PLAYWRIGHT_CHANNEL

Installation

Verwenden Sie die unten stehende Standardkonfiguration in jedem MCP-Client, der stdio unterstützt:

{
  "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"
      }
    }
  }
}

Verwenden Sie die Claude Code CLI, um den Server hinzuzufügen:

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

Wenn Sie eine Anbieterkonfiguration benötigen, fügen Sie die Umgebungsvariablen in Ihrer Claude MCP-Konfiguration unter Verwendung der oben genannten Standardkonfiguration hinzu.

Folgen Sie dem Claude Desktop MCP-Installationsablauf und verwenden Sie die oben genannte Standardkonfiguration in der lokalen MCP-Konfigurationsdatei.

Verwenden Sie die Codex CLI:

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

Oder fügen Sie dies zu ~/.codex/config.toml hinzu:

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

Verwenden Sie den interaktiven Ablauf der Copilot CLI:

/mcp add

Oder fügen Sie dies zu ~/.copilot/mcp-config.json hinzu:

{
  "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"
      }
    }
  }
}

Gehen Sie zu Cursor Settings -> MCP -> Add new MCP Server und verwenden Sie dann:

  • command: npx

  • args: parallel-browser-mcp@latest

Oder fügen Sie die oben genannte Standardkonfiguration in den MCP-Konfigurationseditor ein.

Fügen Sie den Server zu .gemini/settings.json hinzu:

{
  "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"
      }
    }
  }
}

Verwenden Sie den MCP-Installationsablauf in VS Code mit der oben genannten Standardkonfiguration oder installieren Sie ihn mit der VS Code CLI:

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

Beispielablauf

  1. Rufen Sie start_session mit { "provider": "playwright" } auf

  2. Lesen Sie die zurückgegebene Sitzungs-id

  3. Rufen Sie browser_navigate mit { "sessionId": 1, "url": "https://example.com" } auf

  4. Rufen Sie jedes weitere browser_*-Tool mit derselben sessionId auf

  5. Rufen Sie close_session auf, wenn Sie fertig sind

Entwicklung

corepack pnpm install
corepack pnpm typecheck
corepack pnpm test
corepack pnpm test:coverage
corepack pnpm build
corepack pnpm smoke:local

Veröffentlichung

Dieses Repository ist für die Veröffentlichung als npm-Paket eingerichtet:

  • der CLI-Einstiegspunkt ist parallel-browser-mcp

  • Produktions-Builds schließen Tests und Smoke-Skripte aus

  • das veröffentlichte Paket enthält nur dist, README.md und .env.example

Vor der Veröffentlichung:

corepack pnpm typecheck
corepack pnpm test
corepack pnpm build
npm pack --dry-run

GitHub Actions-Veröffentlichung:

  • .github/workflows/publish.yml veröffentlicht auf npm bei Veröffentlichung eines GitHub-Releases oder manueller Auslösung

  • setzen Sie das NPM_TOKEN Repository-Geheimnis, bevor Sie den Veröffentlichungs-Workflow verwenden

Beispiele

  • examples/local enthält ein eigenständiges npm-Paket, das sich mit @langchain/mcp-adapters mit parallel-browser-mcp verbindet und einen LangChain-Agenten gegen den lokalen Playwright-Anbieter ausführt.

  • examples/browserbase enthält ein eigenständiges npm-Paket, das LangChain mit dem veröffentlichten MCP-Server mit Browserbase-Konfiguration verbindet und den Agenten auffordert, browser_screenshot zu verwenden.

  • examples/anchor enthält ein eigenständiges npm-Paket, das LangChain mit dem veröffentlichten MCP-Server mit Anchor-Konfiguration verbindet und den Agenten auffordert, browser_snapshot zu verwenden.

  • examples/cloudflare enthält ein eigenständiges npm-Paket, das LangChain mit dem veröffentlichten MCP-Server mit Cloudflare Browser Run-Konfiguration verbindet und den Agenten auffordert, browser_snapshot zu verwenden.

  • Die Root-.npmignore schließt das vollständige examples-Verzeichnis von der npm-Veröffentlichung aus.

Testen

Das Repository enthält:

  • Unit-Abdeckung für Konfigurationsladen, Anbieter, Registry-Verhalten, Sitzungstools und repräsentative Browser-Tools

  • ein lokales Playwright-Smoke-Skript in src/smoke/localSmoke.ts

Hinweise

  • start_session ist absichtlich klein gehalten. Anbieterspezifisches Verhalten gehört in die MCP-Konfiguration, nicht in die Tool-Eingaben.

  • Der Server protokolliert in stderr, damit stdout für den MCP JSON-RPC-Verkehr sauber bleibt.

  • Browserbase und Anchor Browser werden nach der Verbindung auf Playwright-Seitenoperationen normalisiert, sodass die Browser-Tools anbieterunabhängig bleiben.

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