RE-MCP

RE-MCP opens IDA Pro and Ghidra to an agent in headless mode: functions, decompiler, cross-references, types and patching.

  • 178 ★ on the repository
  • Last commit
  • Apache-2.0
MCP server

Broad access

Why this level

  • Dual use: the tool dissects and patches binaries, including third-party ones.
  • `run_script` and `execute` run code, and patching changes analysis databases.
All reasons and checks

jtsylve/re-mcp

Install

Manual install

uv tool install re-mcp-ida

The first install command in the README installs the IDA backend. For Ghidra: `uv tool install re-mcp-ghidra`.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • Dual use: the tool dissects and patches binaries, including third-party ones.
  • `run_script` and `execute` run code, and patching changes analysis databases.

This is third-party code. Review the repository files before installing.

What it does

RE-MCP is a reverse-engineering MCP server with two backends: IDA Pro (package `re-mcp-ida`) and Ghidra (`re-mcp-ghidra`). Both run as standalone servers with no plugin inside the application: IDA through idalib, Ghidra through pyghidra. Core tools carry the same names across backends, so agent workflows port over. The basic order is `open_database`, `wait_for_analysis`, then function lists, decompilation, disassembly, string and byte search, cross-references, types and structures, renames, comments and database snapshots. Byte and instruction patching is included. Rare tools are reached via `search_tools`, `get_schema` and `call`, and `execute` chains calls in a sandboxed Python. The `proxy` mode keeps databases across client reconnects.

Who it is for. Reverse engineers and security researchers who dissect binaries in IDA Pro or Ghidra and want an agent to take over routine work.

Good fit when

  • Functions referencing a given string must be found in firmware.
  • A large binary is worked through function by function with renames and comments done by the agent.
  • The same workflow is run on both IDA and Ghidra.
  • Database snapshots are needed first so the agent's edits can be rolled back.

Not a fit when

  • You have no IDA Pro 9 license and no Ghidra 12 installed.
  • The analysed file must not be shown to an external model.
  • You would be analysing someone else's software without permission.

Example request

Open the binary in a database, wait for analysis and find functions referencing the server-address string. Show the pseudocode of the first one.

MCP

Transport
stdio, http
Authentication
not required

Environment variables

`IDADIR`
Path to the IDA Pro installation when it is not in a standard place.
`GHIDRA_INSTALL_DIR`
Path to the Ghidra installation.
`IDA_MCP_ALLOW_SCRIPTS`
A value of `1` enables `run_script` for arbitrary IDAPython.

Limitations

Python 3.12 or newer, the `uv` manager and at least one backend are required: IDA Pro 9 or newer with a license, or Ghidra 12 or newer with JDK 21. Binaries must sit in a writable directory because database files are created beside them. Patching tools and the optional `run_script` (arbitrary IDAPython, enabled by `IDA_MCP_ALLOW_SCRIPTS`) change the database and execute code. Content of the analysed binary reaches the agent's model.

How to disable. Remove the server entry from the client configuration and run `<backend> stop` if you started a daemon. Delete database files beside the binaries by hand.

FAQ

Which backend should I choose?

Pick IDA Pro if you have an IDA 9 or newer license. Ghidra is free and needs version 12 or newer with JDK 21. Core tools are the same.

Is a plugin inside IDA or Ghidra needed?

No. Backends run as standalone servers through idalib and pyghidra.

How do I keep databases between sessions?

Run `<backend> proxy`: it starts a persistent HTTP daemon and databases survive client reconnects.

How do I turn off arbitrary code?

Leave `IDA_MCP_ALLOW_SCRIPTS` unset: without it `run_script` is off. Hide the `execute` meta-tool with `<PREFIX>DISABLE_EXECUTE`.

How does it find the IDA or Ghidra install?

The server reads `IDADIR` and `GHIDRA_INSTALL_DIR`, then a config file in the home folder, then standard paths.

Discussion

No questions or reviews yet.

An MCP server for IDA Pro with one endpoint for several open databases: decompilation, cross-references and similar-function search across binaries

MCP serverBroad access469Repository stars

A Ghidra MCP server: the agent decompiles, renames variables, builds cross references and works through a binary via a set of small tools

MCP serverBroad access947Repository stars

MCP server that bridges IDA Pro with an agent: reading decompilation, renaming and typing, comments and running IDAPython right in the database

MCP serverBroad access13.4KRepository stars

MCP server and Ghidra plugin that lets an agent decompile binaries, follow cross-references and rename functions in an open project

MCP serverExtended access11.8KRepository stars

MCP server for IDA Pro that hosts several headless idalib sessions: an agent opens binaries, keeps each database isolated and connects with an access key

MCP serverBroad access172Repository stars

A headless IDA Pro MCP server in Rust: the agent opens a database, lists functions, disassembles, decompiles and builds cross references

MCP serverBroad access899Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
RE-MCP (this card)nonot required178
IDA Pro MCPnonot required13,379connects an agent to IDA Pro only; RE-MCP gives the same set for IDA and Ghidra
GhidraMCPnonot required11,777is built for Ghidra; RE-MCP works with both tools and keeps databases between sessions

README in short

Two backends share an interface and need no plugins, while rare tools open on request so the agent's tool list stays small.

README badge

Report a problem

Foxx AIRE-MCP
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.