Multi-session browser MCP β 15 parallel isolated browsers, 37 tools, stealth, self-improvement.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Multi-session browser MCP for AI agents.
36 tools. 15 parallel sessions. Stealth. HUD. Self-improvement. Up to 10x fewer tokens.
npm i leapfrog-mcpΒ Β |Β Β Works with Claude Code, Cursor, Windsurf
Playwright MCP sends ~14,000 tokens for a content-heavy page like Hacker News. Most of that is noise. Your context window fills up. Your agent gets confused. You pay for it.
Leapfrog sends ~1,400 tokens. Same page. Same information. Up to 10x less noise.
Savings range from 2-10x depending on page complexity. Content-heavy pages see the biggest wins. Dense forms see the smallest. The median across real-world sites is ~4-5x.
Add to ~/.mcp.json (Claude Code) or your editor's MCP config:
Leapfrog uses playwright-core (15MB) instead of playwright (1.6GB) and does not bundle a browser. Either:
LEAP_CHANNEL=chrome to use your installed Chrome/Chromium (recommended)npx playwright-core install chromium to install the bundled Chromium binaryLEAP_CDP_ENDPOINT to connect to an already-running Chrome instance| Leapfrog | Playwright MCP | agent-browser | |
|---|---|---|---|
| Tokens per page | ~1,200-2,500 | ~3,800-15,000 | ~300 |
| Parallel sessions | 15 | 1 | 1 |
| Session isolation | Yes | No | No |
| Multi-tab / popups | Yes | No | No |
| Network intercept | Yes | No | No |
| Console capture | Yes | Yes | No |
| Stealth / anti-bot | Yes | No | No |
| Smart wait (5 types) | Yes | Basic | No |
| Crash recovery | Yes | No | No |
| Batch actions (100/call) | Yes | No | No |
| Init script injection | Yes | Yes | No |
| Drag / upload / resize | Yes | Yes | No |
| Per-session proxy | Yes | No | No |
| Humanization (opt-in) | Yes | No | No |
| Auth profile reuse | Yes | No | No |
| Cookie persistence | Yes | No | No |
| Page classification (18) | Yes | No | No |
| Session memory | Yes | No | No |
| API intelligence | Yes | No | No |
| Adaptive wait + auto-retry | Yes | No | No |
| CAPTCHA auto-resolve | Yes | No | No |
| Self-improvement (9 dims) | Yes | No | No |
| Record / replay | Yes | No | No |
| Pagination extraction | Yes | No | No |
| Incremental snapshots (diff) | Yes | No | No |
| Stealth self-test CLI | Yes | No | No |
| SSRF protection | Yes | No | No |
Leapfrog ships 19 anti-detection patches enabled by default (LEAP_STEALTH=true). Four modes:
true (default) β all 19 patches activepassive β removes automation signals only (webdriver, HeadlessChrome). Does NOT fake identity (WebGL, fonts, audio). Better for sites where trust matters more than evasion.auto β per-domain EXP3 bandit selects the optimal stealth configuration based on what's worked beforefalse β no stealth patchesThese cover the vectors that fingerprint services like CreepJS and fingerprint-pro actually check:
navigator.webdriver forced to undefinedchrome.app emulationcontentWindow protectioncanPlayType)document.hasFocus() overrideRuntime.enable detection (Error.prepareStackTrace filter)getChannelData/getFloatFrequencyData)Per-session stealth control: pass stealth: false in session_create to disable for a specific session.
Set LEAP_HUMANIZE=true to enable human-like browser interaction. This is opt-in and adds latency in exchange for more realistic behavior. Six modules:
Every navigate and snapshot call automatically classifies the page type using weighted signal scoring (no LLM required). 18 types:
login Β· search-results Β· product Β· product-list Β· checkout Β· article Β· dashboard Β· form Β· error Β· challenge Β· landing Β· documentation Β· profile Β· media Β· feed Β· qa Β· ecommerce Β· unknown
Classification drives smarter snapshot extraction β login pages surface form fields, articles surface content, dashboards surface interactive elements.
The harness tracks every action in a session and classifies outcomes:
SUCCESS, SILENT_CLICK, NAVIGATION, WRONG_ELEMENT, BLOCKED, ERROR, PENDINGsession_memory tool recalls actions after context window compressionPersistent browser profiles now use context.cookies() + addCookies() instead of storageState(), which returns empty on persistent contexts. Auth state survives across sessions.
Navigate automatically retries with fallback strategies when pages fail to load:
load (fastest) β if empty, retry with networkidle (10s cap)networkidle times out (Amazon, ad-heavy sites), fall back to domcontentloadedOpt-out with autoRetry: false on navigate. Control max escalation with maxRetryLevel (0-5, default 3).
Export a session's action history as a replayable recording, then replay it in new sessions:
session_export β creates parameterized JSON or Playwright script from session history. @eN refs resolved to stable CSS selectors. Auto-detects emails, passwords, URLs as {{placeholders}}.session_replay β replays a recording with parameter overrides. Supports onError: 'stop' or 'skip'.Turn one-off agent workflows into reusable automations.
Extract data across multiple pages in a single tool call:
?page={page} or custom patternsReplaces 3-4 tool calls per page. Cap: 50 pages, 100K total chars. Stops on: no next button, empty page, duplicate content, or bot detection.
The diff tool returns only what changed since the last snapshot β additions, removals, changes. Massive token savings for monitoring and polling workflows.
LEAP_HUD=true)When running headed, Leapfrog overlays visual feedback on every session:
Minimal by design. No borders, no status bars, no cursor overlay β just the feedback that matters.
LEAP_TILE=true)Multiple Leapfrog instances share the screen via file-based coordination. Each instance tracks its own windows and a TilesCoordinator assigns global grid slots β no overlap, no manual arrangement. Set LEAP_TILE=true (or LEAP_TILE=master for the primary instance). Padding between tiles is configurable with LEAP_TILE_PADDING (default 8px).
Leapfrog auto-detects situations that need a human β CAPTCHAs, login forms, OAuth redirects, Cloudflare challenges β and tries to self-resolve before pausing.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/leapfrog)<a href="https://allmcps.com/mcp/leapfrog"><img src="https://allmcps.com/api/badge/leapfrog?style=directory" alt="Leapfrog on AllMCPs" /></a>