Leapfrog MCP
Проблема
Playwright MCP отправляет ~14 000 токенов для страницы с большим объемом контента, например Hacker News. Большая часть этого — шум. Ваше контекстное окно заполняется. Ваш агент запутывается. Вы платите за это.
Leapfrog отправляет ~1 400 токенов. Та же страница. Та же информация. До 10 раз меньше шума.
┌─────────────────────────────────────────────────────┐
│ Playwright MCP │
│ ████████████████████████████████████████ ~14,000 │
│ │
│ Leapfrog │
│ █████ ~1,400 │
└─────────────────────────────────────────────────────┘
tokens per page (Hacker News, real test)Экономия составляет от 2 до 10 раз в зависимости от сложности страницы. Страницы с большим объемом контента дают наибольший выигрыш. Плотные формы — наименьший. Медианное значение на реальных сайтах составляет ~4-5 раз.
Быстрый старт
npx leapfrog --doctor # verify everything works
npx leapfrog --stealth-audit # test all 19 stealth patches
npx leapfrog --config # print MCP config to pasteДобавьте в ~/.mcp.json (для Claude Code) или в конфигурацию MCP вашего редактора:
{
"leapfrog": {
"command": "npx",
"args": ["-y", "leapfrog"],
"env": {
"LEAP_MAX_SESSIONS": "15",
"LEAP_TILE": "true",
"LEAP_HUD": "true",
"LEAP_SOUND": "true",
"LEAP_AUTO_CONSENT": "true"
}
}
}Leapfrog использует playwright-core (15 МБ) вместо playwright (1,6 ГБ) и не включает в себя браузер. Либо:
Установите
LEAP_CHANNEL=chrome, чтобы использовать установленный у вас Chrome/ChromiumЛибо выполните
npx playwright-core install chromiumдля установки бинарного файла Chromium
Матрица функций
Leapfrog | Playwright MCP | agent-browser | |
Токенов на страницу | ~1 200-2 500 | ~3 800-15 000 | ~300 |
Параллельные сессии | 15 | 1 | 1 |
Изоляция сессий | Да | Нет | Нет |
Несколько вкладок / всплывающие окна | Да | Нет | Нет |
Перехват сети | Да | Нет | Нет |
Захват консоли | Да | Да | Нет |
Скрытность / анти-бот | Да | Нет | Нет |
Умное ожидание (5 типов) | Да | Базовое | Нет |
Восстановление после сбоев | Да | Нет | Нет |
Пакетные действия (100/вызов) | Да | Нет | Нет |
Внедрение скриптов инициализации | Да | Да | Нет |
Перетаскивание / загрузка / изменение размера | Да | Да | Нет |
Прокси для каждой сессии | Да | Нет | Нет |
Гуманизация (по выбору) | Да | Нет | Нет |
Повторное использование профиля авторизации | Да | Нет | Нет |
Сохранение файлов cookie | Да | Нет | Нет |
Классификация страниц (18) | Да | Нет | Нет |
Память сессии | Да | Нет | Нет |
Интеллект API | Да | Нет | Нет |
Адаптивное ожидание + автоповтор | Да | Нет | Нет |
Автоматическое решение CAPTCHA | Да | Нет | Нет |
Самообучение (9 измерений) | Да | Нет | Нет |
Запись / воспроизведение | Да | Нет | Нет |
Извлечение пагинации | Да | Нет | Нет |
Инкрементальные снимки (diff) | Да | Нет | Нет |
CLI для самопроверки скрытности | Да | Нет | Нет |
Защита от SSRF | Да | Нет | Нет |
Скрытность
Leapfrog поставляется с 19 патчами для защиты от обнаружения, включенными по умолчанию (LEAP_STEALTH=true). Они охватывают векторы, которые на самом деле проверяют сервисы отпечатков, такие как CreepJS и fingerprint-pro:
Бренды Client Hints (удаляет HeadlessChrome)
navigator.webdriverпринудительно устанавливается вundefinedWebGL vendor/renderer (заменяет SwiftShader на реальные строки GPU)
Connection RTT (ненулевое)
Время закрытия оповещений (задержка со скоростью человека)
Смещение внешней/внутренней высоты окна
Заполнение массива MIME-типов
Вывод платформы из user agent
Эмуляция
chrome.appЗащита iframe
contentWindowСпуфинг медиа-кодеков (
canPlayType)Переопределение
document.hasFocus()Удаление комментариев Source URL
Сосуществование пользовательского UA + скрытности (пользовательские user agents больше не отключают контекст скрытности)
Обнаружение CDP
Runtime.enable(фильтрError.prepareStackTrace)Спуфинг Permissions API (20+ типов разрешений)
Шум отпечатков AudioContext (
getChannelData/getFloatFrequencyData)Предотвращение утечки IP через WebRTC (фильтрация ICE-кандидатов)
Спуфинг отпечатков перечисления шрифтов
Управление скрытностью для каждой сессии: передайте stealth: false в session_create, чтобы отключить её для конкретной сессии.
Гуманизация (Экспериментально)
Установите LEAP_HUMANIZE=true, чтобы включить взаимодействие с браузером, похожее на человеческое. Это опциональная функция, которая добавляет задержку в обмен на более реалистичное поведение. Шесть модулей:
Мышь — траектории кривых Безье с таймингом по закону Фиттса и микро-дрожанием
Печать — логнормальные задержки между нажатиями клавиш (медиана 200 мс), время удержания клавиши, скорость с учетом биграмм, ролловер-печать
Прокрутка — имитация инерции с разгоном и затуханием импульса (физика тачпада/колеса мыши)
Пауза — задержки «размышления» между действиями, имитирующие когнитивные промежутки
Отпечаток — генерация согласованного отпечатка браузера (платформа, память устройства, GPU, часовой пояс)
Утилиты — общие математические примитивы (распределение Гаусса Бокса-Мюллера и др.)
Классификация страниц
Каждый вызов navigate и snapshot автоматически классифицирует тип страницы с использованием взвешенной оценки сигналов (LLM не требуется). 18 типов:
login · search-results · product · product-list · checkout · checkout · article · dashboard · form · error · challenge · landing · documentation · profile · media · feed · qa · ecommerce · unknown
Классификация обеспечивает более умное извлечение снимков — страницы входа показывают поля форм, статьи — контент, панели управления — интерактивные элементы.
Интеллект системы управления
Система отслеживает каждое действие в сессии и классифицирует результаты:
Классификация результата действия —
SUCCESS,SILENT_CLICK,NAVIGATION,WRONG_ELEMENT,BLOCKED,ERROR,PENDINGОбнаружение перенаправления на ботов — определяет, когда сайт перенаправляет на страницу проверки или блокировки после действия
Обнаружение циклов — предупреждает, когда агент застревает, нажимая на один и тот же элемент, переключаясь между URL или повторяя действия
Память сессии — инструмент
session_memoryвспоминает действия после сжатия контекстного окна
Сохранение файлов cookie
Постоянные профили браузера теперь используют context.cookies() + addCookies() вместо storageState(), который возвращает пустоту в постоянных контекстах. Состояние авторизации сохраняется между сессиями.
Адаптивное ожидание + эскалация скрытности
Навигация автоматически повторяется с резервными стратегиями, если страницы не загружаются:
Попытка
load(самая быстрая) — если пусто, повтор сnetworkidle(лимит 10 с)Если
networkidleистекает (Amazon, сайты с большим количеством рекламы), переход кdomcontentloadedЕсли заблокировано/вызвана проверка, эскалация скрытности: случайные задержки → ожидание JS-проверки → смена сессии со свежим отпечатком
Профильные сессии (авторизованные) никогда не уничтожаются — жесткое ограничение на уровне 2
Отключите с помощью autoRetry: false в navigate. Управляйте максимальной эскалацией с помощью maxRetryLevel (0-5, по умолчанию 3).
Запись / воспроизведение
Экспортируйте историю действий сессии как воспроизводимую запись, затем воспроизводите её в новых сессиях:
session_export— создает параметризованный JSON или скрипт Playwright из истории сессии. Ссылки@eNразрешаются в стабильные CSS-селекторы. Автоматически определяет электронные письма, пароли, URL как{{placeholders}}.session_replay— воспроизводит запись с переопределением параметров. ПоддерживаетonError: 'stop'или'skip'.
Превратите разовые рабочие процессы агента в многоразовую автоматизацию.
Извлечение пагинации
Извлекайте данные с нескольких страниц за один вызов инструмента:
Click-next — автоматическое обнаружение кнопок «Далее», ссылок пагинации, кнопок «Загрузить еще»
Бесконечная прокрутка — прокручивает и ждет нового контента через сравнение хеша DOM
Шаблон URL — увеличивает
?page={page}или пользовательские шаблоны
Заменяет 3-4 вызова инструментов на страницу. Лимит: 50 страниц, 100 тыс. символов всего. Останавливается при: отсутствии кнопки «Далее», пустой странице, дублирующемся контенте или обнаружении бота.
Инкрементальные снимки
Инструмент diff возвращает только то, что изменилось с момента последнего снимка — добавления, удаления, изменения. Огромная экономия токенов для мониторинга и рабочих процессов опроса.
Наложения HUD (LEAP_HUD=true)
При запуске в видимом режиме Leapfrog накладывает визуальную обратную связь на каждую сессию:
Круг клика — расширяющийся зеленый круг в координатах клика (только действия агента)
Масштабирование цели — браузер кратковременно увеличивает масштаб до 1.15x на нажатом элементе, чтобы агенты (и люди) могли визуально отслеживать происходящее в окнах
Прокрутка к цели —
scrollIntoViewперед кликами, чтобы вы видели, на что собирается нажать агент
Минималистично по дизайну. Никаких рамок, статус-баров, наложения курсора — только важная обратная связь.
Многотерминальная плитка (LEAP_TILE=true)
Несколько экземпляров Leapfrog делят экран через файловую координацию. Каждый экземпляр отслеживает свои окна, а TilesCoordinator назначает глобальные слоты сетки — никакого перекрытия, никакой ручной расстановки. Установите LEAP_TILE=true (или LEAP_TILE=master для основного экземпляра). Отступы между плитками настраиваются с помощью LEAP_TILE_PADDING (по умолчанию 8px).
Вмешательство человека
Leapfrog автоматически обнаруживает ситуации, требующие участия человека — CAPTCHA, формы входа, перенаправления OAuth, проверки Cloudflare — и пытается решить их самостоятельно перед паузой.
Сначала решает автоматически: нажимает чекбоксы reCAPTCHA, кнопки проверки Cloudflare, общие кнопки подтверждения/продолжения, затем повторная попытка — всё до того, как попросить о помощи
Внешние решатели: установите
LEAP_CAPTCHA_PROVIDER+LEAP_CAPTCHA_API_KEYдля интеграции CapSolver, 2Captcha или NopeCHAУчится на том, что работает: запоминает, какой метод решения сработал для домена, и первым делом пробует известный хороший метод при повторном посещении
Обнаруживает reCAPTCHA, hCaptcha, Turnstile, формы входа, перенаправления OAuth, проверки Cloudflare
Заголовок вкладки меняется на "NEEDS HUMAN", когда требуется вмешательство
Инструмент
wait_for_human— агент вызывает, когда застревает, блокирует до тех пор, пока вы не решите проблему или не перейдете дальше
Автоматическое отклонение согласия на cookie (LEAP_AUTO_CONSENT=true)
Автоматически отклоняет баннеры согласия на cookie для 10 фреймворков (OneTrust, CookieBot, TrustArc, Quantcast, Didomi, Cookielaw, Osano, Usercentrics + общие), плюс резервный вариант сопоставления текста. Кэширование селекторов для каждого домена для мгновенного воспроизведения при повторном посещении.
Трассировка (LEAP_TRACE=true)
Трассировка Playwright для каждой сессии со скриншотами + снимками DOM. Экспорт ZIP-файлов, просматриваемых на trace.playwright.dev через инструмент session_export_trace. Автоматическое сохранение при уничтожении сессии.
Самообучение
Leapfrog учится на каждом посещении. Знания о домене сохраняются в ~/.leapfrog/domains/{domain}.json — 9 измерений, всё автоматически:
# | Измерение | Что делает |
1 | Стратегии ожидания | Изучает оптимальный метод ожидания для домена ( |
2 | Уровни скрытности | Автоматически повышает уровень с 0 до 3 при обнаружении блокировок (2+ блокировки за 1 час). Начинает с изученного уровня при повторном посещении |
3 | Селекторы согласия | Запоминает селекторы закрытия баннеров cookie, автоматически нажимает при повторном посещении |
4 | Решение проверок | Записывает, какой метод CAPTCHA сработал (чекбокс reCAPTCHA, проверка Cloudflare и т.д.), пробует известный хороший метод первым |
5 | Подавление стабильных элементов | Идентифицирует элементы навигации/футера/сайдбара, увиденные 3+ раза, подавляет их в снимках (экономия 30-40% токенов на зрелых доменах) |
6 | Исправление селекторов | Запоминает отпечатки элементов → селекторы, исправляет сломанные ссылки между посещениями |
7 | Кэширование API-эндпоинтов | Обнаруженные API-эндпоинты сохраняются между сессиями |
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/anthonybono21-cloud/leapfrog'
If you have feedback or need assistance with the MCP directory API, please join our Discord server