Reverse Engineering Assistant logo

Reverse Engineering Assistant

Connects AI clients to Ghidra for interactive or headless binary analysis, decompilation, renaming, scripting, and comparison.

Install Reverse Engineering Assistant

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "reverse-engineering-assistant": {
      "command": "uvx",
      "args": [
        "--from",
        "reverse-engineering-assistant",
        "mcp-reva"
      ],
      "env": {
        "GHIDRA_INSTALL_DIR": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Install not yet sandbox-tested— we haven't run this command through our automated sandbox yet. Not a red flag; we're working through the catalog.

Overview

The reverse-engineering-assistant MCP server, also called ReVa, connects AI clients to Ghidra for tool-driven binary and firmware analysis. It exposes focused operations with surrounding context such as namespaces and cross-references, helping models work through long investigations while limiting unnecessary context. Use assistant mode for interactive work in an open Ghidra project, or headless mode for automation, CI/CD, Docker, and PyGhidra workflows. ReVa communicates through streamable HTTP in assistant mode and can be combined with other MCP servers for tasks such as source-code or web research.

Use cases

  • Analyze a binary and explain its main components
  • Trace encryption usage and produce a technical report
  • Compare two binaries and summarize their differences
  • Automate firmware analysis in a CI/CD pipeline
  • Investigate a function or address during a Ghidra session

Key features

  • Ghidra extension with MCP connectivity
  • Interactive assistant and headless operating modes
  • Decompilation with namespaces and cross-references
  • Variable renaming and datatype correction
  • Binary import and diff analysis
  • PyGhidra scripting integration

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

4/4 checks healthy over the last 9d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 9d ago via OSV.dev · reverse-engineering-assistant (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars882Stargazers on the source repository.
Last commit2d agoMost recent push to the default branch.
Directory activity8 viewsConfig copies, upvotes, and views on AllMCPs.

How Reverse Engineering Assistant works

What reverse-engineering-assistant does

ReVa connects an MCP-compatible AI client to Ghidra's reverse-engineering environment. It is intended for examining binaries, shared libraries, firmware images, and related project files. The server lets an agent inspect program structure, ask about functions and instructions, follow cross-references, and use Ghidra's analysis state while producing explanations or reports.

Its design favors many focused tools over one broad operation. Results include nearby information such as namespaces, links to related references, and decompilation context. This gives the model smaller pieces of evidence to evaluate and encourages an investigation path similar to human reverse engineering. The approach is intended to support large binaries and longer analysis sessions.

How it works

ReVa runs as a Ghidra extension and provides an MCP endpoint from within Ghidra or through a headless Ghidra process. Assistant mode requires Ghidra to be running with a project open. The server listens over streamable HTTP on port 8080 by default, and the port can be changed in Ghidra's project settings. Multiple clients can connect to the same interactive instance.

Headless mode starts Ghidra without its user interface and manages the analysis projects for the session. Projects created in this mode are temporary and are cleaned up automatically. This mode suits automated analysis, CI/CD pipelines, containerized workflows, and PyGhidra scripts. The MCP client configuration determines which mode is used.

ReVa can also operate alongside other MCP servers. For example, a GitHub MCP server can provide source-code access, while a web-search MCP server can supply external research during an investigation.

Setup and configuration

Install the release matching the exact Ghidra version through Ghidra's extension manager, or build from source with GHIDRA_INSTALL_DIR pointing to the Ghidra installation directory and gradle install. ReVa supports Ghidra 12.0 and later. Ghidra 12.2 and later requires Java 25; earlier supported versions require Java 21.

After installation, enable the ReVa Application Plugin in the Project view and the ReVa Plugin in the Code Browser tool. Save the Code Browser tool configuration so the plugin remains enabled by default.

For headless Claude Code use, set GHIDRA_INSTALL_DIR, install the package with uv tool install reverse-engineering-assistant, and register the mcp-reva command. Headless projects are stored beneath .reva/projects/ in the working directory. In assistant mode, configure the client to use the server URL ending in /mcp/message.

ReVa exposes the PyGhidra scripting environment. The default setup listens only on localhost and permits scripting tools. If the server is exposed on a public interface, enable API-key authentication or disable scripting tools in the settings.

Tools and capabilities

  • Inspect program structure, functions, strings, namespaces, and cross-references.
  • Read decompilation and investigate code at specific addresses.
  • Rename variables and adjust data types during analysis.
  • Examine encryption-related code and document where it is used.
  • Import multiple binaries and compare their changes.
  • Work with large binaries and complete firmware images.
  • Run PyGhidra-based automation in headless workflows.
  • Support reverse-engineering reports, class diagrams, and CTF-oriented analysis when directed by the connected model.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Reverse Engineering Assistant

reverse-engineering-assistant is an MCP server that connects AI clients to Ghidra for reverse engineering. Its main tools support decompilation, program and cross-reference inspection, variable renaming, datatype changes, binary comparison, and PyGhidra scripting in interactive or headless analysis workflows.

Install the Ghidra extension matching your Ghidra version through Ghidra's extension manager, then enable both ReVa plugins in the Project view and Code Browser. You can also build it with `GHIDRA_INSTALL_DIR=/path/to/ghidra` and `gradle install`.

Yes, reverse-engineering-assistant supports Claude Code in both assistant and headless modes. For assistant mode, register the streamable HTTP endpoint at `http://localhost:8080/mcp/message`; for headless mode, install the package and register the `mcp-reva` command.

Use headless mode by setting `GHIDRA_INSTALL_DIR` and registering `mcp-reva` with your MCP client. ReVa starts and manages Ghidra projects for the session, which makes the mode suitable for automation, CI/CD, Docker, and PyGhidra scripts.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewReverse Engineering Assistant AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/reverse-engineering-assistant?style=directory)](https://allmcps.com/mcp/reverse-engineering-assistant)
HTML Embed
<a href="https://allmcps.com/mcp/reverse-engineering-assistant"><img src="https://allmcps.com/api/badge/reverse-engineering-assistant?style=directory" alt="Reverse Engineering Assistant on AllMCPs" /></a>