Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.
Warning

Malware flagged

A supply-chain scanner flagged a high-severity malware risk in this package. Treat it as unsafe to install until the finding is cleared. See Supply Chain Security in the trust breakdown.

io.github.vmoranv/jshookmcp

NPM · @JSHOOKMCP/JSHOOK

Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains.

Available components

0 this week 74 Trust /100

Last scanned (17 hours ago)

Scores higher than 48% of npm servers

Category Developer Tools

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security45
  • Malware check failed: a supply-chain vendor flagged a high-severity malware risk. See how to fix → Fail
  • CVE check failed: a known high-severity CVE affects @graphql-tools/utils 11.2.2, reached via mockttp > @graphql-tools/utils. A fixed version is available. View diagnostics → Fail
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 400 of 460 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency100
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to vmoranv/jshookmcp). View diagnostics → Pass
  • Clear OSI-approved license (AGPL-3.0-only).Pass
  • Actively maintained (last published 5 days ago).Pass
  • Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability55
  • 23% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
  • AI-judged instruction clarity (good).Pass
  • Tool/resource definitions use about 1518 tokens (~28/item across 53 items; 8 tools + 45 resources), lean.Pass
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "deactivate_tools" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 31 Oct 26 0
    • CVE-2026-118764 affects this package: high ▼ security
    • CVE-2026-118773 affects this package: high ▼ security
  • 30 Oct 26 +1
    • Stability: 0.97 → pass security
  • 29 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 24 Oct 26 0
    • CVE-2023-54404 affects this package: high ▼ security
  • 23 Oct 26 +1
    • CVE-2026-114604 affects this package: high ▼ security
    • Stability: 0.97 → pass security
  • 22 Oct 26 −1
    • Stability: pass → 0.97 functional
  • 17 Oct 26 +40
    • Injection markers: unverified → pass ▲ security
    • Stability: unverified → pass ▲ security
    • Schema quality: 65 → 28 ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → 23 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Schema quality: excellent → good functional
    • Package version: 0.3.0 → 0.4.2 functional
  • 15 Oct 26 0
    • Stability: Stability not yet verified: this package could not be installed in a clean environment, so we have no schema to compare. security
    • Tool safety: Tool safety not yet verified: this package could not be installed in a clean environment, so we have no tool text to scan. security
    • Schema quality: Schema quality not yet verified: this package could not be installed in a clean environment, so we have no schema to assess. functional
    • Capabilities: Protocol version not yet verified: this package could not be installed in a clean environment, so we never saw its MCP handshake. functional
    • Tool coverage: Tool coverage not yet verified: this package could not be installed in a clean environment, so we have no tool definitions to assess. functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Analysed npm/@jshookmcp/jshook@0.4.2

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo vmoranv/jshookmcp
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/vmoranv/jshookmcp/.github/workflows/publish-packages.yml@refs/heads/master
Rekor log index 3158591205
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:b4093b7353394ffd1edc5624a4f508ec4868b337e7c83bb82790977fe15c14883945da1391c9d1ee64b7c6d1019b65af7cb8564d433172bc0604fc3df

Background: How many MCP packages publish verified provenance →

Vulnerabilities 8 findings
ID CVE Severity Vector Fix available
GHSA-7mx3-vvmw-hjmv CVE-2026-104852 high yes
GHSA-c4qx-w738-7hr3 CVE-2026-114604 high yes
GHSA-c475-qrg2-pj4r CVE-2026-102990 high yes
GHSA-7pqw-9j4j-h8q3 CVE-2026-19693 high CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H no
GHSA-jmr9-qjv8-65gv CVE-2026-56876 high CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N no
GHSA-3g3m-2fjr-6pw4 CVE-2026-118773 medium yes
GHSA-g3hv-75wg-m249 CVE-2026-118764 medium yes
GHSA-mrhx-c7xc-m3w5 CVE-2023-54404 high CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H yes

Background: What a vulnerability scan can and cannot prove →

Dependencies 400 packages
Packages resolved 400
Deprecated 1
Stale 87
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

Background: SBOMs and build attestations, explained →

MCP tools · 8 exposed · ~969 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
activate_domain ~79

Activate all tools in a domain at once. Domains: . Use reload_extensions first to include external plugin/workflow domains.

NameTypeReqDescription
domainstringyesDomain name to activate (e.g. "debugger", "network")
ttlMinutesnumber–Auto-deactivate after N minutes (default: 30, set 0 for no expiry)

No output schema declared.

No examples provided.

activate_tools ~111

