JS Reverse MCP

110 tools. 50 can modify or destroy data without limits.

3 destructive tools with no built-in limits. Policy required.

Last updated:

50 can modify or destroy data
60 read-only
110 tools total

Community server · catalogue entry verified 26/06/2026

How to control JS Reverse MCP ↓

What JS Reverse MCP exposes to your agents

Read (60) Write / Execute (47) Destructive / Financial (3)
Critical Risk

The most dangerous JS Reverse MCP tools

50 of JS Reverse MCP's 110 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control JS Reverse MCP

PolicyLayer is an MCP gateway — it sits between your AI agents and JS Reverse MCP, and nothing reaches the server without passing your rules. These are the rules we recommend:

Deny destructive operations
{
  "prune_task_artifacts": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "create_reverse_task_from_request": {
    "limits": [
      {
        "counter": "create_reverse_task_from_request_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "analyze_source_maps": {
    "limits": [
      {
        "counter": "analyze_source_maps_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register JS Reverse MCP — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON JS REVERSE →

Instant setup, no code required.

All 110 JS Reverse MCP tools

EXECUTE 37 tools
Execute analyze_target One-shot reverse workflow: collect code, run security/crypto analysis, optional deobfuscation, and hook timeli Execute auto_rebuild_fix_loop Create a resumable env-fix loop plan from runtime errors and observed capabilities. Execute breakpoint Manage JavaScript breakpoints: set, remove, or list active breakpoints. Execute click_element Click an element by selector. Execute create_hook RECOMMENDED: Create hook script for function/fetch/xhr/property/cookie/websocket/eval/timer. Hooks run without Execute deobfuscate_code AI-assisted JavaScript deobfuscation. Execute emulate_device Emulate a common mobile device profile. Execute evaluate_on_callframe Evaluates a JavaScript expression in the context of a specific call frame while paused. This allows you to ins Execute evaluate_script Evaluate a JavaScript function inside the currently selected page. Returns the response as JSON so returned va Execute export_function_slice Build a minimal function slice draft with direct helper dependencies and a Node env shim. Execute hook_function Recommended default for reverse engineering: hook a function and log calls/args/results without pausing execut Execute hover_element Hover over an element by selector. Execute inject_hook Inject an existing hook into the current page. Execute inject_preload_script Register a JavaScript snippet that will run on future document loads before page scripts execute. Use this for Execute inject_stealth Inject anti-detection stealth scripts to current page. Execute navigate_page Navigates the currently selected page to a URL, or performs back/forward/reload navigation. Waits for DOMConte Execute new_page Creates a new page and navigates to the specified URL. Waits for DOMContentLoaded event (not full page load). Execute orchestrate_reverse_task High-level reverse-task orchestrator that syncs task state, picks the primary next step, and returns a compact Execute pause Pauses JavaScript execution at the current point. Use this to interrupt running code. Execute press_key Press a keyboard key on the active page. Execute replay_page_flow Replay recorded page flow actions through PageController. Execute resume Resumes JavaScript execution after being paused at a breakpoint. Execution continues until the next breakpoint Execute run_reverse_agent One-shot reverse agent entry: repeatedly plans and executes the main reverse chain until blocked, stalled, or Execute scroll_page Scroll the page to absolute x/y coordinates. Execute select_frame Selects a frame (by index from list_frames) as the execution context for evaluate_script, hook_function, inspe Execute select_option Select one or more values in a native select element. Execute select_page Select a page as a context for future tool calls. Execute set_breakpoint_on_text Sets a breakpoint on specific code (function name, statement, etc.) by searching for it and automatically dete Execute step_into Steps into the next function call. Use this to enter and debug function bodies. Execute step_out Steps out of the current function, continuing until the function returns. Use this to quickly exit a function. Execute step_over Steps over to the next statement, treating function calls as a single step. Use this to move through code with Execute stop_monitor Stops an event monitor. Execute trace_function Traces calls to a function by its name in the source code. Works for ANY function including module-internal fu Execute type_text Type text into an input element. Execute wait_for_element Wait for selector to appear. Execute wait_for_network_idle Wait until the page network becomes idle. Execute xhr_breakpoint Set or remove an XHR/Fetch breakpoint by URL substring match.
READ 60 tools
Read analyze_source_maps Parse a source map and summarize original sources, embedded content coverage, and likely reverse targets. Read analyze_websocket_messages Group WebSocket messages by pattern/fingerprint and return stats plus sample indices for each type. Read check_browser_health Check browser connectivity and active page readiness before running reverse workflows. Read collect_code Collect JavaScript code from a page with smart modes (summary/priority/incremental/full). Read collection_diff Compare previous and current collected file summaries. Read console_message List console messages, or get one message by msgid. Read detect_crypto Detect cryptographic algorithms/libraries from JavaScript source. Read diagnose_environment Run static environment diagnostics for startup, AI provider setup, and artifact output paths. Read diff_env_requirements Compare local runtime failures with observed browser capabilities and suggest the next environment patches. Read diff_session_state Compare cookies, localStorage, and sessionStorage snapshots before and after a page action. Read explain_reverse_stage Explain a reverse-engineering stage with goals, entry criteria, avoid list, and recommended tools. Read export_diagnostic_bundle Export a compact support bundle with environment, AI runtime, browser, and setup diagnostics. Read export_har_snapshot Export selected page network requests into a compact HAR-like snapshot for offline analysis. Read export_session_report Export current reverse-engineering session as JSON or Markdown. Read extract_function_tree Extracts a target function and its local dependency tree from a script, returning a compact code slice for fol Read find_clickable_elements Find clickable buttons/links, optionally filtered by text. Read find_in_script Finds a string in a specific script and returns its exact line/column position with surrounding context. Ideal Read generate_parameter_report Generate a concise parameter-chain report from target, candidates, evidence, and next steps. Read get_all_links List links on the active page. Read get_dom_structure Get DOM tree structure for current page. Read get_hook_data Get captured data for one hook or all hooks. Supports raw view and summary view for noise reduction. Read get_parameter_workflow Get one packaged parameter workflow by id or alias. Read get_paused_info Gets information about the current paused state including call stack, current location, and scope variables. U Read get_performance_metrics Get page performance metrics from Performance API. Read get_rebuild_health_report Produce a compact rebuild health report for one reverse task, including env blockers, evidence aggregates, and Read get_reference Read one packaged reference doc, or return its compact summary. Read get_reference_route Route by stage, topic, or natural-language query to the most relevant reference docs. Read get_request_initiator Gets the JavaScript call stack that initiated a network request. This helps trace which code triggered an API Read get_script_source Gets the source code of a JavaScript script by its script ID. Supports line range (for normal files) or charac Read get_storage Gets browser storage data including cookies, localStorage, and sessionStorage. Read get_websocket_message Gets a single WebSocket message by its frame index. Use get_websocket_messages or analyze_websocket_messages f Read get_websocket_messages Gets messages for a WebSocket connection. IMPORTANT: For binary/protobuf messages (like live streaming), use a Read infer_websocket_schema Infer JSON field types, message type distribution, and non-JSON counts from WebSocket messages. Read inspect_object Deeply inspects a JavaScript object, showing its properties, prototype chain, and methods. Useful for understa Read list_frames Lists all frames (including iframes) in the current page as a tree. Shows frame index, name, and URL. Use sele Read list_hooks Lists all active function hooks. Read list_pages Get a list of pages open in the browser. Read list_parameter_workflows List packaged parameter workflows that can guide reverse-engineering and rebuild steps. Read list_scripts Lists all JavaScript scripts loaded in the current page. Returns script ID, URL, and source map information. U Read list_stealth_features List available stealth feature toggles. Read list_stealth_presets List available stealth presets. Read list_task_artifacts List files, sizes, and update times for a reverse task artifact directory. Read list_websocket_connections List all WebSocket connections. After getting wsid, use analyze_websocket_messages(wsid) FIRST to understand m Read locate_candidate_functions Score likely signature/token/request functions from code files, params, headers, and target URL hints. Read locate_signature_function Collect candidate scripts and rank likely signature-generation functions for a target parameter. Read monitor_events Monitors DOM events on a specified element or window. Events will be logged to console. Read network_request List network requests, or get one request by reqid. Read probe_runtime_capabilities Probe browser runtime capabilities and compare them with Node rebuild assumptions. Read query_dom Query one or multiple elements by CSS selector. Read recommend_next_step Recommend the next reverse-engineering action from lightweight workflow signals. Read recommend_parameter_workflow Recommend the closest packaged parameter workflow from a keyword, alias, or short natural-language query. Read repair_browser_connection Diagnose Chrome remote-debugging connectivity and return concrete repair commands. Read risk_panel Build a combined risk score from analyzer, crypto detector and hook signals. Read search_in_scripts Search in collected script cache with regex pattern. Read search_in_sources Searches for a string or regex pattern in all loaded JavaScript sources. Returns matching lines with script ID Read summarize_code Summarize one code file, multiple files, or project-level context. Read take_screenshot Take a screenshot of the page or element. Read trace_request_to_code Trace a captured network request to initiator stack frames and optional static code candidates. Read understand_code Analyze code structure/business/security with AI + static analysis. Read unhook_function Removes a previously installed function hook.

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about JS Reverse MCP

Can an AI agent delete data through the JS Reverse MCP server? +

Yes. The JS Reverse MCP server exposes 3 destructive tools including prune_task_artifacts, remove_hook, session_state. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through JS Reverse MCP? +

The JS Reverse MCP server has 10 write tools including create_reverse_task_from_request, export_portable_bundle, export_rebuild_bundle. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach JS Reverse MCP.

How many tools does the JS Reverse MCP server expose? +

110 tools across 4 categories: Destructive, Execute, Read, Write. 60 are read-only. 50 can modify, create, or delete data.

How do I enforce a policy on JS Reverse MCP? +

Register the JS Reverse MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every JS Reverse MCP tool call.

Deterministic rules across all 110 JS Reverse MCP tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

110 JS Reverse MCP tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.