← all repositories
symgraph/GhidrAssistMCP

Ghidra finally gets an API that LLMs can actually use

GhidrAssistMCP turns Ghidra into a Model Context Protocol server so AI assistants can query disassembly, rename symbols, and patch bytes without touching the UI.

672 stars Java Other AI
GhidrAssistMCP
Not currently ranked — collecting fresh signals.
star history

What it does

GhidrAssistMCP is a Java extension that embeds a Model Context Protocol server directly inside Ghidra. It exposes the disassembler’s internals—functions, strings, imports, data types, and cross-references—to any MCP client, effectively turning reverse-engineering workflows into API calls an LLM can invoke. The server tracks which CodeBrowser window is in focus and can run headless via analyzeHeadless, so the same binary analysis session is reachable whether or not the GUI is open.

The interesting bit

Rather than bloating the API with dozens of endpoints, the author bundles related operations into consolidated tools. get_code switches between decompiler, disassembly, and pcode output with a single format parameter, while struct handles creation, modification, and field renaming behind an action discriminator. It is the kind of API tidiness you rarely see in reverse-engineering glue code.

Key highlights

  • 38 built-in tools covering binary info, function analysis, data variables, cross-references, comments, and symbol renaming
  • Action-based consolidation keeps the tool surface clean; one endpoint handles multiple related operations
  • Multi-window and multi-program awareness with automatic focus tracking
  • Runs headless inside analyzeHeadless for CI or remote analysis workflows
  • Security-sensitive filesystem tools (import_file, export_program) ship disabled by default

Caveats

  • Requires Ghidra 11.4+ and is tested specifically against Ghidra 12.0 Public; compatibility with older releases is unclear
  • The README advertises caching and seven pre-built prompts, but leaves their behavior and scope largely unspecified

Verdict

Worth a look if you want an LLM to handle the tedious parts of binary analysis—renaming variables, tracing cross-references, or summarizing function logic—without writing a custom Ghidra script. Skip it if you already have a Python-based workflow you are happy with; this is tightly coupled to Ghidra’s Java ecosystem and the MCP standard.

Frequently asked

What is symgraph/GhidrAssistMCP?
GhidrAssistMCP turns Ghidra into a Model Context Protocol server so AI assistants can query disassembly, rename symbols, and patch bytes without touching the UI.
Is GhidrAssistMCP open source?
Yes — symgraph/GhidrAssistMCP is open source, released under the MIT license.
What language is GhidrAssistMCP written in?
symgraph/GhidrAssistMCP is primarily written in Java.
How popular is GhidrAssistMCP?
symgraph/GhidrAssistMCP has 672 stars on GitHub.
Where can I find GhidrAssistMCP?
symgraph/GhidrAssistMCP is on GitHub at https://github.com/symgraph/GhidrAssistMCP.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.