Skip to main content
Glama
etairl

parallel-browser-mcp

parallel-browser-mcp

parallel-browser-mcp — это MCP-сервер для параллельной автоматизации браузера. Он предоставляет числовую модель сессий через MCP, позволяя одному клиенту создавать и контролировать несколько сессий браузера одновременно через различных провайдеров.

Поддерживаемые провайдеры:

  • playwright для локального Chromium

  • browserbase через @browserbasehq/sdk

  • anchor через anchorbrowser

  • cloudflare через Cloudflare Browser Run

Каждая сессия браузера получает числовой ID, например 1, 2, 3, и каждый инструмент 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

Запуск в качестве CLI-пакета npm:

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_TOKEN, CLOUDFLARE_ACCOUNT_ID

Дополнительные значения по умолчанию для переменных окружения:

  • BROWSERBASE_PROJECT_ID

  • BROWSERBASE_KEEP_ALIVE

  • BROWSERBASE_CONTEXT_ID

  • BROWSERBASE_PERSIST

  • PLAYWRIGHT_STORAGE_STATE_PATH

  • PLAYWRIGHT_EXECUTABLE_PATH

  • PLAYWRIGHT_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: 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"
      }
    }
  }
}

Используйте процесс установки MCP в VS Code со стандартной конфигурацией выше или установите через CLI VS Code:

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

Пример рабочего процесса

  1. Вызовите start_session с { "provider": "playwright" }

  2. Прочитайте возвращенный id сессии

  3. Вызовите browser_navigate с { "sessionId": 1, "url": "https://example.com" }

  4. Вызовите любой дополнительный инструмент browser_* с тем же sessionId

  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

  • производственные сборки исключают тесты и 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 после подключения, поэтому инструменты браузера остаются независимыми от провайдера.

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