JS Reverse MCP

Continuous browser-side JavaScript debugging and evidence capture for AI coding assistants.

Stars
★ 3k
Last updated
1mo ago
License
Apache-2.0
Primary language
TypeScript

At a glance

How it runs
MCP serverCLI
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Node.js 20.19 or newerGoogle Chrome stableShell / CLINetwork accessLocal filesystemMCP Server
Typical use
A security researcher or frontend analyst needs to find encryption, signing, or sensor logic inside minified scripts and break on matching source text.
Not a fit if
  • Teams needing a headless or fully hosted browser
  • Users who cannot install Node.js 20.19+ and stable Chrome
  • Anyone debugging sensitive pages without browser isolation
Source review
82/100 · Good

What does this agent do, and when should you use it?

JS Reverse MCP is a JavaScript reverse-engineering MCP server that exposes headed Chrome debugging, breakpoints, network inspection, WebSocket analysis, and browser-state controls to AI coding assistants. Instead of mirroring Chrome DevTools menus, it packages Chrome DevTools Protocol and Patchright behavior into 24 tools designed for sequential agent decisions. Its default execution model uses the installed Google Chrome, a visible window, a persistent profile, and Patchright protocol-level stealth; an optional CloakBrowser mode adds source-level fingerprint patches for more heavily protected sites. Results can be returned through MCP or exported as script source, raw request data, and binary material for subsequent local analysis. It runs through npx or a locally built Node.js entry point and documents direct MCP setup for Claude Code, Codex, Cursor, and VS Code Copilot.

A workflow starts with new_page, then uses list_scripts, search_in_sources, get_script_source, and save_script_source to locate and preserve JavaScript. set_breakpoint_on_text and break_on_xhr create breakpoints; after execution pauses, get_paused_info reports call stacks and scope variables, while evaluate_script runs code in either the page or a paused call frame and step or pause_or_resume controls execution. For traffic analysis, list_network_requests indexes, inspects, or exports request material, get_request_initiator retrieves the JavaScript initiator stack, and get_websocket_messages groups connections and messages. clear_site_data removes cookies, origin storage, and sessionStorage for the current site, with an option to clear the global HTTP cache, so initialization and risk-control flows can be replayed. Additional tools select pages and frames, click visible elements, take screenshots, and inspect console messages; outputFile, filePath, and localFilePath parameters connect browser evidence with local files.

  1. A security researcher or frontend analyst needs to find encryption, signing, or sensor logic inside minified scripts and break on matching source text.
  2. A developer needs to trigger a page action and inspect runtime arguments, scope variables, call stacks, and nearby source at the pause point.
  3. A protocol analyst needs the initiator stack, headers, bodies, responses, or Set-Cookie data for selected XHR and Fetch requests.
  4. An engineer investigating a real-time web application needs to enumerate WebSocket connections, identify message patterns, and inspect individual frames.
  5. A researcher studying cookie or risk-control initialization needs to clear site state, reload repeatedly, and export the decisive requests.
  6. A debugger blocked by automation detection needs Patchright stealth by default and an optional CloakBrowser fingerprint-patching mode for harder targets.

How do you install or deploy this agent?

The documented runtime is Node.js 20.19 or newer plus the stable release of Google Chrome. The standard server setup does not require API credentials. The shortest installation path is an npx-backed MCP configuration:

{
  "mcpServers": {
    "js-reverse": {
      "command": "npx",
      "args": ["js-reverse-mcp"]
    }
  }
}

Register it in Claude Code with:

claude mcp add js-reverse npx js-reverse-mcp

For Codex, run:

codex mcp add js-reverse -- npx js-reverse-mcp

A local source installation is also documented:

git clone https://github.com/zhizhuodemao/js-reverse-mcp.git
cd js-reverse-mcp
npm install
npm run build

Point the MCP client at the resulting Node.js entry point:

{
  "mcpServers": {
    "js-reverse": {
      "command": "node",
      "args": ["/your/path/js-reverse-mcp/build/src/index.js"]
    }
  }
}

For --cloak, pre-download the optional browser binary, which is approximately 200 MB:

npx cloakbrowser install

Then configure the MCP arguments as ["js-reverse-mcp", "--cloak"].

How do you use this agent?

