claudekit / tools / rea
[ MCP · Development ]

REA

One MCP for reverse engineering across binaries, applications, and runtime behavior. REA connects your agent to tools for inspecting native binaries, JavaScript and Electron apps, .NET assemblies, and websites. Analysis runs locally, and results include the evidence and limitations behind each conclusion.

morluto/rea ·updated
$ npx rea-agents setup copy

Open source project by morluto (morluto/rea, MIT).

Why use it?

Understanding how a program works without its source code takes reverse engineering tools, and each kind of target has its own: Ghidra, Hopper or IDA for native binaries, the extracted bundle for an Electron app, a browser for a website. A coding agent can’t drive those tools by itself.

REA puts them behind one MCP. Your agent calls REA through MCP to inspect the target and trace relevant code. REA returns findings with their evidence, and the agent uses them to ask follow-up questions, explain the behavior, or write and test an implementation. CLI commands use the same workflows.

What you can do with it

The showcases on the REA website are worked examples:

  • DX-Ball: reconstruct a sound-pan calculation — Follow a sound call into its position-to-pan helper, inspect the instructions, and turn incomplete pseudocode into C. The reconstruction passes 3,205 original-x86 cases and reproduces all 63 compiled function bytes.
  • Notion: trace the Electron clipboard bridge — Find the renderer’s clipboard API, follow it through preload and IPC into the main process, and inspect the rich clipboard format.
  • TH04: recover a DOS bullet-ring calculation — Inspect the original PC-98 game’s 16-bit instructions, recover the fixed and aimed angle calculations, and compare the reconstructed C++ with the historical compiler output.

Some of the targets from the README’s “What you can analyze” table (see the README for the full list):

TargetWhat REA returnsRequirements
Native binariesPseudocode, assembly, strings, symbols, calls and referencesHopper, Ghidra or IDA
JavaScript / ElectronModules, imports, source maps, routes, IPC and native add-on relationshipsNode.js and npm
WebsitesPage structure, scripts, network observations and requested screenshotsA Chrome-family browser
.NET assembliesMetadata, CIL instructions, declared native dependencies and build comparisonsNone (static only)
Android APKsManifest declarations, classes, decompiled methods and referencesHeadless JADX and a full JDK
Saved network capturesRequests, responses, exposed payloads and source locationsHAR or Fiddler Everywhere SAZ

Key features

  • Evidence and limitations with every result

    Results include the evidence and limitations behind each conclusion. The agent gets the returned code, references and unknowns to explain, implement and test.

  • Your choice of native analysis engine

    Native analysis can use an existing Hopper, Ghidra, or IDA installation; setup can optionally install Hopper with approval. REA starts Hopper when an operation needs it.

  • Static inspection and runtime capture are separate

    Static JavaScript and .NET inspection read the supplied files without running the application. Runtime capture runs or interacts with the selected target using your user permissions; each runtime guide describes its effects.

  • MCP and CLI share the same workflows

    You can use the same tools from your terminal, with JSON output for scripting.

  • Setup previews changes and keeps backups

    Setup previews configuration changes and asks for approval before applying them. Agent configuration writes preserve unrelated entries and comments and create backups.

How to use

REA requires Node.js 22.x (>=22.19), 24.x (>=24.11), or 26+, plus npm. Run:

npx rea-agents setup

Choose your agents, review the proposed changes, and approve them. Setup adds REA’s MCP server and matching workflow instructions. Restart your agent afterward.

Then ask your agent. The README’s example prompt:

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

From the terminal, inspect an extracted JavaScript/Electron app directory or ASAR:

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

The result includes modules, imports, Electron boundaries and their evidence. To install the rea command for regular use, run npm install --global rea-agents.

To remove it, rea uninstall removes only REA-owned agent registrations and skill files.

Notes

  • Use it only on targets you’re authorized to examine — Per DISCLAIMER.md, REA is built for lawful analysis of software you own or are authorized to examine. The project does not support circumventing DRM, license checks or anti-cheat systems, developing game cheats, or copying proprietary software. Reverse engineering may be restricted in your jurisdiction or by the license of the software you analyze, and you are responsible for obtaining any required authorization.
  • Not a sandbox — Per SECURITY.md, opening an untrusted binary delegates parsing and analysis to the selected local provider with your user’s permissions, and runtime capture runs the target. Use an appropriate environment for untrusted targets.
  • Local analysis — REA analyzes targets locally. Your agent receives the tool results, and its model provider has its own data policy.
  • Commercial tool licenses are separate — You must legally obtain and be authorized to use commercial tools, including IDA Pro, Hopper, and JEB. REA grants no tool license, key, or activation entitlement.
  • It changes quickly — “REA changes quickly, and new releases include frequent bug fixes.” Update a global install with rea update, or run npx rea-agents@latest setup, then restart your agent.
  • Skill-only installation — npx skills add morluto/rea --skill reverse-engineer-anything installs agent instructions and bundled references, not REA MCP registration or analysis engines.
  • Host support varies by target — Some targets need specific hosts and tools; firmware, packet captures and recorded crashes, for example, require Linux plus caller-supplied tools. Check the README table for each target.
  • Source — morluto/rea (MIT). Guides: rea.tools/guides.
§ 6

See also

same category · curated
[01]
[Tool] e2e · An end-to-end testing framework for web and mobile apps. Describe a goal in natural language and an agent drives the app to reach it; check the result with locators and assertions in the same test. A coding agent such as Claude Code can write, run, and debug e2e tests through the bundled skill and MCP server.
tool · claudekit.io / tools / e2e
[02]
[Tool] Ollaya · Run open decision models locally, the way Ollama runs LLMs. A decision model reads a state plus typed questions and returns calibrated probabilities in milliseconds. Ships an MCP server and an agent skill for Claude Code.
tool · claudekit.io / tools / ollaya
[03]
[MCP] Mobile MCP · MCP server for mobile automation and scraping on iOS, Android, emulators, simulators and real devices. Agents interact with native apps through structured accessibility snapshots or coordinate-based taps based on screenshots.
tool · claudekit.io / tools / mobile-mcp
§ 7

Frequently Asked Questions

frequently asked
§ 7.1
What is REA?
REA (Reverse Engineer Anything) is one MCP for reverse engineering across binaries, applications, and runtime behavior. It connects your agent to tools for inspecting native binaries, JavaScript and Electron apps, .NET assemblies, and websites, and you can use the same tools from your terminal.
§ 7.2
Which agents can use REA?
Any agent that supports local MCP servers. Setup supports Claude Code, Codex, Cursor, Gemini CLI, Grok Build and other agents; other clients can use manual MCP registration.
§ 7.3
How do I install REA?
With Node.js and npm installed, run `npx rea-agents setup`. Choose your agents, review the proposed changes, and approve them, then restart your agent.
§ 7.4
Do I need Hopper, Ghidra or IDA?
Deep native analysis uses one of them. Static JavaScript and .NET inspection work without a native analysis engine.
§ 7.5
Does REA upload my app?
REA analyzes targets locally. Your agent receives the tool results, and its model provider has its own data policy.
§ 7.6
What is REA meant to be used for?
REA is for lawful research, education, interoperability, software preservation, and analysis of software you own or are authorized to examine. The project does not support circumventing DRM or license checks, developing game cheats, or copying proprietary software.