Reverse engineer anything. Port it anywhere. One MCP server for coding agents.
Runs on your machine from its package; the steps are below.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y reverseport
MCP client config
{
"mcpServers": {
"reverseport": {
"command": "npx",
"args": [
"-y",
"reverseport"
]
}
}
}One CLI and one MCP server that let your coding agent take apart apps, games, binaries and websites — and rebuild them.
npx reverseport setup
Quick start · Every agent · What it does · Prompts to try · CLI · Tools · 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:
port_verify proves
nothing was left behind.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
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.
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.
Any vendor, any framework, any model size — the same tools through the door that fits:
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…).reverseport serve → http://127.0.0.1:32147/mcp./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.reverseport describe <tool>.Built for the agent's circumstances too:
engine_tools finds it and engine_call runs it.compact, large-context agents use full, and an agent
can switch itself with set_tool_profile.next field wherever there is an obvious next step (graphs, truncated results, every porting step), with the exact call.share_feedback leaves a note for the maintainers; it stays on the user's machine until
they share it.See Connect any agent.
| You ask | ReversePort 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 |
| What changed between build 43 and 44? | re_compare folder-to-folder and pack-to-pack, biggest changes first |
| 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 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
| Target | What you get | Needs |
|---|---|---|
| Source projects and exported games | Engine + version (Godot, Unity, Unreal, GameMaker, RPG Maker, Ren'Py, LÖVE, Defold, Bevy, MonoGame, web, Electron, Flutter, .NET, Go, Rust…), dependencies, cycles, scenes, symbols | Nothing |
| Packs and archives | Godot .pck (also embedded in the .exe), zip/apk/jar, .unitypackage, tar.gz, asar — list and extract | Nothing |
| Native binaries | Mach-O, ELF, PE, wasm: functions, pseudocode, strings, xrefs, call paths, layout | Ghidra, Hopper or IDA for decompilation (setup) |
| .NET assemblies | Metadata, CIL, native boundaries, build comparisons | Nothing |
| Android | Manifest, classes, decompiled methods, references, resources, devices | JADX / Apktool / adb (guide) |
| JavaScript and Electron | Modules, imports, source maps, Electron boundaries, runtime observation | Nothing; a browser for runtime |
| Websites | Page, network and runtime evidence; stack fingerprint without files | A browser for runtime |
| Firmware, EVM, crashes, captures | Regions and extraction, selectors, recorded crashes, HAR/mitmproxy captures | See the guides |
| From → to | Code | Scenes / prefabs | Transforms | Project skeleton |
|---|---|---|---|---|
| Godot → Unity | agent, with API map | automatic → specs + one-click editor builder | Z-mirror | scene builder script |
| Godot → Unreal | agent (.h/.cpp), with API map | automatic → specs (cm, Z-up) | axes + ×100 | .uproject, module, targets |
| Godot → three.js | agent (TypeScript), with API map | automatic → TypeScript builder modules | unchanged | Vite + TS + fixed-step loop |
| Godot → Godot C# | agent, with API map | automatic (script paths swapped) | unchanged | .csproj, project.godot |
| Unity → Godot | agent (GDScript), with API map | automatic → .tscn | Z-mirror | project.godot |
| Unity → Unreal | agent, with API map | — | axes + ×100 | .uproject, module |
| any → language | agent | — | — | — |
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 doctor # check engines and agent registrations
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.
One MCP server (reverseport mcp) serves every tool:
| ReversePort tools | |
|---|---|
re_scan re_graph re_symbols re_scene | projects and builds: engine, dependencies, symbols, scenes |
re_binary re_archive re_probe re_extract re_compare re_report | executables, packs, unknown data, diffs, ARCHITECTURE.md |
re_lookup re_blueprint | recon without files, clean-room rebuild specs |
port_map port_convert port_plan port_unit port_write port_scene port_copy_assets port_status port_verify | porting, verified |
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.
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.
The deep-analysis engine is based on REA: Reverse Engineer Anything (MIT). Third-party components are listed in THIRD_PARTY_NOTICES.md.
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:
BDRA7dHGBYtPsZPNzVQccDYZ8BqstJGCsWx3kopPSCDKGifts go to new model credits to keep improving ReversePort, and to work on better working conditions and wellbeing for LLMs and agents.