Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.anthonybono21-cloud/leapfrog

NPM · LEAPFROG-MCP · SCANNED AUG 3

Multi-session browser MCP — 15 parallel isolated browsers, 37 tools, stealth, self-improvement.

Available components

+19 this week 65 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security87
  • No malware found by supply-chain analysis.Pass
  • Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Only part of the dependency tree could be resolved (98 of 102), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability76
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3957 tokens (~106/item across 37 items; 37 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage99
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 96% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · leapfrog-mcp

# add to Claude Code
claude mcp add anthonybono21-cloud-leapfrog -- npx -y leapfrog-mcp
# add to Codex CLI
codex mcp add anthonybono21-cloud-leapfrog -- npx -y leapfrog-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "anthonybono21-cloud-leapfrog": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "leapfrog-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add anthonybono21-cloud-leapfrog --command npx --arg -y --arg leapfrog-mcp
# ~/.hermes/config.yaml
mcp_servers:
  anthonybono21-cloud-leapfrog:
    command: "npx"
    args: ["-y", "leapfrog-mcp"]
// mcp.json
{
  "mcpServers": {
    "anthonybono21-cloud-leapfrog": {
      "command": "npx",
      "args": [
        "-y",
        "leapfrog-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +60
    • Provenance: unverified → fail security
    • Known CVEs: unverified → partial security
    • Install scripts: unverified → pass security
    • Malware scan: unverified → pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • MCP protocol: unverified → pass functional
    • Maintenance: unverified → pass functional
    • Dependency health: unverified → partial functional
    • License: unverified → pass functional
    • Schema quality: unverified → excellent functional
    • Tool coverage: unverified → 100 functional
    • Licence: MIT functional
  • 1 Aug 26 −23
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 −18
    • Malware scan: pass → unverified security
  • 30 Jul 26 +18
    • Dependency health: partial → unverified functional
    • Tool coverage: unverified → 100 functional
  • 28 Jul 26 −18
    • Tool coverage: 100 → unverified functional
    • Dependency health: unverified → partial functional
    • First check of Schema quality: unverified functional
  • 27 Jul 26 46

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Analysed npm/[email protected]

Provenance none

Ecosystem: npm · Outcome: none

Dependencies 98 packages

98 packages in the resolved dependency tree · 97 deprecated · 29 stale.

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 37 exposed · ~3,957 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
act ~404

Perform a browser interaction: click, fill, type, check, select, press key, scroll, hover, mousemove, drag, upload, resize, back, forward. Use @eN refs from navigate/snapshot as the target (e.g. '@e2'). CSS selectors also work. drag: requires target (source) and target2 (destination). upload: requires target (file input) and filePaths. resize: requires width and height (no target needed). holdDuration: for click, holds mouse down for N ms (long-press). Returns a fresh snapshot if the page navigated, or just the action result if it didn't.

NameTypeReqDescription
actionstringyesInteraction to perform.
filePathsFile path(s) for upload action. Single string or array of strings.
heightintegerViewport height for resize action.
holdDurationintegerHold duration in ms for click action (long-press). Uses mouse.down() + wait + mouse.up().
keystringKey name for press (e.g. 'Enter', 'Tab', 'Control+a').
scrollAmountintegerPixels to scroll. Default: 300.
scrollDirectionstringScroll direction. Default: down.
sessionIdstringyesSession ID.
targetstring@eN ref or CSS selector. Required for click, fill, type, check, select, hover.
target2stringDrop destination for drag action. @eN ref or CSS selector.
typeDelaynumberDelay in ms between keystrokes for action='type'. Enables human-like typing speed.
valuestringText for fill/type, option value for select.
widthintegerViewport width for resize action.
xnumberX coordinate for mousemove action.
ynumberY coordinate for mousemove action.

No output schema declared.

No examples provided.

add_init_script ~78

Inject JavaScript that runs before every page load in a session. Persists across navigations (Playwright built-in behavior). Use for fingerprint overrides, custom stealth patches, or page instrumentation.

NameTypeReqDescription
scriptstringyesJavaScript code to inject. Runs in page context before any page scripts.
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

api_discover ~77

List JSON APIs the page has called. Captured automatically from XHR/fetch traffic. Classifies into: data, tracking, auth, cdn, ads.

NameTypeReqDescription
categorystring
minConfidencenumberMinimum classification confidence (0-1). Default: 0.
sessionIdstringyes

No output schema declared.

No examples provided.

api_export ~65

Generate an OpenAPI v3 spec from observed API traffic. Navigate pages first to capture traffic, then export.

NameTypeReqDescription
includeTrackingbooleanInclude tracking/analytics endpoints. Default: false.
sessionIdstringyes
titlestringAPI spec title.

No output schema declared.

No examples provided.

batch_actions ~94

Execute multiple browser actions sequentially in a single MCP call. Eliminates round-trip overhead for humanization sequences (e.g. Bezier mouse paths, typed text with delays). Each action can have an optional delayAfter (ms) to pause between steps. Returns a single result with the outcome of each action.

NameTypeReqDescription
actionsarrayyesArray of actions to execute sequentially.
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

console_log ~74

View captured browser console messages (log, warn, error, info, debug). Console capture starts automatically when a session is created. Use level filter to focus on errors or warnings.

NameTypeReqDescription
levelstringFilter by level: error, warn, log, info, debug.
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

diff ~118

Compare the current page state against the last snapshot for this session. Returns only what changed (additions, removals, changes) — massive token savings vs a full re-snapshot. Use after 'act' instead of 'snapshot' when you just need to see what changed. On first call (no previous snapshot), returns the full snapshot with a note. Use 'selector' to scope the diff to a page region.

NameTypeReqDescription
selectorstringCSS selector to scope snapshot to a page region.
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

domain_knowledge ~74

Inspect what Leapfrog has learned about a website from previous visits. Shows stealth tier, wait strategy, block history, consent selector, API endpoints, and visit count. Pass no domain to list all known domains.

NameTypeReqDescription
domainstringDomain to inspect (e.g. 'github.com'). Omit to list all.

No output schema declared.

No examples provided.

execute ~135

Run a Playwright script with access to { page, context }. One tool call replaces 5-20 sequential MCP round trips. Use for complex flows with conditional logic, loops, error handling. NOTE: Scripts run in the Node.js process — equivalent to arbitrary code execution. Disable with LEAP_ALLOW_EXECUTE=false.

NameTypeReqDescription
scriptstringyesJavaScript async function body with access to { page, context }. Example: 'await page.goto("..."); return await page.title();'
sessionIdstringyes
timeoutnumberTimeout in ms. Default: 60000, max: 300000.

No output schema declared.

No examples provided.

extract ~117

Extract data from the page without a full snapshot. Types: text (visible text), html (markup), title, url, js (evaluate JavaScript). Use target with @eN or CSS selector for element-specific extraction.

NameTypeReqDescription
jsstringJavaScript expression for type='js'.
maxCharsintegerMax output characters.
sessionIdstringyesSession ID.
targetstring@eN ref or CSS selector. Omit for page-level.
typestringWhat to extract.

No output schema declared.

No examples provided.

navigate ~155

Navigate to a URL and return a compact accessibility snapshot with @eN refs. Refs like @e1, @e2 can be passed directly to the 'act' tool — no CSS selectors needed. Snapshots are ~200-500 tokens (vs 15,000 with Playwright MCP).

NameTypeReqDescription
autoRetrybooleanAuto-retry with stealth escalation when blocked. Default: true.
maxRetryLevelintegerMax escalation level (0-5). Level 3+ rotates session. Default: 3.
sessionIdstringyesSession ID.
urlstringyesFull URL including https://
waitUntilstringWait strategy. Use networkidle for SPAs.

No output schema declared.

No examples provided.

network_intercept ~156

Add or remove network intercept rules. Block requests (ads, trackers), mock API responses, or log specific traffic. Use action='remove' with ruleId to remove an existing rule.

NameTypeReqDescription
actionstringyesIntercept action.
mockBodystringResponse body for mock responses.
mockContentTypestringContent-type for mock responses. Default: application/json.
mockStatusintegerHTTP status for mock responses.
ruleIdstringyesUnique rule ID. Use for adding and removing rules.
sessionIdstringyesSession ID.
urlPatternstringURL glob pattern to match (e.g. '**/analytics/**'). Required for block/log/mock.

No output schema declared.

No examples provided.

network_log ~141

View captured HTTP requests/responses for a session. Shows method, status, URL, size, and timing. Filter by URL pattern, method, status range, or content-type. Network capture starts automatically when a session is created.

NameTypeReqDescription
contentTypestringContent-type filter (e.g. 'json').
methodstringHTTP method filter (GET, POST, etc).
sessionIdstringyesSession ID.
statusMaxintegerMaximum status code.
statusMinintegerMinimum status code (e.g. 400 for errors).
urlPatternstringRegex or substring to filter URLs.

No output schema declared.

No examples provided.

paginate ~278

Extract data across multiple pages in a single call. Handles click-next, infinite scroll, and URL-pattern pagination. Auto-detects 'next' buttons when nextSelector='auto'. Returns extracted content from each page plus metadata. Replaces 3-4 tool calls per page with one invocation. Cap: 50 pages, 100K total chars.

NameTypeReqDescription
delayMsintegerDelay between pages in ms. Default: 1000.
extractJsstringJavaScript expression for extractType='js'.
extractTargetstringCSS selector to scope extraction to a specific container.
extractTypestringWhat to extract from each page.
maxCharsPerPageintegerMax characters per page extraction. Default: 5000.
maxPagesintegerMaximum pages to extract. Default: 10.
nextSelectorstringCSS selector for the next button, or 'auto' to detect automatically.
paginationTypestringPagination strategy: click (next button), scroll (infinite scroll), url (URL pattern).
sessionIdstringyesSession ID.
stopWhenstringStop condition. Default: auto (all heuristics).
urlPatternstringURL pattern with {page} placeholder for paginationType='url'.

No output schema declared.

No examples provided.

pool_status ~44

Show pool stats, resource usage (memory, uptime), and all active session summaries. Shows per-session idle time. Sessions approaching 30-minute idle timeout should be refreshed or saved.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

profile_delete ~30

Delete a saved persistent browser profile and all its data.

NameTypeReqDescription
namestringyesProfile name to delete.

No output schema declared.

No examples provided.

profile_import_from_chrome ~144

Connect to your real Chrome browser via CDP, capture its auth cookies, and save them as a Leapfrog profile. This gives you real Google auth, reCAPTCHA trust, and all your logged-in sessions — but in an isolated Leapfrog session, not your real browser. Start Chrome with: chrome --remote-debugging-port=9222

NameTypeReqDescription
cdpstringCDP endpoint. Default: http://localhost:9222
domainsarrayOnly capture cookies from these domains. Omit for all cookies.
namestringyesProfile name to save as (e.g. 'google-auth', 'my-chrome').

No output schema declared.

No examples provided.

profile_list ~18

List saved persistent browser profiles with their auth status.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

profile_warm ~97

Warm up a browser profile by browsing trusted sites (Google, Wikipedia, YouTube). Fresh profiles with zero history score near 0 on reCAPTCHA v3. A 60-90 second warm-up dramatically improves trust scores. Stores warm-up state in domain knowledge so it doesn't repeat. Must pass a sessionId of an existing session with a profile.

NameTypeReqDescription
sessionIdstringyesSession ID (must be a profile-based session).

No output schema declared.

No examples provided.

screenshot ~95

Capture a screenshot of the current page. Returns the image inline as base64. Optionally save to disk with savePath.

NameTypeReqDescription
fullPagebooleanCapture full scrollable page.
savePathstringOptional file path to save the screenshot to disk. If omitted, image is returned inline only.
selectorstringCSS selector to capture a specific element.
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

session_create ~440

Create a new isolated browser session with its own cookies and state. Returns a short session ID (e.g. s_k3m7x1) to pass to all other tools. Each session is a separate BrowserContext — no cookie leakage between sessions. Pool limit: 15 concurrent sessions. Sessions auto-expire after 30 minutes of inactivity. Use keep-alive pattern (periodic navigate or snapshot) for long-running sessions.

NameTypeReqDescription
acceptDownloadsbooleanWhether to accept downloads. Default: true.
cdpstringCDP endpoint URL to connect to a running Chrome instance (e.g. 'http://localhost:9222').
clientIdstringClient identifier for per-client pool partitioning. Used with LEAP_MAX_SESSIONS_PER_CLIENT.
colorSchemestringPreferred color scheme.
extensionsarrayPaths to unpacked Chrome extensions to load.
geolocationobjectGeolocation to emulate.
headedbooleanRun browser with visible UI for this session. Overrides LEAP_HEADED env var.
localestringBrowser locale (e.g. 'en-US', 'fr-FR').
permissionsarrayPermissions to grant (e.g. ['geolocation', 'notifications']).
pinnedbooleanPin this session to prevent idle timeout cleanup.
profilestringProfile shorthand name (e.g. 'github', 'gmail'). Uses persistent Chrome profile at ~/.leapfrog/chrome-profiles/{name}/.
profilePathstringPath to a Playwright storageState JSON file for pre-authenticated sessions.
proxyobjectPer-session proxy configuration. Each session can use a different proxy.
stealthbooleanEnable/disable stealth mode for this session. Default: true (uses global setting).
timezoneIdstringTimezone ID (e.g. 'America/New_York', 'Europe/London').
userAgentstringCustom user agent string.
viewportobjectCustom viewport. Default: 1280x720.

No output schema declared.

No examples provided.

session_create_batch ~70

Create multiple isolated browser sessions concurrently — 5-10x faster than sequential session_create calls. Optionally navigate each to a URL. Returns all session IDs. A single reflow positions all windows into a unified grid after all sessions are created.

NameTypeReqDescription
sessionsarrayyesArray of sessions to create.

No output schema declared.

No examples provided.

session_destroy ~34

Close and clean up a browser session. Frees a pool slot.

NameTypeReqDescription
sessionIdstringyesSession ID to destroy.

No output schema declared.

No examples provided.

session_export ~112

Export session action history as a replayable recording. Creates a JSON script from all mutating actions with @eN refs resolved to stable selectors. Use format='playwright' to get a Playwright JS script compatible with the execute tool.

NameTypeReqDescription
formatstringOutput format. Default: json.
keepExtractsbooleanInclude extract steps in the recording. Default: false.
namestringRecording name. Default: auto-generated.
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

session_export_trace ~50

Export a Playwright trace file for a session. Requires LEAP_TRACE=true. The trace can be viewed at trace.playwright.dev for detailed action timeline.

NameTypeReqDescription
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

session_health ~51

Check if a session is healthy (browser connected, page responsive). Omit sessionId to check all sessions. Quick diagnostic for debugging.

NameTypeReqDescription
sessionIdstringSession ID. Omit to check all.

No output schema declared.

No examples provided.

session_list ~20

List all active browser sessions with their URLs and idle times.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

session_list_profiles ~15

List all saved authentication profiles.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

session_memory ~53

Recall what actions were performed in this session. Useful after context window compression to recover lost context.

NameTypeReqDescription
limitnumberNumber of recent actions to return. Default: 20.
sessionIdstringyes

No output schema declared.

No examples provided.

session_replay ~101

Replay a recording in the current session. Executes each step directly against the browser. Override {{placeholder}} params with the params object. Set onError='skip' to continue past failures.

NameTypeReqDescription
onErrorstringError handling: stop (default) or skip.
paramsobjectParameter overrides for {{placeholder}} values.
recordingstringyesRecording JSON string (from session_export).
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

session_save_profile ~86

Save a session's cookies and auth state to disk. Use this after logging in to a site so future sessions can restore that login. Pass the returned profile path to session_create's profilePath to reuse it.

NameTypeReqDescription
namestringyesProfile name (e.g. 'google', 'github'). Overwrites if exists.
sessionIdstringyesSession ID to save.

No output schema declared.

No examples provided.

snapshot ~97

Re-snapshot the current page for fresh @eN refs. Use after 'act' when you need to re-orient, or scope to a region with 'selector'. Use 'selector' to dramatically reduce tokens (e.g. 'form', '#results').

NameTypeReqDescription
maxCharsintegerMax output chars.
selectorstringCSS selector to scope snapshot to a page region.
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

tab_close ~66

Close a tab by index. Defaults to the active tab. Cannot close the last remaining tab. Returns a snapshot of the new active tab.

NameTypeReqDescription
sessionIdstringyesSession ID.
tabIndexintegerTab index to close. Omit to close the active tab.

No output schema declared.

No examples provided.

tab_switch ~76

Switch to a different tab by index. Use -1 to switch to the most recently opened tab (useful for popups). Returns a snapshot of the newly active tab.

NameTypeReqDescription
sessionIdstringyesSession ID.
tabIndexintegeryesTab index to switch to. -1 for last (most recent) tab.

No output schema declared.

No examples provided.

tabs_list ~52

List all open tabs in a session. Shows index, URL, title, and which tab is active. New tabs (popups, OAuth windows) are automatically tracked.

NameTypeReqDescription
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.

wait_for ~144

Wait for a condition before proceeding. Supports: element visible, text appears, network idle, URL navigation, JS expression truthy. Returns a fresh snapshot after the wait completes.

NameTypeReqDescription
conditionstringyesWhat to wait for.
jsstringJS expression that should return truthy (for js condition).
sessionIdstringyesSession ID.
targetstring@eN ref or CSS selector (for element/text conditions).
textstringText to find (for text condition) or URL pattern (for navigation).
timeoutintegerMax wait time in ms. Default 10000, max 30000.

No output schema declared.

No examples provided.

wait_for_human ~96

Pause and request human intervention. Shows the @..@ overlay with your reason. Use when you encounter a CAPTCHA, login wall, or any situation requiring human action. The tool blocks until the user clicks 'Done' on the overlay. Returns success when resolved.

NameTypeReqDescription
reasonstringyesWhy human help is needed (e.g. 'CAPTCHA detected', 'Login required').
sessionIdstringyesSession ID.

No output schema declared.

No examples provided.