Leapfrog MCP
Das Problem
Playwright MCP sendet ~14.000 Token für eine inhaltsreiche Seite wie Hacker News. Das meiste davon ist Rauschen. Ihr Kontextfenster füllt sich. Ihr Agent wird verwirrt. Sie bezahlen dafür.
Leapfrog sendet ~1.400 Token. Dieselbe Seite. Dieselben Informationen. Bis zu 10x weniger Rauschen.
┌─────────────────────────────────────────────────────┐
│ Playwright MCP │
│ ████████████████████████████████████████ ~14,000 │
│ │
│ Leapfrog │
│ █████ ~1,400 │
└─────────────────────────────────────────────────────┘
tokens per page (Hacker News, real test)Die Einsparungen liegen je nach Komplexität der Seite zwischen dem 2- und 10-fachen. Inhaltsreiche Seiten erzielen die größten Gewinne. Dichte Formulare die kleinsten. Der Median über reale Websites hinweg liegt bei ~4-5x.
Schnellstart
npx leapfrog --doctor # verify everything works
npx leapfrog --stealth-audit # test all 19 stealth patches
npx leapfrog --config # print MCP config to pasteFügen Sie dies zu Ihrer ~/.mcp.json (Claude Code) oder der MCP-Konfiguration Ihres Editors hinzu:
{
"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 verwendet playwright-core (15 MB) anstelle von playwright (1,6 GB) und bündelt keinen Browser. Entweder:
Setzen Sie
LEAP_CHANNEL=chrome, um Ihr installiertes Chrome/Chromium zu verwendenOder führen Sie
npx playwright-core install chromiumaus, um das gebündelte Chromium-Binary zu installieren
Feature-Matrix
Leapfrog | Playwright MCP | agent-browser | |
Token pro Seite | ~1.200-2.500 | ~3.800-15.000 | ~300 |
Parallele Sitzungen | 15 | 1 | 1 |
Sitzungsisolierung | Ja | Nein | Nein |
Multi-Tab / Popups | Ja | Nein | Nein |
Netzwerk-Intercept | Ja | Nein | Nein |
Konsolen-Erfassung | Ja | Ja | Nein |
Stealth / Anti-Bot | Ja | Nein | Nein |
Smart Wait (5 Typen) | Ja | Basis | Nein |
Absturzwiederherstellung | Ja | Nein | Nein |
Batch-Aktionen (100/Aufruf) | Ja | Nein | Nein |
Init-Script-Injektion | Ja | Ja | Nein |
Ziehen / Hochladen / Größe ändern | Ja | Ja | Nein |
Sitzungsspezifischer Proxy | Ja | Nein | Nein |
Humanisierung (Opt-in) | Ja | Nein | Nein |
Wiederverwendung von Auth-Profilen | Ja | Nein | Nein |
Cookie-Persistenz | Ja | Nein | Nein |
Seitenklassifizierung (18) | Ja | Nein | Nein |
Sitzungsspeicher | Ja | Nein | Nein |
API-Intelligenz | Ja | Nein | Nein |
Adaptives Warten + Auto-Retry | Ja | Nein | Nein |
CAPTCHA-Auto-Auflösung | Ja | Nein | Nein |
Selbstoptimierung (9 Dim.) | Ja | Nein | Nein |
Aufzeichnung / Wiedergabe | Ja | Nein | Nein |
Paginierungsextraktion | Ja | Nein | Nein |
Inkrementelle Snapshots (Diff) | Ja | Nein | Nein |
Stealth-Selbsttest-CLI | Ja | Nein | Nein |
SSRF-Schutz | Ja | Nein | Nein |
Stealth
Leapfrog liefert standardmäßig 19 Anti-Erkennungs-Patches (LEAP_STEALTH=true). Diese decken die Vektoren ab, die Fingerprinting-Dienste wie CreepJS und fingerprint-pro tatsächlich prüfen:
Client Hints Brands (entfernt HeadlessChrome)
navigator.webdrivererzwungen aufundefinedWebGL Vendor/Renderer (ersetzt SwiftShader durch echte GPU-Strings)
Verbindungs-RTT (nicht null)
Timing der Alert-Schließung (Verzögerung in menschlicher Geschwindigkeit)
Offset der äußeren/inneren Fensterhöhe
Auffüllung des MIME-Typ-Arrays
Plattform-Inferenz aus dem User-Agent
chrome.app-Emulationiframe
contentWindow-SchutzMedia-Codec-Spoofing (
canPlayType)document.hasFocus()-ÜberschreibungEntfernung von Source-URL-Kommentaren
Koexistenz von benutzerdefiniertem UA + Stealth (benutzerdefinierte User-Agents deaktivieren nicht mehr den Stealth-Kontext)
Erkennung von CDP
Runtime.enable(Error.prepareStackTrace-Filter)Permissions-API-Spoofing (20+ Berechtigungstypen)
AudioContext-Fingerprint-Rauschen (
getChannelData/getFloatFrequencyData)WebRTC-IP-Leak-Prävention (ICE-Kandidaten-Filterung)
Spoofing des Font-Enumeration-Fingerprints
Sitzungsspezifische Stealth-Steuerung: Übergeben Sie stealth: false in session_create, um dies für eine bestimmte Sitzung zu deaktivieren.
Humanisierung (Experimentell)
Setzen Sie LEAP_HUMANIZE=true, um eine menschenähnliche Browser-Interaktion zu ermöglichen. Dies ist ein Opt-in und fügt Latenz im Austausch für realistischeres Verhalten hinzu. Sechs Module:
Maus — Bezier-Kurvenpfade mit Fitts's Law-Timing und Mikro-Zittern
Tippen — Log-normale Verzögerungen zwischen den Tasten (200ms Median), Tastendauer, Bigram-bewusste Geschwindigkeit, Rollover-Tippen
Scrollen — Trägheitssimulation mit Anlauf und Impulsabfall (Touchpad/Mausrad-Physik)
Pause — "Denk"-Verzögerungen zwischen Aktionen, die kognitive Lücken simulieren
Fingerprint — Kohärente Browser-Fingerprint-Generierung (Plattform, Gerätespeicher, GPU, Zeitzone)
Utils — Gemeinsame mathematische Primitive (Box-Muller-Gauß, Verteilungen)
Seitenklassifizierung
Jeder navigate- und snapshot-Aufruf klassifiziert den Seitentyp automatisch mithilfe von gewichtetem Signal-Scoring (kein LLM erforderlich). 18 Typen:
login · search-results · product · product-list · checkout · article · dashboard · form · error · challenge · landing · documentation · profile · media · feed · qa · ecommerce · unknown
Die Klassifizierung ermöglicht eine intelligentere Snapshot-Extraktion — Login-Seiten zeigen Formularfelder, Artikel zeigen Inhalte, Dashboards zeigen interaktive Elemente.
Harness-Intelligenz
Das Harness verfolgt jede Aktion in einer Sitzung und klassifiziert die Ergebnisse:
Klassifizierung des Aktionsergebnisses —
SUCCESS,SILENT_CLICK,NAVIGATION,WRONG_ELEMENT,BLOCKED,ERROR,PENDINGErkennung von Bot-Weiterleitungen — erkennt, wenn eine Website nach einer Aktion auf eine Challenge- oder Block-Seite weiterleitet
Schleifenerkennung — warnt, wenn der Agent feststeckt, dasselbe Element anzuklicken, zwischen URLs hin- und herzuspringen oder Aktionen zu wiederholen
Sitzungsspeicher — das Tool
session_memoryruft Aktionen nach der Komprimierung des Kontextfensters ab
Cookie-Persistenz
Persistente Browser-Profile verwenden jetzt context.cookies() + addCookies() anstelle von storageState(), das bei persistenten Kontexten leer zurückgegeben wird. Der Auth-Status bleibt über Sitzungen hinweg erhalten.
Adaptives Warten + Stealth-Eskalation
navigate wiederholt den Vorgang automatisch mit Fallback-Strategien, wenn Seiten nicht geladen werden:
Versuche
load(am schnellsten) — falls leer, wiederhole mitnetworkidle(10s Limit)Wenn
networkidleein Timeout hat (Amazon, werbelastige Seiten), falle aufdomcontentloadedzurückWenn blockiert/gefordert, eskaliere Stealth: zufällige Verzögerungen → warte auf JS-Challenge → rotiere Sitzung mit frischem Fingerprint
Profil-Sitzungen (authentifiziert) lassen ihre Sitzung niemals zerstören — hart begrenzt auf Level 2
Deaktivieren Sie dies mit autoRetry: false bei navigate. Steuern Sie die maximale Eskalation mit maxRetryLevel (0-5, Standard 3).
Aufzeichnung / Wiedergabe
Exportieren Sie den Aktionsverlauf einer Sitzung als abspielbare Aufzeichnung und spielen Sie sie dann in neuen Sitzungen ab:
session_export— erstellt parametrisiertes JSON oder Playwright-Skript aus dem Sitzungsverlauf.@eN-Referenzen werden in stabile CSS-Selektoren aufgelöst. Erkennt automatisch E-Mails, Passwörter, URLs als{{placeholders}}.session_replay— spielt eine Aufzeichnung mit Parameter-Überschreibungen ab. UnterstütztonError: 'stop'oder'skip'.
Verwandeln Sie einmalige Agenten-Workflows in wiederverwendbare Automatisierungen.
Paginierungsextraktion
Extrahieren Sie Daten über mehrere Seiten hinweg in einem einzigen Tool-Aufruf:
Click-next — erkennt automatisch "Weiter"-Buttons, Paginierungs-Links, "Mehr laden"-Buttons
Unendliches Scrollen — scrollt und wartet auf neue Inhalte via DOM-Hash-Vergleich
URL-Muster — inkrementiert
?page={page}oder benutzerdefinierte Muster
Ersetzt 3-4 Tool-Aufrufe pro Seite. Limit: 50 Seiten, 100K Zeichen insgesamt. Stoppt bei: kein "Weiter"-Button, leere Seite, doppelter Inhalt oder Bot-Erkennung.
Inkrementelle Snapshots
Das diff-Tool gibt nur das zurück, was sich seit dem letzten Snapshot geändert hat — Hinzufügungen, Entfernungen, Änderungen. Massive Token-Einsparungen für Überwachungs- und Polling-Workflows.
HUD-Overlays (LEAP_HUD=true)
Wenn Leapfrog im Headed-Modus läuft, blendet es visuelles Feedback über jede Sitzung ein:
Klick-Welle — expandierender grüner Kreis an den Klick-Koordinaten (nur Agenten-Aktionen)
Zoom-auf-Ziel — der Browser zoomt kurzzeitig auf 1,15x auf das angeklickte Element, damit Agenten (und Menschen) visuell verfolgen können, was in gekachelten Fenstern passiert
Scroll-auf-Ziel —
scrollIntoViewvor Klicks, damit Sie sehen können, was der Agent anklicken wird
Minimalistisch im Design. Keine Ränder, keine Statusleisten, kein Cursor-Overlay — nur das Feedback, das zählt.
Multi-Terminal-Kachelung (LEAP_TILE=true)
Mehrere Leapfrog-Instanzen teilen sich den Bildschirm über dateibasierte Koordination. Jede Instanz verfolgt ihre eigenen Fenster und ein TilesCoordinator weist globale Rasterplätze zu — keine Überlappung, keine manuelle Anordnung. Setzen Sie LEAP_TILE=true (oder LEAP_TILE=master für die primäre Instanz). Der Abstand zwischen den Kacheln ist mit LEAP_TILE_PADDING konfigurierbar (Standard 8px).
Menschliches Eingreifen
Leapfrog erkennt automatisch Situationen, die einen Menschen erfordern — CAPTCHAs, Login-Formulare, OAuth-Weiterleitungen, Cloudflare-Challenges — und versucht, sich selbst zu lösen, bevor es pausiert.
Löst zuerst automatisch: klickt reCAPTCHA-Checkboxen, Cloudflare-Verifizierungs-Buttons, generische Verifizierungs-/Weiter-Buttons, dann ein zweiter Versuch — alles, bevor um Hilfe gebeten wird
Externe Löser: setzen Sie
LEAP_CAPTCHA_PROVIDER+LEAP_CAPTCHA_API_KEYfür CapSolver, 2Captcha oder NopeCHA-IntegrationLernt, was funktioniert: merkt sich, welche Lösungsmethode pro Domain erfolgreich war, und versucht beim erneuten Besuch zuerst die bekannte gute Methode
Erkennt reCAPTCHA, hCaptcha, Turnstile, Login-Formulare, OAuth-Weiterleitungen, Cloudflare-Challenges
Tab-Titel ändert sich zu "NEEDS HUMAN", wenn ein Eingreifen erforderlich ist
wait_for_human-Tool — Agent ruft an, wenn er feststeckt, blockiert, bis Sie es lösen oder weiternavigieren
Cookie-Zustimmungs-Auto-Dismiss (LEAP_AUTO_CONSENT=true)
Schließt automatisch Cookie-Zustimmungsbanner über 10 Frameworks hinweg (OneTrust, CookieBot, TrustArc, Quantcast, Didomi, Cookielaw, Osano, Usercentrics, + generisch) plus Text-Matching-Fallback. Pro-Domain-Selektor-Caching für sofortige Wiedergabe bei erneutem Besuch.
Tracing (LEAP_TRACE=true)
Sitzungsspezifisches Playwright-Tracing mit Screenshots + DOM-Snapshots. Exportieren Sie ZIP-Dateien, die unter trace.playwright.dev über das Tool session_export_trace angezeigt werden können. Automatisches Speichern bei Sitzungszerstörung.
Selbstoptimierung
Leapfrog lernt von jedem Besuch. Das Wissen pro Domain bleibt unter ~/.leapfrog/domains/{domain}.json bestehen — 9 Dimensionen, alle automatisch:
# | Dimension | Was es tut |
1 | Wartestrategien | Lernt die optimale Wartemethode pro Domain ( |
2 | Stealth-Stufen | Eskaliert automatisch 0→3, wenn Blöcke erkannt werden (2+ Blöcke in 1 Stunde). Startet bei erneutem Besuch auf der gelernten Stufe |
3 | Zustimmungs-Selektoren | Merkt sich Selektoren zum Schließen von Cookie-Bannern, klickt bei erneutem Besuch automatisch |
4 | Challenge-Lösung | Zeichnet auf, welche CAPTCHA-Methode funktioniert hat (reCAPTCHA-Checkbox, Cloudflare-Verifizierung usw.), versucht zuerst die bekannte gute Methode |
5 | Unterdrückung stabiler Elemente | Identifiziert Nav-/Footer-/Sidebar-Elemente, die bei 3+ Besuchen gesehen wurden, unterdrückt sie aus Snapshots (30-40% Token-Einsparung auf ausgereiften Domains) |
6 | Selektor-Heilung | Merkt sich Element-Fingerprints → Selektoren, heilt defekte Referenzen über Besuche hinweg |
7 | API-Endpunkt-Caching | Entdeckte API-Endpunkte bleiben über Sitzungen hinweg bestehen |
8 | Interaktions-Heatmaps | Verfolgt, welche Elemente Agenten tatsächlich verwenden, unterdrückt unberührte Elemente (in Kürze) |
9 | Strategieauswahl | Adversarial Bandit (EXP3) für Stealth-Konfigurationsoptimierung (in Kürze) |
LRU-Eviktion bei 500 Domains. Über
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