Practical setup notes for running REA on Fedora-based Linux, with the problems hit along the way and a queue of tests.
✳︎ REA on Fedora-based Linux: setup notes and gotchas
└─ Make every conversation easier
| Compare approaches | Mechanism | When to choose it |
|---|---|---|
| REA | An open-source MCP server: your agent calls REA to inspect a local target (native binaries, JavaScript and Electron apps, .NET, websites and more) and gets findings with their evidence. | Choose REA when you want your agent to investigate software you own or may examine and explain it with evidence. |
| GhidraMCP | An MCP server plus a Ghidra plugin (Apache-2.0) that exposes core Ghidra functions to MCP clients: decompile and analyse binaries, rename methods and data, list methods, classes, imports and exports. It connects to a running Ghidra (its README targets Ghidra 12.1.4) or imports a binary headlessly with PyGhidra. | Choose GhidraMCP when you work in a Ghidra project and want your agent to drive it, renames included. REA can also use an existing Ghidra installation as its native engine, but imports each target into a temporary Ghidra database instead of your project. |
| Hex-Rays IDA MCP | The official Hex-Rays IDA MCP server (MIT). It needs IDA 9.4 or later with idalib and Python 3.11+, plus Git and uv. It installs with Hex-Rays' hcli, has plugins for Claude Code, Codex, GitHub Copilot CLI and Pi, and also works headlessly without the GUI plugin. | Choose it when you have a licensed IDA 9.4 or later and want the vendor's own server. |
| IDA Pro MCP | An MCP server for IDA Pro (MIT). It needs IDA Pro 8.3 or later (9 recommended) and Python 3.11+; IDA Free is not supported. It installs as a plugin for Claude Code, Codex or Kimi Code, or through IDA's Python. Its README now recommends the official Hex-Rays IDA MCP server instead. | Choose it when you work in IDA Pro and want your agent inside that database. The two can work together: REA's IDA support connects to an existing IDA MCP server, and its documentation names this project. |
| radare2 MCP (r2mcp) | An MCP server for radare2 (MIT), written in C on the native r2 APIs. It runs from the CLI, as an r2 plugin or as an MCP server over stdio or HTTP, can connect to local or remote r2 and iaito sessions, and offers a read-only mode, a sandbox lock and per-tool restrictions. Install it with r2pm. | Choose r2mcp when you already use radare2 and want your agent to drive it, locally or through a remote r2 session, with its read-only and sandbox options. |
| Binary Ninja MCP | A Binary Ninja plugin with an MCP server and a bridge (GPL-3.0) that exposes Binary Ninja's analysis to MCP clients in real time. It needs Binary Ninja and Python 3.12+, installs through Binary Ninja's Plugin Manager, can configure several MCP clients automatically and can switch between several open binaries. | Choose it when you work in Binary Ninja and want your agent in that session. REA's README lists Hopper, Ghidra and IDA as its native engines, not Binary Ninja. |
Each of the others connects your agent to one disassembler: Ghidra, IDA, radare2 or Binary Ninja. REA is one server for many kinds of target: native binaries through Hopper, Ghidra or IDA, plus JavaScript and Electron apps, .NET assemblies, websites and more, some of which need no native engine.
Often yes. REA's IDA support connects to an existing IDA MCP server, and REA can use an installed Ghidra. Check each project's documentation for setup, and analyse only software you own or are authorised to examine.
Ghidra and radare2 are open source. IDA, Hopper, Binary Ninja and JEB are commercial: obtain and license them legally. None of these MCP servers grants a licence for the tool it connects to.