Integration

GhidrAssistMCP

Ghidra extension that runs an MCP server inside Ghidra over streamable HTTP and legacy SSE, with 100 explicitly named tools (93 enabled by default) for pseudocode, disassembly, P-code, control-flow and call graphs, cross-references, strings, imports and exports, plus renaming, retyping, comments and structure inference. Since version 3.0.0 the server starts with the project manager, so agents can create, open, save and close projects and open programs before a CodeBrowser exists, while one shared server tracks whichever CodeBrowser window has focus. Six program resource templates, seven analysis prompts and a bundled script for running the server under analyzeHeadless complete the package.

Requirements and limitations

  • Ghidra 12.0 or 12.1 Public running on Java 25 or newer; extension zips are specific to one Ghidra version. Release 3.0.0 (2026-10-09), whose tag is the reviewed commit, publishes a zip for Ghidra 12.1; installation goes through File → Install Extensions, and source builds use the bundled Gradle wrapper with Java 25 and GHIDRA_INSTALL_DIR. The server listens on localhost:8080 by default, with streamable HTTP at /mcp (MCP 2025-11-25) and legacy SSE at /sse (2024-11-05); the Java MCP SDK 2.0.1, Jetty and Jackson are bundled under private package names.
  • Programs come from the user's own Ghidra project or imports; the extension supplies no target binaries. Headless mode runs the bundled GAMCPStartServerScript.java inside analyzeHeadless against the loaded program, with wait=true to keep the session open and a completion_file option to end it; the project lifecycle tools need the GUI project manager.
  • Write tools change the program or project, including names, types, comments, structures, disassembly, analysis options and saves, and read and write tools carry separate MCP annotations. import_file, export_program and the five Ghidra script tools are disabled by default; a headless agent_lab profile enables sandbox-local program export while arbitrary-path import and scripts stay disabled. The README describes no client authentication; the server rejects browser requests whose Origin header is not allowed.
  • The project's modernization review reports 90 passing tests in buildExtension test runs against Ghidra 12.0 and 12.1, and a live Ghidra 12.1 smoke test on 2026-10-09 that predates the four project-control tools; these are project-reported. MIT. The repository moved from jtang613/GhidrAssistMCP, and its README recommends the author's GhidrAssist client. No extension, server or analysis was run here, and the reviewed sources establish no REA connection.

About this entry

Type
Integration
Category
Independent MCP integrations
Relationship
Independent agent integration
Targets
Binary

Sources reviewed

The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.

Primary sources

  1. README.md GitHub · symgraph/GhidrAssistMCP · Revision b575acc
  2. docs/modernization-review.md GitHub · symgraph/GhidrAssistMCP · Revision b575acc
  3. build.gradle GitHub · symgraph/GhidrAssistMCP · Revision b575acc
  4. src/main/java/ghidrassistmcp/GhidrAssistMCPServer.java GitHub · symgraph/GhidrAssistMCP · Revision b575acc
  5. ghidra_scripts/GAMCPStartServerScript.java GitHub · symgraph/GhidrAssistMCP · Revision b575acc
  6. LICENSE GitHub · symgraph/GhidrAssistMCP · Revision b575acc
  7. https://github.com/symgraph/GhidrAssistMCP/releases/tag/3.0.0