See Inside Every Agent Run: Hands-On with OpenTelemetry Traces on the Claude Platform
What REA is
REA (Reverse Engineer Anything) is an open-source, MIT-licensed MCP server and CLI from the morluto/rea repo. It lets an AI coding agent such as Claude Code drive reverse-engineering tools you already have, like Ghidra, Hopper or IDA Pro. It does not add a new decompiler.
It covers native binaries (Mach-O, ELF, PE), Electron and .NET apps, Android APKs, firmware, and passive inspection of websites. Each result comes with evidence and its stated limits.
Prerequisites
You need Node.js 22.19 or later, plus npm and a supported agent. A native engine is only needed for deep analysis of compiled binaries.
Need | Required for | Notes |
|---|---|---|
Node.js 22.x (≥22.19), 24.x (≥24.11) or 26+, and npm | Everything | Bun works too: |
An agent: Claude Code, Codex, Cursor, Gemini CLI, Grok Build and others | Using REA from chat | Setup registers the MCP server with the agents you choose |
Hopper, Ghidra or IDA | Native binaries (pseudocode, assembly, symbols) | Setup can install Hopper with your approval. You must license IDA and Hopper yourself |
JADX with a JDK, adb | Android APKs and devices | |
TShark | Packet captures | |
A Chrome-family browser | Website inspection | |
A procps-compatible | Ghidra, JADX, firmware and JavaScript analysis on Linux |
Static JavaScript and Electron analysis needs no native engine, so it is the easiest place to start.
Install and connect
One command registers REA with your agent. The npm package is rea-agents.
Run the setup wizard:
npx rea-agents setupChoose your agents (for example Claude Code), review the proposed changes, and approve them. Setup also installs a matching workflow skill.
Restart your agent so it loads the new MCP server.
Optional: install the
reacommand globally to use it from a terminal:npm install --global rea-agents
Then runrea --help. Update it later withrea update.
To refresh the agent setup to the newest version, run npx rea-agents@latest setup. For manual MCP registration, see docs/installation.md in the repo.
Use it
Ask your agent in plain words. Name the app, the feature, and what you want back. The README's own example:
Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project.
The agent then works in a loop:
Inspect. REA routes the target to the right tool, for example Ghidra for a binary or a static reader for an Electron app.
Hypothesize. The agent proposes how the feature works, citing the evidence REA returned.
Test. It checks the hypothesis against more evidence or a runtime capture.
Rebuild and compare. It implements the feature in your project and compares it with the original.
You can also call REA directly from a terminal. This analyzes a JavaScript or Electron app without running it:
npx -y rea-agents@latest analyze-javascript-application "D:/apps/example" --jsonUse an absolute path to your target. Native commands, provider selection and snapshots are covered in docs/cli.md.
Tip: ask the agent to show its evidence and say what it could not confirm. REA reports its limits, and those limits tell you which parts of the agent's answer are guesses.
Legal and safety notes
Only analyze software you own or are authorized to examine. The README limits REA to lawful research, education, interoperability, software preservation and that kind of analysis.
Tool licenses: REA grants no license for IDA Pro, Hopper or JEB. Cracked copies, stolen keys and license bypasses are not authorized.
Running the target: Static JavaScript and .NET inspection only reads files. Runtime capture runs the target with your user permissions, so use a VM or sandbox for anything untrusted.
Your data: Analysis runs locally, but what the agent sends to its model provider falls under that provider's data policy.
Install source: Install only from the official repo, rea.tools or the
rea-agentsnpm package. Third-party listings of an REA skill are unsigned and unverified.
Sources
morluto/rea README: install, prerequisites, CLI, legal notes
