Trending
#Security & Privacy

LaurieWired/GhidraMCP

Lets an LLM drive Ghidra's decompiler and symbol renaming so reverse engineering of unfamiliar binaries can be automated.

11,509
1,210
Java
Apache-2.0
1 year old

The problem

Reverse engineering a stripped binary is slow, repetitive work: open the disassembly, jump between functions, read decompiled C, guess what a function does, rename it, repeat. That loop is exactly where LLMs are decent and humans get tired. GhidraMCP exposes Ghidra's core analysis functions as MCP tools so a model can decompile, list methods, classes, imports and exports, and rename methods and data inside your running Ghidra session.

What's different

Classic Ghidra workflows are manual GUI work, supplemented by Ghidra scripts and plugins written per task. GhidraMCP instead wraps the tool behind the Model Context Protocol, so any MCP-capable client becomes the analyst's front end. Two things actually matter here: the plugin runs inside Ghidra and talks HTTP to a Python MCP server, so the model operates on the real project rather than a dumped text file; and the model is allowed to write back, renaming symbols rather than only narrating. Compared with harnesses that shell out to Ghidra headlessly or paste decompiled output into a chat, this keeps state in Ghidra and gives the agent lookup tools instead of raw text.

Who it's for

Malware analysts, CTF players, and vulnerability researchers who already use Ghidra and have an MCP client set up. It is most useful when triaging many unknown binaries or annotating a large one, and least useful for quick one-off lookups where the setup cost dominates. Teams without Ghidra experience, or anyone expecting the model to fully automate attribution and verdicts, should stay away; the tooling is a force multiplier over existing reverse-engineering skill, not a replacement for it.

Cost of adoption

You need Ghidra 12.1.4 specifically, Java 21 to build the extension from source, and uv or Python 3.10+ for the MCP server. Installation is a zipped extension imported through Ghidra's Install Extensions dialog, plus a JSON/CLI entry in your MCP client; the README provides those exact commands. Headless mode needs Python 3.10–3.13, PyGhidra, and an environment variable pointing at the Ghidra install, plus a one-time decompiler native build on macOS. Expect friction from version pinning and from the fact that the extension talks plain HTTP on localhost — treat the port as a local trust boundary. License is Apache-2.0, which is permissive. The README is functional but thin on limitations, error handling and prompt/safety guidance.

Verdict

A 2025 project that landed 11.5k stars and a 356-point Hacker News thread within days of creation, so the attention is real but young; it did not appear on the daily trending board, though it added roughly 1.4k stars in a recent month. The direction is obvious — agent-assisted reverse engineering — and GhidraMCP is one of the earliest credible bridges rather than a mature product. Version-locked Ghidra support and a small surface of tools mean it will need maintenance to stay useful. Worth adopting now if you are already in the Ghidra-plus-LLM workflow; wait if you need something you can bet a production pipeline on.

Hacker News

MCP server for Ghidra
▲ 356 · 70 comments · March 25, 2025

Written by AI from the project's README, updated October 24, 2026. The project's own docs are the source of truth.