Skip to main content
Glama

El problema

El MCP de Playwright envía ~14.000 tokens para una página con mucho contenido como Hacker News. La mayor parte es ruido. Tu ventana de contexto se llena. Tu agente se confunde. Y tú pagas por ello.

Leapfrog envía ~1.400 tokens. Misma página. Misma información. Hasta 10 veces menos ruido.

┌─────────────────────────────────────────────────────┐
│  Playwright MCP                                     │
│  ████████████████████████████████████████  ~14,000   │
│                                                     │
│  Leapfrog                                           │
│  █████                                    ~1,400    │
└─────────────────────────────────────────────────────┘
          tokens per page (Hacker News, real test)

El ahorro oscila entre 2 y 10 veces dependiendo de la complejidad de la página. Las páginas con mucho contenido obtienen los mayores beneficios. Los formularios densos obtienen los menores. La mediana en sitios del mundo real es de ~4-5x.

Inicio rápido

npx leapfrog --doctor          # verify everything works
npx leapfrog --stealth-audit   # test all 19 stealth patches
npx leapfrog --config          # print MCP config to paste

Añádelo a ~/.mcp.json (Claude Code) o a la configuración MCP de tu editor:

{
  "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 utiliza playwright-core (15 MB) en lugar de playwright (1,6 GB) y no incluye un navegador. Puedes:

  • Establecer LEAP_CHANNEL=chrome para usar tu Chrome/Chromium instalado

  • O ejecutar npx playwright-core install chromium para instalar el binario de Chromium incluido

Matriz de características

Leapfrog

Playwright MCP

agent-browser

Tokens por página

~1.200-2.500

~3.800-15.000

~300

Sesiones paralelas

15

1

1

Aislamiento de sesión

No

No

Multipestaña / popups

No

No

Interceptación de red

No

No

Captura de consola

No

Sigilo / anti-bot

No

No

Espera inteligente (5 tipos)

Básico

No

Recuperación de fallos

No

No

Acciones por lotes (100/llamada)

No

No

Inyección de script de inicio

No

Arrastrar / subir / redimensionar

No

Proxy por sesión

No

No

Humanización (opcional)

No

No

Reutilización de perfil de auth

No

No

Persistencia de cookies

No

No

Clasificación de página (18)

No

No

Memoria de sesión

No

No

Inteligencia de API

No

No

Espera adaptativa + reintento auto

No

No

Resolución auto de CAPTCHA

No

No

Automejora (9 dimensiones)

No

No

Grabar / reproducir

No

No

Extracción de paginación

No

No

Instantáneas incrementales (diff)

No

No

CLI de autotest de sigilo

No

No

Protección SSRF

No

No

Sigilo

Leapfrog incluye 19 parches anti-detección habilitados por defecto (LEAP_STEALTH=true). Estos cubren los vectores que los servicios de huella digital como CreepJS y fingerprint-pro realmente verifican:

  • Marcas de Client Hints (elimina HeadlessChrome)

  • navigator.webdriver forzado a undefined

  • Vendor/renderer de WebGL (reemplaza SwiftShader con cadenas de GPU reales)

  • RTT de conexión (distinto de cero)

  • Tiempo de cierre de alertas (retraso a velocidad humana)

  • Desplazamiento de altura exterior/interior de la ventana

  • Población de matriz de tipos MIME

  • Inferencia de plataforma desde el agente de usuario

  • Emulación de chrome.app

  • Protección de contentWindow de iframe

  • Spoofing de códecs multimedia (canPlayType)

  • Sobrescritura de document.hasFocus()

  • Eliminación de comentarios de URL de origen

  • Coexistencia de UA personalizado + sigilo (los agentes de usuario personalizados ya no desactivan el contexto de sigilo)

  • Detección de Runtime.enable de CDP (filtro Error.prepareStackTrace)

  • Spoofing de API de permisos (más de 20 tipos de permisos)

  • Ruido de huella digital de AudioContext (getChannelData/getFloatFrequencyData)

  • Prevención de fugas de IP de WebRTC (filtrado de candidatos ICE)

  • Spoofing de huella digital de enumeración de fuentes

Control de sigilo por sesión: pasa stealth: false en session_create para desactivarlo en una sesión específica.

Humanización (Experimental)

Establece LEAP_HUMANIZE=true para habilitar la interacción con el navegador similar a la humana. Es opcional y añade latencia a cambio de un comportamiento más realista. Seis módulos:

  • Ratón — Rutas de curva de Bézier con temporización de la Ley de Fitts y fluctuación de micro-temblores

  • Escritura — Retrasos entre teclas log-normales (mediana de 200 ms), tiempo de permanencia de tecla, velocidad consciente de bigramas, escritura con rollover

  • Desplazamiento — Simulación inercial con aceleración y decaimiento de momento (física de panel táctil/rueda de ratón)

  • Pausa — Retrasos de "pensamiento" entre acciones que simulan brechas cognitivas entre acciones

  • Huella digital — Generación coherente de huella digital del navegador (plataforma, memoria del dispositivo, GPU, zona horaria)

  • Utilidades — Primitivas matemáticas compartidas (Box-Muller gaussiano, distribuciones)

Clasificación de página

Cada llamada a navigate y snapshot clasifica automáticamente el tipo de página usando puntuación de señal ponderada (no requiere LLM). 18 tipos:

login · search-results · product · product-list · checkout · article · dashboard · form · error · challenge · landing · documentation · profile · media · feed · qa · ecommerce · unknown

La clasificación permite una extracción de instantáneas más inteligente: las páginas de inicio de sesión muestran campos de formulario, los artículos muestran contenido, los paneles muestran elementos interactivos.

Inteligencia del arnés

El arnés rastrea cada acción en una sesión y clasifica los resultados:

  • Clasificación del resultado de la acciónSUCCESS, SILENT_CLICK, NAVIGATION, WRONG_ELEMENT, BLOCKED, ERROR, PENDING

  • Detección de redirección de bot — detecta cuando un sitio redirige a una página de desafío o bloqueo después de una acción

  • Detección de bucles — advierte cuando el agente está atascado haciendo clic en el mismo elemento, saltando entre URLs o repitiendo acciones

  • Memoria de sesión — la herramienta session_memory recuerda acciones después de la compresión de la ventana de contexto

Persistencia de cookies

Los perfiles de navegador persistentes ahora usan context.cookies() + addCookies() en lugar de storageState(), que devuelve vacío en contextos persistentes. El estado de autenticación sobrevive entre sesiones.

Espera adaptativa + Escalada de sigilo

La navegación reintenta automáticamente con estrategias de respaldo cuando las páginas no se cargan:

  1. Intenta load (más rápido): si está vacío, reintenta con networkidle (límite de 10 s)

  2. Si networkidle agota el tiempo de espera (Amazon, sitios con muchos anuncios), vuelve a domcontentloaded

  3. Si está bloqueado/desafiado, escala el sigilo: retrasos aleatorios → espera el desafío JS → rota la sesión con una nueva huella digital

  4. Las sesiones de perfil (autenticadas) nunca ven destruida su sesión: límite estricto en el Nivel 2

Desactívalo con autoRetry: false en navigate. Controla la escalada máxima con maxRetryLevel (0-5, por defecto 3).

Grabar / Reproducir

Exporta el historial de acciones de una sesión como una grabación reproducible, luego reprodúcela en nuevas sesiones:

  • session_export — crea un JSON parametrizado o un script de Playwright a partir del historial de la sesión. Las referencias @eN se resuelven en selectores CSS estables. Detecta automáticamente correos electrónicos, contraseñas y URLs como {{placeholders}}.

  • session_replay — reproduce una grabación con anulaciones de parámetros. Admite onError: 'stop' o 'skip'.

Convierte flujos de trabajo de agentes únicos en automatizaciones reutilizables.

Extracción de paginación

Extrae datos a través de múltiples páginas en una sola llamada de herramienta:

  • Click-next — detecta automáticamente botones "Siguiente", enlaces de paginación, botones "Cargar más"

  • Desplazamiento infinito — se desplaza y espera nuevo contenido mediante comparación de hash DOM

  • Patrón de URL — incrementa ?page={page} o patrones personalizados

Reemplaza 3-4 llamadas de herramienta por página. Límite: 50 páginas, 100 mil caracteres en total. Se detiene si: no hay botón siguiente, página vacía, contenido duplicado o detección de bot.

Instantáneas incrementales

La herramienta diff devuelve solo lo que cambió desde la última instantánea: adiciones, eliminaciones, cambios. Ahorro masivo de tokens para flujos de trabajo de monitoreo y sondeo.

Superposiciones HUD (LEAP_HUD=true)

Al ejecutar en modo visible, Leapfrog superpone retroalimentación visual en cada sesión:

  • Onda de clic — círculo verde que se expande en las coordenadas del clic (solo acciones del agente)

  • Zoom al objetivo — el navegador hace zoom a 1.15x en el elemento clicado brevemente para que los agentes (y humanos) puedan rastrear visualmente lo que sucede en las ventanas en mosaico

  • Desplazamiento al objetivoscrollIntoView antes de los clics para que puedas ver lo que el agente está a punto de clicar

Diseño minimalista. Sin bordes, sin barras de estado, sin superposición de cursor: solo la retroalimentación que importa.

Mosaico multiterminal (LEAP_TILE=true)

Varias instancias de Leapfrog comparten la pantalla mediante coordinación basada en archivos. Cada instancia rastrea sus propias ventanas y un TilesCoordinator asigna ranuras de cuadrícula globales: sin superposición, sin disposición manual. Establece LEAP_TILE=true (o LEAP_TILE=master para la instancia principal). El relleno entre mosaicos es configurable con LEAP_TILE_PADDING (por defecto 8px).

Intervención humana

Leapfrog detecta automáticamente situaciones que necesitan un humano (CAPTCHAs, formularios de inicio de sesión, redirecciones OAuth, desafíos de Cloudflare) e intenta resolverlo por sí mismo antes de pausar.

  • Resuelve automáticamente primero: hace clic en casillas de verificación reCAPTCHA, botones de verificación de Cloudflare, botones genéricos de verificar/continuar, luego un reintento de segunda pasada, todo antes de pedir ayuda

  • Solucionadores externos: establece LEAP_CAPTCHA_PROVIDER + LEAP_CAPTCHA_API_KEY para integración con CapSolver, 2Captcha o NopeCHA

  • Aprende lo que funciona: recuerda qué método de resolución tuvo éxito por dominio e intenta el método conocido como bueno primero al volver a visitar

  • Detecta reCAPTCHA, hCaptcha, Turnstile, formularios de inicio de sesión, redirecciones OAuth, desafíos de Cloudflare

  • El título de la pestaña cambia a "NEEDS HUMAN" cuando se necesita intervención

  • Herramienta wait_for_human: el agente llama cuando está atascado, bloquea hasta que lo resuelvas o navegues más allá

Auto-cierre de consentimiento de cookies (LEAP_AUTO_CONSENT=true)

Cierra automáticamente los banners de consentimiento de cookies en 10 marcos (OneTrust, CookieBot, TrustArc, Quantcast, Didomi, Cookielaw, Osano, Usercentrics, + genérico) más un respaldo de coincidencia de texto. Caché de selectores por dominio para una reproducción instantánea al volver a visitar.

Rastreo (LEAP_TRACE=true)

Rastreo de Playwright por sesión con capturas de pantalla + instantáneas DOM. Exporta archivos ZIP visibles en trace.playwright.dev a través de la herramienta session_export_trace. Se guarda automáticamente al destruir la sesión.

Automejora

Leapfrog aprende de cada visita. El conocimiento por dominio persiste en ~/.leapfrog/domains/{domain}.json: 9 dimensiones, todas automáticas:

#

Dimensión

Qué hace

1

Estrategias de espera

Aprende el método de espera óptimo por dominio (networkidle vs domcontentloaded vs load) + temporización promedio

2

Niveles de sigilo

Escala automáticamente de 0 a 3 cuando se detectan bloqueos (2+ bloqueos en 1 hora). Comienza en el nivel aprendido al volver a visitar

3

Selectores de consentimiento

Recuerda los selectores de cierre de banners de cookies, hace clic automáticamente al volver a visitar

4

Resolución de desafíos

Registra qué método de CAPTCHA funcionó (casilla reCAPTCHA, verificación Cloudflare, etc.), intenta el método conocido como bueno primero

5

Supresión de elementos estables

Identifica elementos de navegación/pie de página/barra lateral vistos en 3+ visitas, los suprime de las instantáneas (ahorro de tokens del 30-40% en dominios maduros)

6

Sanación de selectores

Recuerda huellas digitales de elementos → selectores, sana referencias rotas entre visitas

7

Caché de endpoints API

Los endpoints de API descubiertos persisten entre sesiones

8

Mapas de calor de interacción

Rastrea qué elementos usan realmente los agentes, suprime elementos no tocados (próximamente)

9

Selección de estrategia

Bandido adversario (EXP3) para optimización de configuración de sigilo (próximamente)

Desalojo LRU en 500 dominios. Inspecciona con la herramienta domain_knowledge.

Endurecimiento SSRF

La validación de URL bloquea IPs codificadas en hexadecimal (0x7f000001), notación octal (0177.0.0.1), rangos CGNAT (100.64.0.0/10) y cadenas de redirección que se resuelven en direcciones internas. Localhost y 127.0.0.0/8 están permitidos por defecto para flujos de trabajo de desarrollo local: establece LEAP_BLOCK_LOCALHOST=true para bloquearlos.

El ecosistema

Leapfrog usa metáforas de estanques para que las cosas sean memorables. Tu agente es la rana.

| Concepto

Install Server
A
security – no known vulnerabilities
A
license - permissive license
B
quality - B tier

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