jshookmcp
vmoranv · vmoranv/jshookmcp
Một MCP server toàn diện cho kỹ thuật đảo ngược JS, cho phép AI agent hook vào trang web, bắt lưu lượng mạng và giải mã code.
A search-first, profile-aware reverse-engineering workspace for AI agents — 735 tools across 36 domains in one MCP server.
Xem trước
Bạn có thể làm gì với nó
- Hướng dẫn agent giải mã một gói JavaScript phức tạp trong trình duyệt
- Bắt và phân tích các yêu cầu API cụ thể từ một trang web bằng cách sử dụng CDP qua MCP
- Thực hiện kiểm thử bảo mật tự động và phân tích chống phát hiện trên các ứng dụng web
Đã chạy thử thật · 8 tool
Chúng tôi đã khởi động MCP server này trong máy ảo cách ly, và nó cung cấp các tool sau:
search_toolsSearch 735 tools across 36 capability domains. This includes built-in tools plus any loaded plugin/workflow tools (0 currently loaded). In search-tier sessions, call this before assuming a capability
route_toolOne-stop tool router: accepts a natural language task description, returns recommended tools and next actions. Automatically detects workflow patterns, recommends activation order, and provides exampl
describe_toolGet detailed information about a specific tool, including its input schema. Use this to see the exact parameters a tool expects before calling it.
activate_toolsDynamically register specific tools by name, regardless of current base tier. Use after search_tools to enable exactly the tools you need. In search-tier sessions this is usually enough; use activate_
deactivate_toolsRemove previously activated tools to free context. Only affects dynamically activated tools (added via activate_tools, activate_domain, or extension activation), not base profile tools.
activate_domainActivate all tools in a domain at once. Domains: . Use reload_extensions first to include external plugin/workflow domains.
call_toolExecute an already-active tool by name. Use this when activate_tools/activate_domain registered a tool but your client did not refresh its tool list. Does not auto-activate inactive tools.
coverage_reportReport which tools have been called in the current runtime and which known tools remain uncalled. Loads all domains first so the uncalled list reflects the full tool catalog, not just currently active
npx -y @jshookmcp/jshook@latest · 11/10/2026
Kiểm tra an toàn
Không thấy dấu hiệu rủi ro trong các file đã quét.
Quét tự động các file trong repo. Luôn xem lại code trước khi chạy.
Trích từ README
@jshookmcp/jshook
A search-first, profile-aware reverse-engineering workspace for AI agents.
Hook the page, capture the network, deobfuscate the bundle, disassemble the WASM, instrument the process — and let one MCP server keep the whole attack surface in reach without drowning the model in schemas.
English · 中文
What's different · Capabilities · Use cases · Highlights · Transport · Registry · Architecture · Build
Documentation · Getting Started · Configuration · Tool Reference
<b>Sponsored by Swiftproxy</b>
— Premium Residential Proxies for Web Automation · 10% off code: PROXY90
What makes jshook different
Most MCP servers for JS analysis expose a handful of hand-rolled tools or wrap a single browser engine. jshook is closer to an operating system for front-end reverse engineering — 36 self-discovered domains, a search-first meta-tool that keeps token cost under control, and runtime recovery that survives broken pages and dropped sessions:
- Search-first, profile-aware. The
searchprofile loads about 3K tokens of tool metadata; thefullprofile exposes all 735 tools at around 109K tokens (measured 2026-10-10 — this figure scales with the tool count, so re-measure it when the catalog grows). Agents move between them as the task grows —search→workflow→full— instead of drowning in schemas from the first turn. - Runtime recovery and session isolation. Streamable HTTP sessions restore activated domains, browser attach state, and coverage state after reconnects; per-client browser-side state stays isolated so two agents cannot trample each other's CDP sessions.
- Full-stack browser automation. Chromium and Camoufox via CDP with anti-detection, an explicit-input CAPTCHA solver (no built-in page/feature probing), a self-signed HTTPS interception CA on demand, and HTTP/2 frame building.
- Real reverse engineering, not string searches. WASM disassembly via wabt (
wasm2wat/wasm-decompile/wasm-objdump), Frida/Ghidra/IDA bridges, native FFI scanning, hardware breakpoints, PE introspection, GraphQL/Burp Suite proxy bridges, and AST transforms — not a single regex call wrapped as a tool. - Dynamic extensibility. Hot-reload plugins, declarative workflows, and auto-discovery keep the server growing without a redeploy.
Capability overview
A scan of what's in the box. Each row links to the detailed Capability overview below.
| Area | Highlights |
|---|---|
| Tool profiles | search (~3K tokens, BM25 + hybrid vector ranking) · workflow (composite scripts) · full (all 735 tools) |
| Browser automation | Chromium and Camoufox · CDP attach to existing targets · anti-detection presets · explicit-input CAPTCHA solver · popup, download, permission, and protocol interceptors |
| Network interception | HTTP/1.1 + HTTP/2 frame building · MITM proxy with auto-generated CA · WebSocket capture · GraphQL introspection helpers · Burp Suite bridge |
| JS hooks and analysis | LLM-powered deobfuscation · crypto routine detection · AST comprehension · source-map reconstruction · script/scriptlet extraction and replay |
| WASM reverse engineering | wabt disassembly / C transpilation (wasm2wat / wasm-decompile / wasm-objdump / wasm2c) · Binaryen wasm-opt · pure-TS section parser · import/export listing · section-grouped string extraction with name-section recovery · function-level binary diff · obfuscation detection · function- and basic-block-level instrumentation |
| Process and memory forensics | Native FFI scanning · cross-reference graphs · hardware breakpoints · PE introspection · live process attach · memory read/write with region guards |
| Binary instrumentation | Frida bridge · Ghidra and IDA bridges · syscall hooking · TLS keylog and session tooling · Mojo IPC analysis |
| Android and APK analysis | APK static triage · manifest dump and query · apktool decode / build · jadx decompilation and code search · DEX scanning · native library listing · APK signing · unidbg emulation · runtime DEX dump |
| Native runtime | Native emulator for foreign-architecture samples · platform introspection · Mojo IPC · Dart Inspector · ADB bridge for on-device traffic |
| Encoding and transform | URL/Base64/Hex/JWT/Protobuf encoders · AST transforms · streaming decode pipelines |
| Coordination | Background task queue with progress, cancellation, and async modes · multi-agent coordination · coverage reports |
| Schema-first meta tools | describe_tool · call_tool with argument validation · coverage_report · search_tools |
| Pluggable extension registry | Hot-reload plugins · declarative workflows · auto-discovered domains |
Use cases
| Scenario | What you do | Domains involved |
|---|---|---|
| Skim a minified bundle | search_tools → deobfuscate → search_in_scripts → understand_code | core |
| Reverse a CAPTCHA challenge | Drive a Camoufox page → screenshot → solve with explicit input → replay | browser, canvas |
| Capture and replay an OAuth flow | proxy_start (auto CA) → network_get_requests → graphql_introspect → graphql_replay | proxy, network, graphql |
| Reverse a WASM crypto routine | wasm_dump → wasm_disassemble → generate_hooks → memory_breakpoint | wasm, binary-instrument, memory |
| Triage a suspicious APK | apk_static_triage → apk_manifest_dump → jadx_decompile → dex_scan_file | binary-instrument |
| Recover a dropped browser session | Reconnect Streamable HTTP → restore activated domains and browser state | browser, coordination |
| Audit a Node process for credentials | process_list → memory_scan_filtered → binary_strings_extract | process, memory, binary-instrument |
| Build a custom workflow | `l |