에이전트 강화
게시자의 자체 명령입니다. PlugMCP 엔드포인트가 아닙니다.
Host a copy with our keys and logs.
npx -y @jshookmcp/[email protected]Claude Code에는 로컬 명령용 설치 링크가 없습니다. 아래 명령을 복사해 터미널에서 실행합니다.
claude mcp add io.github.vmoranv-jshookmcp -- npx -y @jshookmcp/jshook@0.4.2터미널에서 실행합니다.
{ "mcpServers": { "io.github.vmoranv-jshookmcp": { "command": "npx", "args": [ "-y", "@jshookmcp/[email protected]" ] } }}claude_desktop_config.json
원격 URL인가요, 내 컴퓨터에서 실행하는 명령인가요? 두 설치 방식의 차이
PlugMCP에서 실행
A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.
실행게시자 제공
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.
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 profile loads about 3K tokens of tool metadata; the full profile 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.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.A scan of what's in the box. Each row links to the detailed Capability overview below.
No global install needed — add to your MCP client config and you're ready.
Claude Desktop / Cursor (claude_desktop_config.json):
{
"mcpServers": {
"jshook": {
"command": "npx",
"args": ["-y", "@jshookmcp/jshook@latest"],
"env": {
"MCP_TOOL_PROFILE": "search",
"npm_config_omit": "optional"
}
}
}
}
(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.
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:
pnpm build
pnpm 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.
{
"env": {
"MCP_TOOL_PROFILE": "search" // start here, ~3K tokens of metadata
}
}
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.
search (~3K tokens of metadata); promote to workflow when chaining composite scripts; escalate to full only when every tool is actually needed. coverage_report shows what's active on demand.describe_tool returns the JSON Schema; call_tool validates arguments before invocation; every tool ships with readOnlyHint / destructiveHint / idempotentHint / openWorldHint.wasm2wat / wasm-decompile / wasm-objdump) and Binaryen wasm-opt, Frida/Ghidra/IDA bridges, hardware breakpoints, native FFI scanning, PE introspection, syscall hooking, AST transforms, source-map reconstruction.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.
proxy_start auto-generates a local HTTPS interception CA when needed.taskKind, siteKey, imageBase64, callbackName, and responseSelector as needed. Built-in widget/page signature probing is intentionally not used.The built-in surface below is generated from the runtime registry and checked in CI.
0.4.3736adb-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, workflowmanifest.ts; add a domain by creating one file.search_tools meta-tool with hybrid ranking and adaptive weights.ToolAnnotations — every tool carries readOnlyHint / destructiveHint / idempotentHint / openWorldHint.search (~3K tokens) → workflow (composite scripts) → full (all 736 tools).See the Architecture guide and Configuration reference for the canonical details.
Requirements: Node.js 22.22.2+, pnpm 10.x.
pnpm install
pnpm build
pnpm start # run the built server from dist/
pnpm dev # run from source under tsx watch
pnpm check # drift guards (metadata + openapi + domain + event contracts) + lint + format check + typecheck + unit tests
pnpm test # Vitest unit suites
pnpm test:e2e # end-to-end browser/tooling suites
pnpm daemon # run the Streamable HTTP daemon after build
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.
Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.
{ "mcpServers": { "io.github.vmoranv-jshookmcp": { "command": "npx", "args": [ "-y", "@jshookmcp/[email protected]" ] } }}개요
Session recovery. Streamable HTTP transport restores activated domains, browser attach state, and coverage state after reconnects; browser-side state is isolate. Plugins and workflows. Drop a directory, get a domain. Write a YAML pipeline, run it as one tool. The registry self-discovers.
도구
아직 도구 목록이 없습니다. 원격 서버는 첫 상태 확인 후에 도구 목록이 생깁니다.
FAQ
이 페이지에서 Cursor, Claude Desktop, Claude Code 또는 VS Code용 stdio 설정을 복사합니다. PlugMCP 프록시가 아니라 게시자의 설치 방식을 사용합니다.
| 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 |
이 레코드에는 필수 환경 변수가 등록되어 있지 않습니다.
Jshookmcp은(는) stdio를 통해 로컬에서 실행됩니다.
마지막 확인: 2026-11-13. Session recovery. Streamable HTTP transport restores activated domains, browser attach state, and coverage state after reconnects; browser-side state is isolate. Plugins and workflows. Drop a directory, get a domain. Write a YAML pipeline, run it as one tool. The registry self-discovers.