After the MCP server starts, call new_page with the target URL. Initial navigation deliberately keeps CDP quiet, so a complete traffic capture requires calling list_network_requests to activate collectors, running navigate_page(type="reload"), and listing the requests again. Inspect a key request by reqid or supply outputFile to export raw headers, bodies, or query data. For script work, proceed through list_scripts, search_in_sources, and set_breakpoint_on_text; trigger the relevant page behavior, then use get_paused_info, evaluate_script, and step after the breakpoint is hit. To replay cookie or risk-control initialization, run clear_site_data(confirm=true), reload, and export the requests that set cookies or submit sensor data. In production or shared environments, pass one or more --allowedRoots options to constrain host-file access.

What are this agent's strengths and limitations?

Pros
  • Its 24 tools span navigation, source discovery, breakpoint execution, network traffic, WebSockets, console output, and site state, supporting an end-to-end debugging loop.
  • Evaluation inside paused call frames, scope inspection, and step control make it substantially more suitable for runtime analysis than page automation alone.
  • Large scripts, raw traffic artifacts, and binary results can be written to local files instead of consuming the entire model context.
  • Patchright protocol-level stealth and optional CloakBrowser source-level patches provide two distinct anti-detection layers.
  • A headed persistent profile retains login state, while --isolated provides a disposable clean session when required.
Limitations
  • Adoption requires Node.js 20.19+ and stable Chrome; the default deployment is not a browserless or purely hosted service.
  • Cloak mode downloads an approximately 200 MB binary and uses custom Chromium without Google services, the Web Store, or sync.
  • Because the first navigation keeps Network and Debugger domains quiet, complete captures normally require collector activation followed by a reload.
  • Host-file access is unrestricted when --allowedRoots is omitted, so operators must configure the boundary themselves.
  • The server can inspect, debug, and modify browser data, making unisolated use on sensitive pages inappropriate.

How does this agent compare with similar options?

The default mode combines the installed Google Chrome with Patchright protocol-level stealth and retains access to Chrome extensions, sync, and the Web Store. --cloak switches to a separate profile and custom Chromium with C++ fingerprint patches, covering more fingerprint surfaces at the cost of an approximately 200 MB download and no Google services or Web Store. The documented guidance is to enable CloakBrowser only when the default path remains blocked.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
JS Reverse MCP This agent 82 · Good MCP serverFree ★ 3k 1mo ago TypeScript Codex · Claude Code
bdg Browser Debugger 68 · Some gaps CLIFree ★ 177 today TypeScript Codex · Claude Code
Chrome DevTools MCP 79 · Some gaps MCP serverFree ★ 54k today TypeScript Codex · Claude Code
REA: Reverse Engineer Anything with Agents 72 · Some gaps CLIFree ★ 327k today TypeScript Codex · Claude Code · Claude.ai

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Good
82/ 100 5-point scale 4.1 / 5
This review covers the source as of Aug 14, 2026. The project has shipped 3 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 21/29
Reliability 12/14
Adaptability 16/18
Convention 16/18
Effectiveness 12/13
Verifiability 5/8
Why each dimension lost points
Trust21 / 29 · 3.6/5

The evidence clearly discloses browser-content exposure, host-file reads and writes, persistent login state, log leakage risks, the CloakBrowser download, and live-evaluation data flow. allowedRoots resolves real paths and blocks symlink and file-URL escapes, with tests for direct, symlink, and dangling-link escapes. Network-record and site-data clearing require explicit confirmation; logs use mode 0600, and credentialed remote evaluations require HTTPS. Deductions apply because allowedRoots is off by default, leaving local file access unrestricted; the default profile retains cookies and localStorage; navigation, clicking, and arbitrary page evaluation lack a general confirmation layer; and cleared data is not recoverable. CI runs a production dependency audit, some important dependencies are exact-pinned, and tar is overridden, but ranges remain and no lockfile, SBOM, or audit result is supplied. Author, repository, third-party projects, and license are attributed, but publisher identity is unverified and stronger supply-chain identity evidence is absent.

Reliability12 / 14 · 4.3/5

The README, package scripts, CI, and supplied tests are highly consistent about tool behavior, supported Node versions, and release gates. Tests demonstrate concurrent CDP-session deduplication, retry after failure, stale-session detachment, listener rollback, breakpoint restoration, honest partial-removal reporting, and a targeted error for promises that cannot settle while paused. This thoroughly supports self-consistency and failure messaging. Dependency availability is deducted because operation relies on a system Chrome installation, Cloak mode may download roughly 200 MB on first use, and the supplied files do not fully establish platform coverage, download-service availability, or offline fallback.

Adaptability16 / 18 · 4.4/5

