parallel-browser-mcp
parallel-browser-mcp
parallel-browser-mcp — это MCP-сервер для параллельной автоматизации браузера. Он предоставляет числовую модель сессий через MCP, позволяя одному клиенту создавать и контролировать несколько сессий браузера одновременно через различных провайдеров.
Поддерживаемые провайдеры:
playwrightдля локального Chromiumbrowserbaseчерез@browserbasehq/sdkanchorчерезanchorbrowsercloudflareчерез Cloudflare Browser Run
Каждая сессия браузера получает числовой ID, например 1, 2, 3, и каждый инструмент 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Запуск в качестве CLI-пакета npm:
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
}
}
}
}Необходимые учетные данные по провайдерам:
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_CHANNEL
Установка
Используйте стандартную конфигурацию ниже в любом MCP-клиенте, поддерживающем stdio:
{
"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"
}
}
}
}Используйте CLI Claude Code для добавления сервера:
claude mcp add parallel-browser-mcp npx parallel-browser-mcp@latestЕсли вам нужна конфигурация провайдера, добавьте переменные окружения в вашу конфигурацию Claude MCP, используя стандартную конфигурацию выше.
Следуйте процессу установки MCP в Claude Desktop и используйте стандартную конфигурацию выше в локальном файле конфигурации MCP.
Используйте CLI Codex:
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"]Используйте интерактивный процесс CLI Copilot:
/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:
npxargs:
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"
}
}
}
}Используйте процесс установки MCP в VS Code со стандартной конфигурацией выше или установите через CLI VS Code:
code --add-mcp '{"name":"parallel-browser-mcp","command":"npx","args":["parallel-browser-mcp@latest"]}'Пример рабочего процесса
Вызовите
start_sessionс{ "provider": "playwright" }Прочитайте возвращенный
idсессииВызовите
browser_navigateс{ "sessionId": 1, "url": "https://example.com" }Вызовите любой дополнительный инструмент
browser_*с тем жеsessionIdВызовите
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производственные сборки исключают тесты и smoke-скрипты
опубликованный пакет включает только
dist,README.mdи.env.example
Перед публикацией:
corepack pnpm typecheck
corepack pnpm test
corepack pnpm build
npm pack --dry-runПубликация через GitHub Actions:
.github/workflows/publish.ymlпубликует пакет в npm при создании релиза на GitHub или вручнуюустановите секрет репозитория
NPM_TOKENперед использованием рабочего процесса публикации
Примеры
examples/localсодержит автономный npm-пакет, который подключается кparallel-browser-mcpс помощью@langchain/mcp-adaptersи запускает агента LangChain для локального провайдера Playwright.examples/browserbaseсодержит автономный npm-пакет, который подключает LangChain к опубликованному MCP-серверу с конфигурацией Browserbase и предлагает агенту использоватьbrowser_screenshot.examples/anchorсодержит автономный npm-пакет, который подключает LangChain к опубликованному MCP-серверу с конфигурацией Anchor и предлагает агенту использоватьbrowser_snapshot.examples/cloudflareсодержит автономный npm-пакет, который подключает LangChain к опубликованному MCP-серверу с конфигурацией Cloudflare Browser Run и предлагает агенту использоватьbrowser_snapshot.Корневой файл
.npmignoreисключает всю директориюexamplesиз публикации в npm.
Тестирование
Репозиторий включает:
покрытие модульными тестами загрузки конфигурации, провайдеров, поведения реестра, инструментов сессий и основных инструментов браузера
локальный smoke-скрипт Playwright в
src/smoke/localSmoke.ts
Примечания
start_sessionнамеренно сделан простым. Поведение, специфичное для провайдера, должно настраиваться в конфигурации MCP, а не через входные данные инструментов.Сервер записывает логи в stderr, чтобы stdout оставался чистым для трафика MCP JSON-RPC.
Browserbase и Anchor Browser нормализуются до операций страницы Playwright после подключения, поэтому инструменты браузера остаются независимыми от провайдера.
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