Skip to main content
Glama

Browserless MCP Server

MCP Badge

MCP-сервер (Model Context Protocol) для Browserless.io — предоставляет API умного скрапера Browserless LLM-клиентам, таким как Claude Desktop, Cursor, VS Code и Windsurf.

Быстрый старт

Получите API-токен на browserless.io (доступен бесплатный тариф), затем подключите вашего MCP-клиента к размещённому серверу:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

Локальная установка не требуется — примеры для каждого клиента см. в разделе Конфигурация.

Related MCP server: Pinchtab MCP Wrapper

Инструменты

Инструмент

Описание

browserless_smartscraper

Извлекает содержимое одной веб-страницы и возвращает его в виде markdown или HTML. Автоматически обрабатывает страницы с большим количеством JavaScript и защиту от ботов. Для содержимого из нескольких страниц используйте browserless_crawl; чтобы получить список URL-адресов сайта, используйте browserless_map.

browserless_search

Ищет в интернете с помощью Browserless и при необходимости извлекает каждый результат. Поддерживает поиск по вебу, новостям и изображениям с геотаргетингом и временными фильтрами.

browserless_map

Обнаруживает и составляет карту всех URL-адресов сайта. Выполняет сканирование через sitemap-файлы и извлечение ссылок. Возвращает URL-адреса с опциональными заголовками и описаниями. Полезно для аудита сайтов и обнаружения контента.

browserless_crawl

Обходит сайт и извлекает содержимое всех обнаруженных страниц. Поддерживает контроль глубины, фильтрацию по путям, стратегии sitemap и настраиваемые параметры извлечения. Возвращает извлечённый контент и метаданные для каждой страницы.

browserless_performance

Запускает аудит Lighthouse для любого URL. Возвращает баллы и метрики по accessibility, best practices, performance, PWA и SEO. При необходимости можно отфильтровать по категории или задать бюджеты производительности.

browserless_function

Выполняет пользовательский JavaScript Puppeteer в облаке Browserless. Функция получает объект page и опциональный context; возвращайте { data, type }, чтобы управлять полезной нагрузкой и Content-Type.

browserless_export

Экспортирует веб-страницу через API Browserless /export. Загружает URL и возвращает его исходный контент (HTML, PDF, изображение и т.д.) с автоматическим определением content-type.

browserless_agent

Управляет постоянным сеансом браузера через ReAct-цикл: снимок страницы, планирование, пакетные взаимодействия (click, type, scroll, evaluate и т.д.) и повторный снимок. Использует селекторы на основе ref, полученные из снимков; поддерживает сценарии с несколькими вкладками, скриншоты, решение капч, живые URL-адреса, а также загрузку и скачивание файлов (перехваченные скачивания автоматически становятся handle; байты никогда не попадают в контекст).

browserless_skill

Загружает по требованию рецепт для нетривиальной механики страницы (shadow DOM, cookie consent, модальные окна, капчи, динамический контент, пропуски снимков, скриншоты, вкладки). Дополнение к browserless_agent.

browserless_profiles

Выводит список профилей аутентификации, сохранённых для текущего токена, с количеством cookie и источников. Передайте имя профиля как profile другому инструменту, чтобы переиспользовать его состояние входа.

browserless_account

Читает информацию об аккаунте, связанном с текущим токеном: тариф, баланс юнитов, расчётный период и имена API-ключей. Никогда не возвращает значения API-токенов.

browserless_usage

Читает потребление запросов и юнитов: успешные запросы, ошибки, таймауты, очередь, пиковую параллельность, капчи, байты и юниты прокси. При необходимости можно ограничить конкретными API-ключами.

browserless_sessions

Просматривает сеансы аккаунта: работающие сейчас браузеры, постоянные сеансы на выделенных воркерах, записанные повторные сеансы и интеграции с учётными данными 1Password. Также скачивает повторный сеанс как полностью автономную страницу проигрывателя rrweb (action: "replay"), которой для рендеринга не нужна сеть: она открывается в вашем браузере, если сервер запущен локально, в противном случае прикрепляется как встроенный HTML-ресурс, если он достаточно мал для отправки.

browserless_logs

Читает собственный журнал Browserless с недавними запросами: что пытались выполнить, была ли ошибка, почему выполнение остановилось, сколько времени это заняло и сколько стоило. Инструмент для диагностики запуска, завершившегося ошибкой на стороне Browserless. Доступный период зависит от тарифа.

Навыки

Сервер поставляется со встроенной библиотекой навыков — рецептов по требованию, которые агент может загружать для обработки сложных механик страниц. Навыки автоматически внедряются в ответы browserless_agent, когда срабатывают их триггеры (например, агент сталкивается с cookie-баннером), а также могут загружаться вручную через инструмент browserless_skill.

Навык

Источник

Назначение

shadow-dom

src/skills/shadow-dom.md

Глубокие селекторы и нацеливание на iframe через теневые корни.

cookie-consent

src/skills/cookie-consent.md

Рецепты закрытия от конкретных вендоров (OneTrust, Cookiebot, Didomi, TrustArc и т.д.).

modals

src/skills/modals.md

Закрытие диалогов, alertdialog и эвристики для кнопок закрытия оверлеев.

captchas

src/skills/captchas.md

Использование команды solve, семантика ответов и пути эскалации (только Cloud).

dynamic-content

src/skills/dynamic-content.md

Выбор подходящего метода wait* для async/AJAX/SPA-контента.

snapshot-misses

src/skills/snapshot-misses.md

Обработка обрезанных/пустых снимков и контента, отображаемого изображением.

screenshots

src/skills/screenshots.md

Когда делать скриншот, а когда снимок; выбор области и формата.

tabs

src/skills/tabs.md

Сценарии с несколькими вкладками и просмотр без переключения через targetId.

Загрузите навык явно:

{
  "method": "tools/call",
  "params": {
    "name": "browserless_skill",
    "arguments": { "id": "cookie-consent" },
  },
}

Резидентный прокси (browserless_agent)

Передайте объект proxy верхнего уровня в browserless_agent, чтобы направить сеанс через резидентные IP-адреса. Применяйте это, когда целевые сайты блокируют по IP трафик из дата-центров.

{
  "method": "tools/call",
  "params": {
    "name": "browserless_agent",
    "arguments": {
      "method": "goto",
      "params": { "url": "https://example.com" },
      "proxy": {
        "proxy": "residential",
        "proxyCountry": "us",
        "proxySticky": true,
      },
    },
  },
}

Поле

Примечания

proxy

"residential" — единственное поддерживаемое сегодня значение.

proxyCountry

ISO-2 код страны ("us", "de"). Автоматически нормализуется к нижнему регистру. Значения, не являющиеся буквами, отклоняются.

proxyState

Название штата США с пробелами, заменёнными на подчёркивания ("new_york"). Доступно только на платных тарифах — неподходящие токены получают 401.

proxyCity

Целевой город. Доступно только на платных/корпоративных тарифах — неподходящие токены получают 401.

proxySticky

Стабильный IP, пока остаётся открытым нижележащий WebSocket. Переподключения (обрыв из-за простоя, кратковременный сбой сети, падение браузера) выделяют новый sticky id и новый IP.

proxyLocaleMatch

Сопоставляет локаль navigator со страной IP прокси.

proxyPreset

Именованный пресет (например, "px_amazon01"). Доступные пресеты зависят от тарифа — чтобы получить свой список, обратитесь в поддержку Browserless.

externalProxyServer

Собственный апстрим, например http://user:pass@host:port. Должен быть http:// или https://.

Примечание: для proxyCountry / proxyState / proxyCity / proxySticky / proxyLocaleMatch / proxyPreset требуется указывать либо proxy: "residential", либо externalProxyServer. MCP отклоняет такую комбинацию на этапе валидации; при её отсутствии API будет молча их игнорировать.

Объект proxy считывается один раз при создании сессии. Чтобы изменить его, вызовите close и начните новую сессию — клиент агента привязывает сессии к отпечатку proxy, поэтому передача другой конфигурации приведёт к новому WebSocket.

Конфигурация

Сервер размещён по адресу https://mcp.browserless.io/mcp. Аутентификация выполняется через заголовки (рекомендуется) или параметр запроса ?token=.

Устанавливаете через ИИ-агента? См. install.md с инструкциями по настройке, понятными агенту.

Использование заголовков (рекомендуется для клиентов, которые их поддерживают):

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here"
      }
    }
  }
}

Использование параметров запроса в URL (для клиентов, например пользовательских коннекторов Claude.ai, которые принимают только URL):

https://mcp.browserless.io/mcp?token=your-token-here

Чтобы подключиться к конкретному региональному endpoint Browserless, добавьте заголовок x-browserless-api-url или параметр запроса browserlessUrl:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp",
      "headers": {
        "Authorization": "Bearer your-token-here",
        "x-browserless-api-url": "https://production-lon.browserless.io"
      }
    }
  }
}
https://mcp.browserless.io/mcp?token=your-token-here&browserlessUrl=https://production-lon.browserless.io

Если присутствуют и заголовки, и параметры запроса, приоритет имеют заголовки.

Claude Desktop

Добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

Cursor

Добавьте в настройки Cursor MCP:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

VS Code

Добавьте в настройки VS Code (settings.json):

{
  "mcp": {
    "servers": {
      "browserless": {
        "url": "https://mcp.browserless.io/mcp",
        "headers": {
          "Authorization": "Bearer your-token-here"
        }
      }
    }
  }
}

Windsurf

Добавьте в конфигурацию Windsurf MCP:

{
  "mcpServers": {
    "browserless": {
      "url": "https://mcp.browserless.io/mcp?token=your-token-here"
    }
  }
}

Самостоятельный хостинг

Сервер также можно запускать локально — это полезно для развёртываний в изолированной среде или для подключения к самостоятельному экземпляру Browserless. Клонируйте этот репозиторий и соберите Docker-образ:

docker build -f docker/Dockerfile -t browserless-mcp .

docker run \
  -e BROWSERLESS_TOKEN=your-token \
  -e BROWSERLESS_API_URL=https://your-browserless-instance.example.com \
  -p 8080:8080 \
  browserless-mcp

Затем укажите вашему MCP-клиенту адрес http://localhost:8080/mcp, используя ту же аутентификацию через заголовки/параметры запроса, что и выше.

Переменные окружения для самостоятельного хостинга

Переменная

Обязательная

По умолчанию

Описание

BROWSERLESS_TOKEN

Да

Ваш API-токен Browserless

BROWSERLESS_API_URL

Нет

https://production-sfo.browserless.io

API endpoint (для самостоятельного экземпляра Browserless)

BROWSERLESS_API_SERVER

Нет

https://api.browserless.io

Хост API аккаунта — обеспечивает работу browserless_account, _usage, _sessions и _logs. Отличается от BROWSERLESS_API_URL, который представляет собой среду выполнения браузера

BROWSERLESS_REPLAY_CDN_URL

Нет

https://d3uycvholi7jx8.cloudfront.net/

Origin, раздающий артефакты воспроизведения сессий. Пути воспроизведения проверяются на соответствие этому origin

TRANSPORT

Нет

stdio

Тип транспорта: stdio или httpStream

PORT

Нет

8080

Порт HTTP-сервера (только для транспорта httpStream)

BROWSERLESS_TIMEOUT

Нет

30000

Таймаут запроса в миллисекундах

BROWSERLESS_MAX_RETRIES

Нет

3

Максимальное количество повторов для неудачных запросов

BROWSERLESS_CACHE_TTL

Нет

60000

Время жизни кэша в миллисекундах (0 для отключения)

AMPLITUDE_API_KEY

Нет

API-ключ проекта Amplitude. Отправляет аналитику использования MCP — события жизненного цикла SDK, а также собственные события инструментов и навыков

MCP_COMPLIANCE_MODE

Нет

не задано (полная поверхность)

Предоставляет урезанную поверхность, соответствующую требованиям каталога. Fail closed: любое установленное значение, кроме false/0/no/off, включает режим

Ресурсы MCP

URI ресурса

Описание

browserless://api-docs

Документация API Smart Scraper

browserless://status

Актуальный статус работоспособности сервиса

Промпты MCP

Промпт

Описание

scrape-url

Скрапить веб-страницу и обобщать её содержимое

extract-content

Извлекать конкретную информацию с веб-страницы

Разработка

npm install
npm run build
npm test
npm run coverage

Тесты

Тестовый набор использует Mocha вместе с Chai и Sinon. Спецификации находятся рядом с кодом в test/ (test/lib/, test/tools/, test/prompts/, test/resources/, test/integration/) и выполняются на скомпилированном выводе в build/.

  • npm test — компилирует TypeScript и запускает каждый *.spec.js в build/test/. Внешние сервисы и BROWSERLESS_TOKEN не требуются; API-клиент заменён заглушкой.

  • npm run coverage — запускает набор под управлением c8 с пороговыми значениями, настроенными в package.json (строки ≥ 80%, ветви ≥ 70%, функции ≥ 80%).

Тесты запускаются автоматически для каждого pull request через Test workflow на Node 24. Перед слиянием PR должны сохранять набор тестов зелёным.

API-токен

Получите свой API-токен на сайте browserless.io. Токен аутентифицирует все запросы к API Browserless.

Лицензия

SSPL-1.0

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for browser automation with anti-detection. Scout pages, find elements, interact with websites, and monitor network traffic from any AI client that supports the Model Context Protocol.
    21
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Remote MCP server for web scraping with anti-bot evasion. Provides stealth HTTP fetching, headless browser with Cloudflare bypass, CSS selectors, YouTube transcripts, and Markdown conversion.
    MIT

View all related MCP servers

Related MCP Connectors

  • Zenrows MCP server — Fetch, Extract, Batch, and Browser Sessions for AI coding assistants

  • Official Octoparse MCP server for template discovery, cloud tasks, and structured data export.

  • Hosted real Google Chrome MCP with per-user persistent state. Navigate, click, type, screenshot.

View all MCP Connectors

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/browserless/browserless-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server