The documentation identifies JS reversing, breakpoint debugging, network/WebSocket inspection, and cookie or risk-control replay scenarios, with separate default, isolated, cloak, and external-CDP configurations. Twenty-four tools have clear functional groupings and boundaries; destructive operations use explicit actions or confirmation, strict single-element clicking narrows ambiguity, and 30 offline routing contracts support trigger precision. Environment fit is deducted because, although Node, Chrome, and several MCP clients are covered, the referenced platform-specific Cloak and CDP documents are not included, so full platform and third-party-browser compatibility cannot be confirmed.

Convention16 / 18 · 4.4/5

The README is well structured and supplies installation paths, client configurations, a tool catalog, workflow examples, configuration guidance, security notes, and troubleshooting. Package, command, and MCP names are consistent. Apache-2.0 metadata matches the complete LICENSE. Deductions apply because limitations are scattered through security and troubleshooting sections rather than comprehensively covering authorization, site-policy, and operational boundaries; version 4.0.1, tag checks, and generated release notes exist, but no standalone changelog is supplied; and maintenance responsibility is only inferable from the author field, issue URL, and release workflow, without a support policy, named team, or response commitment.

Effectiveness12 / 13 · 4.6/5

Agent-oriented short listings, bounded detail, source context, raw-material file export, and reuse of exported inputs make outputs directly useful in iterative analysis. Combining pages, scripts, breakpoints, network traffic, WebSockets, and state replay in one MCP provides substantial marginal value. Cost-benefit is deducted because the documentation discloses the optional roughly 200 MB download, persistent profiles, and potentially paid live model evaluation, but provides no quantitative resource, performance, success-rate, or comparative-alternative evidence.

Verifiability5 / 8 · 3.1/5

Several repository claims are traceable across the README, package configuration, CI, and supplied unit tests, including presubmit gates, dependency auditing, path confinement, failure recovery, and breakpoint restoration. Deductions apply because the core anti-detection behavior, the complete implementation of all 24 tools, routing-evaluation results, and cross-platform claims lack corresponding source or result evidence in the supplied material; corroboration is entirely repository-internal; and promotional capability statements are not consistently separated into tested facts, design intentions, and inference.

Risks and how to mitigate them
  • Without --allowedRoots, the agent can read or write host files without directory confinement; enable it for a dedicated working directory.
  • The default profile preserves cookies and localStorage across sessions and exposes page content to the MCP client; do not use it with sensitive browser sessions.
  • evaluate_script, clicking, navigation, and network interaction may alter page or remote state; use only on authorized targets and add human confirmation for high-impact actions.
  • clear_site_data and manual profile deletion irreversibly remove login state; back up first or use --isolated for reproducible experiments.
  • CloakBrowser may download roughly 200 MB on first launch; preinstall it and independently verify binary provenance, platform support, and current dependency-audit status.
  • Anti-detection use may implicate site terms, access controls, or legal restrictions; the supplied repository material provides no authorization or compliance assurance.
Evidence confidence: Low Reviewed Aug 14, 2026 Reviewed revision f45172a7b2a8 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v4.0.5
    Release notes excerpt
    Full Changelog: https://github.com/zhizhuodemao/js-reverse-mcp/compare/v4.0.4...v4.0.5
    View on GitHub ↗
  2. v4.0.3
    Release notes excerpt
    Full Changelog: https://github.com/zhizhuodemao/js-reverse-mcp/compare/v4.0.2...v4.0.3
    View on GitHub ↗
  3. v4.0.2
    Release notes excerpt
    Full Changelog: https://github.com/zhizhuodemao/js-reverse-mcp/compare/v4.0.1...v4.0.2
    View on GitHub ↗

FAQ

Does normal operation require an API key or paid model endpoint?
No API credential is documented for running the MCP server itself. An OpenAI-compatible endpoint, model name, and potentially an API key are only involved when maintainers explicitly opt into the real-model routing evaluation, which may incur charges.
Why is the first page load missing some network requests?
Navigation intentionally starts with CDP domains quiet. Call list_network_requests to activate the collectors, reload with navigate_page(type="reload"), and then list the requests again.
When should I use --cloak?
Start with the default Patchright mode. Enable --cloak only if fingerprint defenses such as Cloudflare Turnstile, DataDome, or FingerprintJS still block the session; --isolated can first rule out contaminated profile state.
Does it preserve authenticated sessions?
The default profile retains cookies and localStorage across sessions. --isolated uses a temporary user-data directory that is removed on shutdown, while CloakBrowser has its own physically separate persistent profile.
How can host-file permissions be constrained?
Pass one or more --allowedRoots directories. The server resolves real paths, rejects symlink escapes, and also blocks file:, view-source:file:, and filesystem:file: pages while that restriction is active.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents