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

io.github.anthonybono21-cloud/leapfrog

NPM · LEAPFROG-MCP · SCANNED SEP 20

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

Available components

0 this week 82 Trust /100
Trust breakdown (7 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 → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 99 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency48
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 164 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability80
  • 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 Management90
  • Stability observed for 27 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
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
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "session_destroy" implies "destroy" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the io.github.anthonybono21-cloud/leapfrog MCP server?

io.github.anthonybono21-cloud/leapfrog runs locally as an npm package, launched with npx -y leapfrog-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · leapfrog-mcp

# add to Claude Code
claude mcp add anthonybono21-cloud-leapfrog -- npx -y leapfrog-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "anthonybono21-cloud-leapfrog": {
      "command": "npx",
      "args": [
        "-y",
        "leapfrog-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "anthonybono21-cloud-leapfrog": {
      "command": "npx",
      "args": [
        "-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"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "anthonybono21-cloud-leapfrog": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "leapfrog-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add anthonybono21-cloud-leapfrog -t stdio -c npx -a -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.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 16 Sept 26 +1
    • Stability: 0.97 → pass security
  • 14 Sept 26 +1
    • Security disclosure: unverified → pass functional
  • 13 Sept 26 0
    • Security disclosure: pass → unverified functional
  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 9 Sept 26 +1
    • Stability: 0.97 → pass security
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 20 Sept 2026 · Analysed npm/leapfrog-mcp@0.7.4

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 99 packages
Packages resolved 99
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

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. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

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.

Common questions

What is the io.github.anthonybono21-cloud/leapfrog MCP server?

io.github.anthonybono21-cloud/leapfrog is an MCP server listed in the public MCP registry as io.github.anthonybono21-cloud/leapfrog. Multi-session browser MCP, 15 parallel isolated browsers, 37 tools, stealth, self-improvement. This page covers its npm package (leapfrog-mcp).

Is the io.github.anthonybono21-cloud/leapfrog MCP server safe to use?

io.github.anthonybono21-cloud/leapfrog scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.anthonybono21-cloud/leapfrog MCP server expose?

io.github.anthonybono21-cloud/leapfrog exposes 37 tools: session_create, session_create_batch, session_list, session_destroy, session_save_profile, and 32 more. Their descriptions and schemas cost roughly 3,957 tokens of context every time the server is loaded.

Is the io.github.anthonybono21-cloud/leapfrog MCP server still maintained?

io.github.anthonybono21-cloud/leapfrog is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.anthonybono21-cloud/leapfrog MCP server under?

io.github.anthonybono21-cloud/leapfrog declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.