How to Configure MCP Servers for JS Reverse Skill: Complete Setup Guide

To configure MCP servers for the JS Reverse skill, register the jshookmcp server in your Claude MCP configuration file, launch it via npx on port 23816, and verify the HTTP handshake completes successfully.

The zhaoxuya520/reverse-skill repository provides specialized reverse engineering capabilities for Claude, including the JavaScript Reverse skill (js-reverse/) that requires external browser instrumentation. According to the source code in skills/js-reverse/SKILL.md, this skill depends on the jshookmcp MCP server to provide underlying CDP (Chrome DevTools Protocol), Hook, and AST manipulation capabilities that cannot be performed within Claude's native environment.

Understanding the MCP Server Architecture

The JavaScript Reverse skill relies on a Model Context Protocol (MCP) server architecture to bridge Claude with browser-level instrumentation tools. The jshookmcp server acts as a mandatory middleware component that exposes specialized reverse engineering functions via local HTTP endpoints.

As implemented in the reverse-skill source code, the configuration process involves three distinct phases: registering the server in Claude's MCP config, installing and launching the server binary via npx, and enabling the connection through an HTTP handshake. The helper script kali/scripts/refresh-tool-index.sh verifies that npx is available on the system before declaring the capability as auto-registerable.

Step-by-Step MCP Server Configuration

Step 1: Register the Server in Claude MCP Config

The first step requires writing the server configuration to the JSON file referenced by the CLAUDE_MCP_CONFIG environment variable (defaulting to $HOME/.claude/mcp.json). The PowerShell script at scripts/bootstrap-reverse.ps1 automates this registration process.

Run the following command to register jshookmcp:


# Register jshookmcp in the Claude MCP config

powershell -File "skills\scripts\bootstrap-reverse.ps1" -Capability @('jshookmcp')

This writes a configuration block to your MCP config file:

{
  "jshookmcp": {
    "url": "http://127.0.0.1:23816",
    "profile": "search"
  }
}

The registration script creates this JSON structure automatically, pointing to the local endpoint where the server will listen. You can also reference kali/mcp-kali-example.json for additional examples of MCP server configurations.

Step 2: Install and Launch the jshookmcp Server

For the JavaScript reverse workflow, launch the jshookmcp server using npx (Node Package Executor). The exact command is documented in docs/platforms/linux.md and docs/platforms/macos.md.

Execute the following command to start the server:


# Launch jshookmcp via npx – the server will listen on 127.0.0.1:23816

npx -y @jshookmcp/jshook@0.3.4

The -y flag auto-confirms the installation without prompting. Upon successful launch, the server logs a line indicating [MCP] port=23816 and begins listening for incoming MCP connections. The kali/scripts/refresh-tool-index.sh script verifies npx availability before attempting this step, ensuring the capability is properly declared as "auto-registerable" in skills/tool-index.md.template.

Step 3: Enable the Server and Verify Connectivity

After registration, the Claude client must perform a TCP port-check followed by an HTTP MCP handshake before the skill can invoke commands. This logic is implemented in kali/scripts/bootstrap-reverse.sh at lines 345-358.

When the skill calls a js-reverse_* command, the client automatically:

  1. Looks up the jshookmcp entry in the MCP config file
  2. Performs a TCP port-check on 127.0.0.1:23816
  3. Executes the HTTP MCP handshake to establish the connection

To verify MCP availability from within a skill script, you can query the registered servers:


# Within a skill script you can ask the client to list registered MCP servers

$mcpList = mcp__list_servers
Write-Host "Available MCP servers:`n$mcpList"

The client responds with the JSON entries written during the registration phase, confirming that jshookmcp is active and reachable.

Platform-Specific Automation

Windows PowerShell Approach

On Windows, combine registration and startup using the -StartServices flag:


# Register then start the server (Windows PowerShell)

powershell -File "skills\scripts\bootstrap-reverse.ps1" -Capability @('jshookmcp') -StartServices

This executes the npx command automatically after writing the configuration to mcp.json.

Linux and macOS Approach

On Unix-based systems, run the npx command directly after ensuring Node.js is installed. The platform documentation in docs/platforms/linux.md and docs/platforms/macos.md provides the exact invocation strings for maintaining consistent server versions across environments.

Summary

  • Register jshookmcp in $HOME/.claude/mcp.json (or the path specified by CLAUDE_MCP_CONFIG) using scripts/bootstrap-reverse.ps1 or manual JSON configuration
  • Launch the server using npx -y @jshookmcp/jshook@0.3.4 to enable browser instrumentation on port 23816
  • Verify connectivity through the TCP port check and HTTP handshake implemented in kali/scripts/bootstrap-reverse.sh (lines 345-358)
  • The JS Reverse skill automatically enables the server when invoking js-reverse_* commands, as documented in skills/js-reverse/SKILL.md

Frequently Asked Questions

What port does the jshookmcp server use?

The server listens on 127.0.0.1:23816 by default. This endpoint is hardcoded in the bootstrap scripts and must match the URL specified in your mcp.json configuration file. The server logs [MCP] port=23816 upon successful startup to confirm the listening address.

Can I automate both registration and server startup?

Yes. The scripts/bootstrap-reverse.ps1 script accepts the -StartServices flag, which automatically runs the npx command to launch jshookmcp immediately after registering it in the Claude MCP config. This eliminates the need for manual startup on Windows systems.

Where is the MCP configuration file located?

By default, Claude reads the MCP configuration from $HOME/.claude/mcp.json. You can override this path by setting the CLAUDE_MCP_CONFIG environment variable to point to a custom JSON file, as referenced in both the PowerShell and Bash bootstrap scripts.

Why does the JS Reverse skill require an external MCP server?

According to skills/js-reverse/SKILL.md, the skill requires browser-level capabilities including CDP integration, JavaScript hooking, and AST manipulation that cannot be performed within Claude's native environment. The jshookmcp server provides these specialized reverse engineering functions via the MCP protocol, making it a mandatory pre-condition for the workflow.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →