
Jshookmcp
io.github.vmoranv由 GitHub 账号 vmoranv 发布v0.4.2更新于 Oct 24, 2026
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
概览
以搜索为先的逆向工程工作台,为 AI 助手提供 735 个工具,用于挂钩页面、抓取网络流量、反混淆 JS、反汇编 WASM 和插桩进程。
- 可以做什么
- 搜索与调用工具:带混合排序的搜索优先元工具、Schema 查询、参数校验调用和覆盖报告,覆盖 36 个领域。
- 驱动浏览器并拦截流量:通过 CDP 控制 Chromium 与 Camoufox、反检测预设、自动生成 CA 的 MITM 代理、WebSocket 抓包、GraphQL 与 Burp 桥接。
- 分析 JavaScript:反混淆、加密例程识别、AST 理解、source map 重建、脚本提取与重放。
- 逆向 WASM 与二进制:wabt 反汇编、Binaryen 优化、Frida/Ghidra/IDA 桥接、硬件断点、内存读写、PE 解析。
- 分析安卓安装包:APK 静态初筛、清单导出、apktool 与 jadx 反编译、DEX 扫描、APK 签名。
- 编码、转换与协同:URL/Base64/Hex/JWT/Protobuf 编解码、AST 转换、后台任务队列与多智能体协同。
- 适用场景
- 适合需要逆向前端代码、混淆包、WASM 模块、移动应用或运行中进程的场景,并希望在同一助手会话中同时完成浏览器自动化、网络抓取和二进制分析。面向安全研究人员和开发者的分析工作,而非通用浏览。
- 运行要求
- 通过 npm 包以 stdio 在本地运行,通常用 npx 启动;从源码构建需要 Node.js 22.22.2+ 和 pnpm 10.x。首次运行可能下载可选运行时(ONNX、Z3、Binaryen、Camoufox、Playwright)。可选的 Streamable HTTP 守护进程默认绑定回环地址,对外暴露前需设置 MCP_AUTH_TOKEN;MCP_TOOL_PROFILE 选择 search、workflow 或 full 工具集。
安装
在 SourceWeft 中
- 打开 控制台中的 Jshookmcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
@jshookmcp/jshook
[License: AGPLv3] [Node.js 22.22.2+] [TypeScript] [MCP] [pnpm]
[vmoranv%2Fjshookmcp | Trendshift]
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 · 中文
[Stars] [Forks] [Latest Release] [License]
[Node.js 22.22.2+] [TypeScript strict] [MCP current]
What's different · Capabilities · Use cases · Highlights · Transport · Registry · Architecture · Build
Documentation · Getting Started · Configuration · Tool Reference
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 736 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.
Use cases
Quick start
No global install needed — add to your MCP client config and you're ready.
Claude Desktop / Cursor (claude_desktop_config.json):
(Windows: use npx.cmd absolute path if npx is not found.)
This lightweight configuration skips optional ONNX, Z3, Binaryen, Camoufox, and Playwright
packages. Remove npm_config_omit when those full-profile runtimes are required.
Share one daemon across multiple agents
The default stdio configuration starts one full jshook process per MCP host. To share the embedding model, browser runtime, and caches, start one local Streamable HTTP daemon:
Vector search is on by default on every transport — a lightweight static model whose catalog
embeddings persist to disk, loaded lazily and released when idle. Set SEARCH_VECTOR_ENABLED=false
when lexical search is sufficient.
Then point every MCP client at http://127.0.0.1:3000/mcp using its HTTP/URL server
configuration. Each client receives its own MCP session and response route while heavyweight
runtime resources remain in one process. Keep the default loopback bind; set MCP_AUTH_TOKEN
before exposing the endpoint beyond localhost.
Promote a profile as the task grows
Switch MCP_TOOL_PROFILE to workflow once you start chaining composite scripts, or to full
when you need every tool. coverage_report shows the active set on demand.
Highlights
- Profile ladder. Start in
search(~3K tokens of metadata); promote toworkflowwhen chaining composite scripts; escalate tofullonly when every tool is actually needed.coverage_reportshows what's active on demand. - Meta tools.
describe_toolreturns the JSON Schema;call_toolvalidates arguments before invocation; every tool ships withreadOnlyHint/destructiveHint/idempotentHint/openWorldHint. - Browser automation. Chromium and Camoufox via CDP, attach to existing targets, anti-detection presets, popup/download/permission interceptors, explicit-input CAPTCHA solver, JS/CSS injection at three document phases, persisted coverage across reconnects.
- Network interception. Auto-generated HTTPS interception CA, HTTP/1.1 + HTTP/2 frame building, WebSocket capture, GraphQL helpers, Burp Suite bridge — all on the same MCP tool surface.
- Reverse engineering. wabt WASM disassembly (
wasm2wat/wasm-decompile/wasm-objdump) and Binaryenwasm-opt, Frida/Ghidra/IDA bridges, hardware breakpoints, native FFI scanning, PE introspection, syscall hooking, AST transforms, source-map reconstruction. - Session recovery. Streamable HTTP transport restores activated domains, browser attach state, and coverage state after reconnects; browser-side state is isolated per client.
- Plugins and workflows. Drop a directory, get a domain. Write a YAML pipeline, run it as one tool. The registry self-discovers.
Transport and deployment
The server supports two transports out of the box.
Both transports expose the same tool surface. coverage_report shows which domains are
activated in each session — long-running sessions restore browser attach state, coverage state,
and tool activations across reconnects.
For production deployments see the Security and Production guide.
Recent runtime notes
- HTTP transport now multiplexes independent MCP sessions and restores runtime state after reconnects.
proxy_startauto-generates a local HTTPS interception CA when needed.- Browser CAPTCHA solving is now explicit-input driven: pass
taskKind,siteKey,imageBase64,callbackName, andresponseSelectoras needed. Built-in widget/page signature probing is intentionally not used.
Registry snapshot
The built-in surface below is generated from the runtime registry and checked in CI.
- Package version:
0.4.3 - Built-in tools:
736 - Domains:
adb-bridge,binary-instrument,browser,canvas,coordination,core,cross-domain,dart-inspector,debugger,encoding,exploit-dev,extension-registry,graphql,instrumentation,maintenance,memory,mojo-ipc,native-bridge,native-emulator,network,platform,process,protocol-analysis,proxy,session,sourcemap,streaming,syscall-hook,tasks,tls-inspector,trace,transform,v8-inspector,wasm,webgpu,workflow - Note: this snapshot is generated from the runtime registry; do not edit the counts by hand.
Architecture
- Runtime registry — domains auto-discovered via
manifest.ts; add a domain by creating one file. - Lazy initialization — handlers instantiated on first call, not at startup.
- BM25 + vector search —
search_toolsmeta-tool with hybrid ranking and adaptive weights. - MCP
ToolAnnotations— every tool carriesreadOnlyHint/destructiveHint/idempotentHint/openWorldHint. - Profile ladder —
search(~3K tokens) →workflow(composite scripts) →full(all 736 tools). - Transport symmetry — stdio and Streamable HTTP expose the same surface; sessions are isolated per client.
See the Architecture guide and Configuration reference for the canonical details.
Build from source
Requirements: Node.js 22.22.2+, pnpm 10.x.
Native helpers are bundled via pnpm build; on first run the server may download optional
runtimes (ONNX, Z3, Binaryen, Camoufox, Playwright) depending on the profile.
Project stats
License
来源:README.md,提交 7d0f7ea
工具
0版本历史
2- v0.4.2最新Oct 10, 2026
- v0.3.0Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分