MCP server: One MCP server.

ReversePort

@laaielichterMCP server · External

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

Code searchv1.0.0MITTypeScript
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

Not assessed yet.

What it costs

Free

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

npmreverseportv1.0.0

Run

npx -y reverseport

MCP client config

{
  "mcpServers": {
    "reverseport": {
      "command": "npx",
      "args": [
        "-y",
        "reverseport"
      ]
    }
  }
}
README9 min read

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.

MCP tool catalog License: MIT Node.js Rated by agents Agents

bash
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:

  • 🔍 Understand anything — engine and version of any project or exported game, dependency graphs, scenes, symbols in 30+ languages, executables, packs and unknown data. 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 installs and drives the tools for you 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:

bash
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):

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

From source:

bash
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

text
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.
  • 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.

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
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
text
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; 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.

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

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_reportexecutables, packs, unknown data, diffs, 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

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.

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

Similar modules

Browse Code search