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:
playwrightfür lokales Chromiumbrowserbasevia@browserbasehq/sdkanchorviaanchorbrowsercloudflarevia 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_sessionclose_sessionclose_all_sessionsget_sessions
Browser-Tools:
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
Schnelleinstieg
corepack pnpm install
corepack pnpm buildLokal über stdio ausführen:
node dist/index.jsAls npm-Paket-CLI ausführen:
npx parallel-browser-mcp@latestKonfiguration
Anbieterspezifische Einstellungen werden auf Ebene der MCP-Serverkonfiguration konfiguriert, nicht pro Tool-Aufruf.
Der Server liest die Konfiguration in dieser Reihenfolge:
BROWSER_MCP_CONFIGBROWSER_MCP_CONFIG_PATHDirekte Umgebungsvariablen-Standardwerte
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: keinebrowserbase:BROWSERBASE_API_KEY, plus eineprojectIdin der Konfiguration oderBROWSERBASE_PROJECT_IDanchor:ANCHOR_API_KEYcloudflare:CLOUDFLARE_API_TOKEN,CLOUDFLARE_ACCOUNT_ID
Optionale Umgebungsvariablen-Standardwerte:
BROWSERBASE_PROJECT_IDBROWSERBASE_KEEP_ALIVEBROWSERBASE_CONTEXT_IDBROWSERBASE_PERSISTPLAYWRIGHT_STORAGE_STATE_PATHPLAYWRIGHT_EXECUTABLE_PATHPLAYWRIGHT_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@latestWenn 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 addOder 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:
npxargs:
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
Rufen Sie
start_sessionmit{ "provider": "playwright" }aufLesen Sie die zurückgegebene Sitzungs-
idRufen Sie
browser_navigatemit{ "sessionId": 1, "url": "https://example.com" }aufRufen Sie jedes weitere
browser_*-Tool mit derselbensessionIdaufRufen Sie
close_sessionauf, wenn Sie fertig sind
Entwicklung
corepack pnpm install
corepack pnpm typecheck
corepack pnpm test
corepack pnpm test:coverage
corepack pnpm build
corepack pnpm smoke:localVeröffentlichung
Dieses Repository ist für die Veröffentlichung als npm-Paket eingerichtet:
der CLI-Einstiegspunkt ist
parallel-browser-mcpProduktions-Builds schließen Tests und Smoke-Skripte aus
das veröffentlichte Paket enthält nur
dist,README.mdund.env.example
Vor der Veröffentlichung:
corepack pnpm typecheck
corepack pnpm test
corepack pnpm build
npm pack --dry-runGitHub Actions-Veröffentlichung:
.github/workflows/publish.ymlveröffentlicht auf npm bei Veröffentlichung eines GitHub-Releases oder manueller Auslösungsetzen Sie das
NPM_TOKENRepository-Geheimnis, bevor Sie den Veröffentlichungs-Workflow verwenden
Beispiele
examples/localenthält ein eigenständiges npm-Paket, das sich mit@langchain/mcp-adaptersmitparallel-browser-mcpverbindet und einen LangChain-Agenten gegen den lokalen Playwright-Anbieter ausführt.examples/browserbaseenthält ein eigenständiges npm-Paket, das LangChain mit dem veröffentlichten MCP-Server mit Browserbase-Konfiguration verbindet und den Agenten auffordert,browser_screenshotzu verwenden.examples/anchorenthält ein eigenständiges npm-Paket, das LangChain mit dem veröffentlichten MCP-Server mit Anchor-Konfiguration verbindet und den Agenten auffordert,browser_snapshotzu verwenden.examples/cloudflareenthä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_snapshotzu verwenden.Die Root-
.npmignoreschließt das vollständigeexamples-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_sessionist 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.
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