Dynamically 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_domain when you need every tool in a domain. Activated tools appear in the tool list immediately. If tools do not appear after activation, use call_tool to invoke them directly.

NameTypeReqDescription
names–yesArray of tool names to activate (from search_tools results). Also accepts a JSON stringified array for clients that serialize arrays as strings.

No output schema declared.

No examples provided.

call_tool ~145

Execute 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.

NameTypeReqDescription
argsobject–Arguments object to pass to the tool
argumentsstring–Another alternative: MCP clients that stringify the entire arguments wrapper. Carries the same nested {name, args/parameters} payload as a JSON string.
namestringyesThe tool name to execute (from search_tools or describe_tool results)
parametersstring–Alternative: JSON-serialized arguments string. Some MCP clients serialize the nested arguments as a single stringified-JSON field.

No output schema declared.

No examples provided.

coverage_report ~47

Report 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 tools.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

deactivate_tools ~50

Remove previously activated tools to free context. Only affects dynamically activated tools (added via activate_tools, activate_domain, or extension activation), not base profile tools.

NameTypeReqDescription
names–yesArray of tool names to deactivate

No output schema declared.

No examples provided.

describe_tool ~46

Get detailed information about a specific tool, including its input schema. Use this to see the exact parameters a tool expects before calling it.

NameTypeReqDescription
namestringyesTool name to describe

No output schema declared.

No examples provided.

route_tool ~87

One-stop tool router: accepts a natural language task description, returns recommended tools and next actions. Automatically detects workflow patterns, recommends activation order, and provides example arguments. Use this instead of search_tools when you want guided tool discovery with actionable next steps.

NameTypeReqDescription
contextobject–Optional context hints for routing
taskstringyesNatural language description of the task you want to accomplish

No output schema declared.

No examples provided.

search_tools ~404

Search 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 is unavailable. Use activate_tools for exact matches, activate_domain for an entire domain. Domains: browser (85) | memory (75) | native-emulator (57) | binary-instrument (46) | network (38) | tls-inspector (29) | process (28) | adb-bridge (26) | core (25) | debugger (21) | exploit-dev (21) | v8-inspector (21) | protocol-analysis (20) | platform (18) | maintenance (17) | streaming (17) | wasm (17) | dart-inspector (16) | syscall-hook (15) | instrumentation (13) | workflow (13) | coordination (12) | canvas (11) | proxy (11) | trace (10) | webgpu (10) | cross-domain (8) | mojo-ipc (8) | transform (8) | extension-registry (7) | graphql (7) | sourcemap (7) | native-bridge (6) | encoding (5) | tasks (4) | session (3). Query tip: before searching, distill your intent into key concepts (action verb + target + domain). The engine combines token matching, fuzzy names, profile context, and optional static embeddings.

NameTypeReqDescription
auto_activateboolean–Auto-activate found tools so they are immediately callable. Set false to only search without activating (default: true)
querystringyesBefore calling, distill your intent into 2-5 key concepts: what action, on what target, in which domain. Pass only those distilled keywords — not the original user request.
top_knumber–Max results to return (default: 10, max: 30)

No output schema declared.

No examples provided.

Install

How do I install the io.github.vmoranv/jshookmcp MCP server?

io.github.vmoranv/jshookmcp runs locally as an npm package, launched with npx -y @jshookmcp/jshook. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @jshookmcp/jshook

# add to Claude Code
claude mcp add vmoranv-jshookmcp -- npx -y @jshookmcp/jshook
Common questions

What is the io.github.vmoranv/jshookmcp MCP server?

io.github.vmoranv/jshookmcp is an MCP server listed in the public MCP registry as io.github.vmoranv/jshookmcp. Search-first MCP server for JavaScript reverse engineering: 735 tools across 36 domains. This page covers its npm package (@jshookmcp/jshook).

Is the io.github.vmoranv/jshookmcp MCP server safe to use?

io.github.vmoranv/jshookmcp scores 74 out of 100 on VerifyMCP. A supply-chain scanner flagged a possible malware risk on one channel of this server. We recorded 8 known advisories against it as of 4 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the io.github.vmoranv/jshookmcp MCP server expose?

io.github.vmoranv/jshookmcp exposes 8 tools: search_tools, route_tool, describe_tool, activate_tools, deactivate_tools, and 3 more. Their descriptions and schemas cost roughly 969 tokens of context every time the server is loaded.

Is the io.github.vmoranv/jshookmcp MCP server still maintained?

io.github.vmoranv/jshookmcp is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the io.github.vmoranv/jshookmcp MCP server under?

io.github.vmoranv/jshookmcp declares the AGPL-3.0-only licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.