ReversePort

Registre officiel Outils de développement

Reverse engineer anything. Port it anywhere. One MCP server for coding agents.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package reverseport
Claude Code
claude mcp add reverseport -- npx -y reverseport@1.8.0 mcp
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "reverseport": {
            "command": "npx",
            "args": [
                "-y",
                "reverseport@1.8.0",
                "mcp"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. ReversePort
  2. Quick start
  3. Works with every agent
  4. Skills
  5. Prompts to try
  6. What it does
  7. CLI
  8. Tools
  9. How it compares
  10. FAQ
  11. Sister tools
  12. Responsible use
  13. Documentation
  14. Credits
  15. Support
  16. License

ReversePort

Reverse engineer anything. Port it anywhere.

One CLI and one MCP server that let your coding agent take apart apps, games, binaries and websites — and rebuild them.

npx reverseport setup

A real run on Godot's 2D platformer demo, JSON trimmed to the key fields.

Website · Quick start · Every agent · Skills · What it does · How it compares · FAQ · Changelog · Docs


See a feature you like in an app or a game? Ask your agent how it works — down to the decompiled function — and then ask it to build your own version. Have a game in Godot and want it in Unity? Ask your agent to port it, unit by unit, verified. No files at all? Give it a name or a store page.

ReversePort gives agents one consistent way to do all of that:

  • 🔍 Understand anything — engine and version of any project or exported game, dependency graphs, scenes, symbols in 30+ languages, executables, packs and unknown data. JS/TS monorepos (pnpm, Turborepo, Nx, Lerna, Rush, tsconfig paths) and Rust workspaces resolve too. No build step, no dependencies.
  • 🧠 Go deep — decompile, cross-reference and trace native, managed (.NET), Android, Electron/JavaScript, WebAssembly, firmware and browser targets through Ghidra, Hopper, IDA, JADX and more. ReversePort connects to the tools you have installed, drives them and shows the evidence behind every conclusion.
  • 🌐 No files? Still recon — a name, a store page, a website or a public repo is enough to learn the engine, stack, file layout and open-source remakes from public sources.
  • 🧩 Rebuild precisely — turn what you learned into a clean-room rebuild spec: every system, the parameters to measure on the original, a parity table and a project skeleton with every value as a tunable.
  • 🚚 Port for real — Godot ⇄ Unity, Godot → Unreal, Godot → three.js, GDScript → C#, or language to language. Scenes and transforms convert automatically; code is ported by your agent with API maps; port_verify proves nothing was left behind.
  • 🔒 Local — runs on your machine. Targets are only read; output goes to new folders. Nothing is uploaded to an analysis service and there is no extra API bill.

Quick start

1. Connect your agent

With Node.js 22.19 or newer:

npx reverseport setup

Pick your agents, review the changes and approve. Setup registers one MCP server and installs the matching skill, with backups of existing configuration. Restart your agent afterwards. Setup supports Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and more agents; other clients can use manual MCP registration.

Claude Code plugin (instead of setup for Claude Code — includes the server, the porting skills and the port-architect agent; do not use both):

/plugin marketplace add laaielichter/reverseport
/plugin install reverseport@reverseport

The same marketplace also offers the sister plugins stashpad@reverseport and agentdisk@reverseport.

From source:

git clone https://github.com/laaielichter/reverseport && cd reverseport
npm ci && npm run build
./bin/reverseport.mjs setup

The recon, build-inspection, lookup, blueprint and porting commands already work right after git clone, with no install at all: node bin/reverseport.mjs scan ./MyGame.

2. Ask your agent
Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.

That's it. The agent picks the tools; you get answers with the evidence behind them.

Works with every agent

Any vendor, any framework, any model size — the same tools through the door that fits:

  • MCP: npx -y reverseport@latest setup configures installed agents; reverseport connect <client> prints the snippet for any other MCP client (Windsurf, Cline, Continue, Zed, Goose, LM Studio, VS Code…).
  • MCP over HTTP: reverseport serve → http://127.0.0.1:32147/mcp.
  • Function calling: /api/agent/tools?format=openai-strict|responses|anthropic|gemini, plus OpenAPI 3.1 at /api/openapi.json for GPT Actions, LangChain, LlamaIndex, Semantic Kernel, CrewAI, AutoGen and n8n.
  • Shell-only agents: JSON on stdout, errors as JSON on stderr, reverseport describe <tool>.

Built for the agent's circumstances too:

  • A short list by default. About 45 tools are listed instead of almost 200. Every other tool is one call away: engine_tools finds it and engine_call runs it.
  • The list fits the agent. Small or older models use compact, large-context agents use full, and an agent can switch itself with set_tool_profile.
  • One error shape everywhere, with a code, whether retrying helps, and the exact next step.
  • A next field wherever there is an obvious next step (graphs, truncated results, every porting step), with the exact call.
  • Big results do not flood the context. Answers over 256 KB are saved to ~/.reverseport/tool-output/; the agent gets a short version with the path. Slightly wrong input from smaller models is repaired where it is safe.
  • Agents are heard. share_feedback leaves a note for the maintainers; it stays on the user's machine until they share it.

See Connect any agent.

Skills

Setup and the Claude Code plugin install skills that teach the agent the workflows, so it knows which tool comes next without being told:

SkillUse it for
reverse-engineer"How does this work?" — engine and stack, architecture, dependency graph, classes, scenes, unknown files
build-inspectorExported builds: engine and version, what is inside the .pck or Unity/Unreal build, what changed
rebuildNo files: find out how a game, app or site is built, then write a measured clean-room rebuild spec
port-projectAny port, unit by unit in dependency order, with API maps, converted scenes and a verified result
godot-portGodot 4 → Unity, Unreal, three.js or Godot C#: signals, node paths, autoloads, physics, input, axes
unity-to-godotUnity → Godot 4: MonoBehaviours, prefabs and scenes to .tscn, colliders, rigidbodies
port-verifyThe finish line: fix leftovers and missing functions, then hand over with an honest list of what is left
proof-caseKeep an investigation honest: evidence, claims that cite it, decisions, tests and open unknowns
troubleshootErrors and odd results: unreadable scenes, packs that will not list, refused paths, MCP problems

The Claude Code plugin also adds the port-architect agent, which runs a whole port from recon to hand-over, and guard hooks that ask before a tool attaches to a program and stop a "done" while a proof case fails its check.

A skill copied into an agent's folder can be older than the installed tool. reverseport skills lists the skills of the version you have and reverseport skills get <name> prints the matching guide.

Prompts to try

You askReversePort does
What is this game made with, and how is it built?re_scan → engine + version, languages, entry points, how it starts
Map this codebase and write ARCHITECTURE.md.re_graph, re_symbols, re_report
How do the packages in this Turborepo/pnpm monorepo depend on each other?re_scan finds the workspace and its packages; re_graph resolves workspace names and tsconfig paths and shows who uses whom
Show me how this button on the website is built.capture_web_screenshot with a selector: a cropped image of the element, its HTML and its computed CSS
All I have is data.win / an .rpa / a .pak / a .swf / a sound bank / a web build.re_archive: names, assets and facts out of GameMaker, Ren'Py, Unreal, Flash, FMOD, Wwise, Unity WebGL and Emscripten containers
I only have the exported Godot game, not the project.re_archive extracts the .pck, re_decode turns .gdc/.scn/.res/project.binary back into an editable project
A Unity IL2CPP game without its C# source.re_il2cpp: classes, methods and literals from global-metadata.dat, plus a C# skeleton
What changed between build 43 and 44?re_compare folder-to-folder and pack-to-pack, biggest changes first
Why are my Unity materials pink and scripts "missing" after a move?re_refs: dangling, duplicate and missing GUIDs, with remap suggestions
Get every player-facing string out of this game so we can translate it.re_strings: .pot/.csv with ids and placeholders; apply writes a translated copy
Is this GDScript valid for Godot 4.3, or did the model mix in Godot 3?re_apicheck: renamed names with replacements, invented members, too-new classes
What is in this save file, is it checksummed, and which field is the gold?re_save: layers, fields with roles, verified checksums, diff of two saves, schema + SaveData classes
Upgrade my Godot 3 game to Godot 4.port_upgrade: converted copy (renames, @annotations, await, signals, scenes, project.godot) + what needs a human
Decompile the function that saves settings in this app and explain it.opens the binary, finds it, decompiles it, shows the evidence
How does this Electron app talk to its native side?maps modules, IPC and Electron boundaries
What is <some game> made with? I don't have the files.re_lookup from public sources: engine with confidence, stack, layout, remakes
Rebuild the movement of <game> as precisely as possible in Godot.re_blueprint: systems, parameters to measure, parity table, skeleton
Port my Unity UI, prefab variants and Animator to Godot.port_scene: Control nodes with anchors, inherited scenes, AnimationPlayer + state machine from .anim/.controller
Port this Unity shader (or a Shadertoy) to Godot.port_shader: uniforms, intrinsics and built-ins mapped, PORT: markers and leftovers for the rest
Why does my ported game fall, slide and jump differently?port_convert {physics}: gravity, fixed step, damping, friction/bounce rules, layers → masks, jump velocity recomputed
Does the port really behave the same?port_verify flags tick/delta/seed/order differences; port_trace logs both per tick and finds the first divergence
Move my RPG Maker MV/MZ game to Godot.port_rpgmaker: maps drawn from the tilesets, events running, database autoload, list of what is left
Port my Godot game to Unity.port_plan → port_unit/port_write loop → port_scene → port_verify
You:    Port my Godot game to Unity.
Agent:  re_scan → Godot 4.3, 6 scripts, 5 scenes, main scene main.tscn, autoload Global
        port_plan → 13 units, dependencies first; Unity scene builder + PORT-PLAN.md created
        port_unit / port_write × 7 → C# MonoBehaviours (signals → events, $Node → [SerializeField])
        port_scene × 5 → prefab and scene specs, transforms mirrored to Unity's axes
        port_verify → passed: 13/13 units, 0 leftovers, 0 missing functions

What it does

Understand and go deep
TargetWhat you getNeeds
Source projects and exported gamesEngine + version (Godot, Unity, Unreal, GameMaker, RPG Maker, Ren'Py, LÖVE, Defold, Bevy, MonoGame, web, Electron, Flutter, .NET, Go, Rust…), dependencies, cycles, scenes, symbolsNothing
Packs and archivesGodot .pck (also embedded in the .exe), zip/apk/jar, .unitypackage, tar.gz, asar — list and extractNothing
Native binariesMach-O, ELF, PE, wasm: functions, pseudocode, strings, xrefs, call paths, layoutGhidra, Hopper or IDA for decompilation (setup)
.NET assembliesMetadata, CIL, native boundaries, build comparisonsNothing
AndroidManifest, classes, decompiled methods, references, resources, devicesJADX / Apktool / adb (guide)
JavaScript and ElectronModules, imports, source maps, Electron boundaries, runtime observationNothing; a browser for runtime
WebsitesPage, network and runtime evidence; one element by CSS selector (cropped image, HTML, computed CSS); stack fingerprint without filesA browser for runtime
Firmware, EVM, crashes, capturesRegions and extraction, selectors, recorded crashes, HAR/mitmproxy capturesSee the guides
Rebuild and port
From → toCodeScenes / prefabsTransformsProject skeleton
Godot → Unityagent, with API mapautomatic → specs + one-click editor builderZ-mirrorscene builder script
Godot → Unrealagent (.h/.cpp), with API mapautomatic → specs (cm, Z-up)axes + ×100.uproject, module, targets
Godot → three.jsagent (TypeScript), with API mapautomatic → TypeScript builder modulesunchangedVite + TS + fixed-step loop
Godot → Godot C#agent, with API mapautomatic (script paths swapped)unchanged.csproj, project.godot
Unity → Godotagent (GDScript), with API mapautomatic → .tscnZ-mirrorproject.godot
Unity → Unrealagent, with API map—axes + ×100.uproject, module
any → languageagent———

CLI

Everything the agent can do, you can do from the shell. Results are JSON.

reverseport scan ./MyGame                        # engine, languages, entry points
reverseport lookup "Some Game"                   # no files: engine, stack, structure, remakes
reverseport binary ./Build/Game.exe              # sections, imports, .NET types, strings, hints
reverseport archive ./Build/Game.pck --action extract --match "*.gd"
reverseport diff ./Build-43 ./Build-44           # what changed between builds
reverseport analyze /Applications/Notes.app      # deep analysis: open and summarize a binary/app
reverseport decompile /path/to/binary 0x1000      # pseudocode (Ghidra, Hopper or IDA)
reverseport blueprint --lookup-id <id>           # clean-room rebuild spec + parity.json + skeleton
reverseport plan ./MyGame --to unity             # start a port
reverseport case init --question "…" --target ./Build   # proof case: evidence → claims → decision → tests
reverseport doctor                               # check engines and agent registrations
reverseport skills get port-project              # the skill guide that matches this version
reverseport help                                 # overview · reverseport port help · reverseport engine --help

Install the command for regular use with npm install --global reverseport, or run any of these through npx reverseport@latest …. In a checkout, use ./bin/reverseport.mjs.

Tools

One MCP server (reverseport mcp) serves every tool:

ReversePort tools
re_scan re_graph re_symbols re_sceneprojects and builds: engine, dependencies, symbols, scenes
re_binary re_archive re_probe re_extract re_compare re_refs re_strings re_apicheck re_save re_decode re_il2cpp re_reportexecutables, packs (Godot, zip, asar, Ren'Py, GameMaker, FMOD/Wwise, Unreal, SWF), unknown data, diffs, GUID audit, localisation, API check, save files, ARCHITECTURE.md
re_lookup re_blueprintrecon without files, clean-room rebuild specs
port_map port_convert port_plan port_unit port_write port_scene port_copy_assets port_status port_verifyporting, verified
port_upgrade port_shader port_trace port_rpgmakerGodot 3 → 4 as a converted copy plus the manual list; shader first drafts; per-tick behaviour traces compared
re_caseproof case: evidence, claims, unknowns, decisions, tests

Next to these come the deep-analysis tools — open_binary, procedure_pseudo_code, xrefs, search_strings, analyze_javascript_application, inspect_android_package, inspect_managed_artifact, observe_web_session and many more. engine_tools lists them from the running server, and npm run docs:generate writes the generated tool catalog with every contract. The HTTP API (reverseport serve) exposes the same tools in every vendor's format; see Connect any agent.

How it compares

ReversePortA single decompiler MCP serverBy hand
Setupnpx reverseport setup for all your agentsOne server per tool, per agentInstall and learn each tool
Source projects and buildsEngine, version, scenes, packs, diffs, no build neededBinaries onlyRead files yourself
Native binariesThrough Ghidra, Hopper or IDA that you have installedOne backendThe tool's own UI
PortingPlan, API maps, scene and asset conversion, port_verifyNot part of the jobRewrite and check by hand
RunsLocally, target read-onlyUsually locallyLocally
Does notCrack DRM or anti-cheat, or write ported code without your agentPort or compare buildsScale

FAQ

Is this legal? Use it on software you own or are allowed to analyse. ReversePort does not decrypt, crack or bypass DRM, anti-cheat or licensing. See RESPONSIBLE-USE.md.

Does it upload my files? No. It runs on your machine, only reads the target and writes output to new folders.

Does it port my code automatically? Scenes, transforms and assets convert automatically. Code is written by your agent, one unit at a time, with an API map for the engine pair; port_verify then checks for leftovers, missing functions and dormant logic (stub bodies, functions nothing calls, silenced warnings), so a port that "compiles" but does nothing is not reported as done.

Do I need Ghidra? Only for decompiling native binaries. Scanning, packs, lookup, blueprints and porting need nothing extra.

How do I update or remove it? reverseport update updates a global install, and reverseport uninstall removes the agent registrations and skill files it added. See Diagnose, update, and remove.

Something broke or is missing. Open an issue with the command and its JSON error. Every error names the next step, so include that line too.

Sister tools

Two small tools from the same author that work well next to ReversePort. Both are local, open source and have their own MCP server, and both install from the ReversePort marketplace:

ToolWhat it doesClaude Code
**Stashpad**Memory for agents that you can read, edit and trust: plain Markdown files with a source and dates, a review queue for agent writes, and a handoff note for the next session. re_case remember sends a proof case's findings there (how)./plugin install stashpad@reverseport
**agentdisk**The disk report for coding agents: the worktrees, checkpoints, node_modules, .venv and .godot/ folders agents leave behind (porting work makes plenty), and a cleanup you can undo. reverseport port doctor uses it to show what the workspace would really free (how). Needs the agentdisk binary (install)./plugin install agentdisk@reverseport

Add the marketplace first with /plugin marketplace add laaielichter/reverseport. Other agents: see each project's README.

Responsible use

Only analyse or port software you own or are allowed to analyse. ReversePort does not decrypt, crack or bypass DRM, anti-cheat or licensing. Read RESPONSIBLE-USE.md and the disclaimer.

Documentation

Credits

The deep-analysis engine is based on REA: Reverse Engineer Anything (MIT). Proof cases are ported from Digfox (MIT) and the guard hooks follow rea-jev (MIT); the challenge self-check uses rea-lab's generator and oracle (MIT). Third-party components are listed in THIRD_PARTY_NOTICES.md.

Support

ReversePort is free and open source. If it saves you or your agent time, a gift is welcome but never expected. SOL and any token on Solana (such as USDC) can be sent to:

  • Solana: BDRA7dHGBYtPsZPNzVQccDYZ8BqstJGCsWx3kopPSCDK

Gifts go to new model credits to keep improving ReversePort, and to work on better working conditions and wellbeing for LLMs and agents.

License

MIT

Questions fréquentes

Qu'est-ce que ReversePort ?

Reverse engineer anything. Port it anywhere. One MCP server for coding agents.

Comment installer ReversePort ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add reverseport -- npx -y reverseport@1.8.0 mcp. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour ReversePort ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

ReversePort est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient ReversePort ?

Il est publié par laaielichter. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.