Agent tooling · MCP server

morluto/rea (REA morluto): Reverse Engineering Tools for AI Agents

morluto/rea gives an AI agent the tools a reverse engineer would normally reach for by hand. It is a local MCP server, so the agent inspects a binary, an app bundle or a website and gets back findings with the evidence attached, then reasons on top of them.

What REA adds to an agent

Most agent toolchains describe code that is already readable. morluto/rea — REA — covers the case where nothing readable exists: a stripped binary, a packaged desktop app, an APK, firmware, a minified bundle. It is an MIT-licensed TypeScript MCP server that the agent calls the same way it calls a file reader or a shell.

The design decision that matters for agents is evidence. Each tool result carries the code it found, the references it followed and the questions it could not answer. The agent can therefore explain what it learned, say what remains unknown, and go back for a second pass — instead of producing a confident paragraph that nobody can check.

One MCP server, many ways in

REA treats each target type as a separate inspection rather than pushing everything through one decompiler. The set that ships today covers:

Set it up in one command

Installation targets the agent, not a desktop GUI. npx rea-agents@latest setup installs REA and registers the MCP server with the agent it finds. A global copy (npm install --global rea-agents, then rea update) keeps the CLI on the same version, and any single analysis can be run without installing at all:

npx -y rea-agents@latest analyze-javascript-application /path --json

The JSON output is what makes the same server useful outside a chat session — a scheduled job or a review step can call it and store what came back.

Requirements, engines and permissions

Node.js 22.x (>= 22.19), 24.x (>= 24.11) or 26+ is required. Deep native analysis needs Hopper, Ghidra or IDA installed locally; REA drives whichever is present and can launch Hopper itself. Everything else — JavaScript, .NET, HAR captures and the static target types — runs without any native engine.

Static inspection never runs the target. Runtime capture does interact with it, under your own user account and permissions, which is why the guides describe the effects before the commands. Timeouts for very large binaries are configurable with REA_GHIDRA_STARTUP_TIMEOUT_MS and REA_HOPPER_STARTUP_TIMEOUT_MS.

Worked examples from the project

Full write-ups are published at rea.tools.

FAQ

Does any of my code leave the machine? No. Detection and analysis run locally; the files are never uploaded. Only the agent's own conversation with its model provider is sent, under whatever policy you have configured there.

Which agents work with it? Any client that supports local MCP servers. Setup covers Claude Code, Codex, Cursor, Gemini CLI and Grok Build; anything else registers the server by hand.

Is a decompiler licence required? Only for deep native work. Hopper, Ghidra or IDA is needed there; Ghidra is free, and the static target types need nothing extra.

How does it handle targets from other platforms? Android devices, PC-98 and 16-bit DOS targets are covered as their own operations rather than being forced through a generic path, and each one has a guide on the project site.

More AI Trending Rankings