How to Integrate reverse-skill with Claude Code, Codex CLI, or Cursor

reverse-skill integrates with any code-aware AI client through a lightweight MCP bridge that registers local tools via JSON configuration files.

The reverse-skill repository is a platform-neutral skill router designed for reverse engineering and security workflows. According to the source code in zhaoxuya520/reverse-skill, the integration architecture uses a four-layer design: core router, MCP bridge, client-layer adapters, and bootstrapping scripts. This guide walks you through connecting Claude Code, Codex CLI, or Cursor to this system.

Architecture Overview

The integration relies on four distinct layers as implemented in the source:

Layer Purpose Key File
Core router Decides what to do and which local tool to call skills/SKILL.md, skills/routing.md
MCP bridge HTTP/stdio servers exposing real tools to AI clients skills/scripts/bootstrap-reverse.sh
Client adapters Thin wrappers registering MCP endpoints per client skills/scripts/bootstrap-reverse.ps1
Bootstrapping Generates tool index, validates environment, enforces rules README_AI.md

All clients follow the same integration flow: detect host OS, refresh the tool index, bootstrap the MCP bridge for your chosen client, then run the routing entry point.

Prerequisites

Before integrating any client, refresh the tool index so the router knows which local binaries exist on your system.


# Linux / macOS

bash <SKILL_ROOT>/skills/scripts/refresh-tool-index.sh

# Windows PowerShell

powershell -File "<SKILL_ROOT>\skills\scripts\refresh-tool-index.ps1"

The refresh-tool-index.* scripts generate tool-index.md and tool-index.json in the skills/ directory, mapping available reverse-engineering tools to skill categories.

Claude Code Integration

Claude Code reads MCP configuration from ~/.claude/mcp.json or the path specified by CLAUDE_MCP_CONFIG_PATH.

Run the bootstrap script with the claude host target:


# Linux / macOS

bash skills/scripts/bootstrap-reverse.sh jshookmcp --mcp-host=claude

# Windows

powershell -File skills/scripts/bootstrap-reverse.ps1 -Capability jshookmcp -McpHostTarget Claude

The script in skills/scripts/bootstrap-reverse.ps1 creates the JSON config and registers the jshook server. After completion, Claude Code can invoke tools via http://localhost:<port>/mcp when your prompts reference skills like "apk reverse" or "offline analysis".

Codex CLI Integration

Codex CLI follows an identical pattern but writes to ~/.codex/mcp.json (or CODEX_MCP_CONFIG_PATH).


# Linux / macOS

bash skills/scripts/bootstrap-reverse.sh jshookmcp --mcp-host=codex

# Windows

powershell -File skills/scripts/bootstrap-reverse.ps1 -Capability jshookmcp -McpHostTarget Codex

As implemented in the bootstrap scripts, Codex automatically reads this configuration when executing the repository's SKILL.md routing instructions.

Cursor Integration

Cursor has no native MCP config file, but consumes standard MCP JSON through custom instructions.

Recommended approach: Reuse the Claude Code configuration:


# Generate Claude-compatible config

bash skills/scripts/bootstrap-reverse.sh jshookmcp --mcp-host=claude

Then point Cursor to ~/.claude/mcp.json in your project settings.

Alternative: Create a dedicated Cursor config:

{
  "mcpServers": {
    "jshook": {
      "url": "http://localhost:23816/mcp",
      "headers": {}
    }
  }
}

Save as ~/.cursor/mcp.json and add to your project's .cursorrc:

include ~/.cursor/mcp.json

Set CURSOR_MCP_CONFIG_PATH before running bootstrap if you need a custom path.

Running the Router

After MCP registration, execute the master router to process skill requests:


# Generic routing with hint

bash <SKILL_ROOT>/skills/scripts/master-route.sh --hint "offline apk"

# Initialize a case with sample

bash <SKILL_ROOT>/skills/scripts/case-init.sh \
  --hint "offline apk" \
  --case-name demo \
  --preset offline-sample \
  --sample ./example.apk

The master-route.sh and master-route.ps1 scripts read RULES.md, load the routing matrix from skills/routing.md, and dispatch to the appropriate sub-skill handler.

Environment Variables

Variable Purpose
CLAUDE_MCP_CONFIG_PATH Override default ~/.claude/mcp.json
CODEX_MCP_CONFIG_PATH Override default ~/.codex/mcp.json
CURSOR_MCP_CONFIG_PATH Specify custom Cursor MCP JSON location
SKILL_ROOT Absolute path to reverse-skill repository (used in examples)

Key Source Files Reference

  • README_AI.md - Primary AI-only bootstrap guide with integration workflow (sections "General Integration Principles" and "MCP Example")
  • docs/OVERVIEW.md - High-level router and client-layer design
  • docs/PLATFORMS.md - Platform matrix and supported entry points
  • skills/scripts/bootstrap-reverse.ps1 - Windows bootstrap for Claude/Codex config generation
  • skills/scripts/bootstrap-reverse.sh - Linux/macOS/Kali bootstrap script
  • skills/scripts/refresh-tool-index.* - Tool discovery and index generation
  • skills/routing.md - Routing matrix mapping hints to sub-skills
  • skills/SKILL.md - Main controller loading routing tables and dispatching work

Summary

  • All three clients use the same MCP bridge architecture—only the output config file location differs
  • Bootstrap scripts in skills/scripts/ handle OS detection and client-specific JSON generation
  • Tool index refresh is required once per machine before first use
  • Environment variables allow custom config paths for enterprise or multi-user setups
  • Cursor works by consuming Claude/Codex-compatible MCP JSON through custom instructions

Frequently Asked Questions

What is MCP and why does reverse-skill use it?

MCP (Model Context Protocol) is a standard for exposing tools to AI clients via HTTP or stdio. The reverse-skill codebase implements lightweight MCP servers like jshookmcp in skills/scripts/bootstrap-reverse.sh so that Claude Code, Codex, and Cursor can invoke local reverse-engineering binaries without native integrations.

Can I use reverse-skill with multiple AI clients simultaneously?

Yes. Each bootstrap command generates a separate config file (~/.claude/mcp.json, ~/.codex/mcp.json, etc.) pointing to the same running MCP server. The master-route.sh dispatcher is stateless and handles requests from any registered client.

Why do I need to refresh the tool index before integration?

The routing logic in skills/SKILL.md and skills/routing.md relies on tool-index.md to map skill hints to available local binaries. Running refresh-tool-index.* discovers what tools (Apktool, JADX, Frida, etc.) are installed and builds this mapping. Without it, the router cannot dispatch to valid tool paths.

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 →