Adds an MCP server to Ghidra for AI-assisted reverse engineering through HTTP transports, tools, resources, and prompts.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by GhidrAssistMCP.
A powerful Ghidra extension that provides an MCP (Model Context Protocol) server, enabling AI assistants and other tools to interact with Ghidra's reverse engineering capabilities through a standardized API.
GhidrAssistMCP bridges the gap between AI-powered analysis tools and Ghidra's comprehensive reverse engineering platform. By implementing the Model Context Protocol, this extension allows external AI assistants, automated analysis tools, and custom scripts to seamlessly interact with Ghidra's analysis capabilities.
program_name; use list_binaries Project Path values to disambiguate duplicate filenamesShameless self-promotion: GhidrAssist supports GhidrAssistMCP right out of the box.

Download the latest release:
.zip file (e.g., GhidrAssistMCP-v1.0.0.zip)Install the extension:
Enable the plugin:
Source builds require Java 25 or newer. The included Gradle wrapper pins the supported Gradle release; use it instead of a system Gradle installation.
Clone the repository:
Point Gradle at your Ghidra install:
GHIDRA_INSTALL_DIR (environment variable), or pass -PGHIDRA_INSTALL_DIR=<path> when you run Gradle.Build + install:
Ensure Ghidra isn't running and run:
This copies the built ZIP into your Ghidra install ([GHIDRA_INSTALL_DIR]/Extensions/Ghidra) and extracts it into your Ghidra user Extensions folder (replacing any existing extracted copy).
If you need to override that location, pass -PGHIDRA_USER_EXTENSIONS_DIR=<path>.
Restart / verify:
Open the Control Panel:
Configure Server Settings:
localhost8080The Configuration tab allows you to:
GhidrAssistMCP can also be started from Ghidra's analyzeHeadless launcher. This is useful when you want MCP access to a program loaded in headless Ghidra without opening the CodeBrowser UI.
First, build and install the extension so Ghidra can load the compiled classes and bundled dependencies:
Set paths for your Ghidra install and extracted user extension. On Linux, Ghidra user extensions usually live under ~/.config/ghidra/<ghidra_profile>/Extensions:
Import a binary and start the MCP server as a headless pre-script:
For a binary that is already imported into the project, use -process instead:
To keep a headless MCP session open after analysis completes, run the server as a post-script with wait mode:
MCP clients can connect to:
The headless MCP server runs inside the analyzeHeadless JVM and uses the loaded currentProgram. The server holds a program consumer while it is running so MCP requests do not race against program database closure. Use wait=true when you want analyzeHeadless to stay open for interactive MCP clients. A harness can also pass completion_file=/workspace/control/session.complete; creating that file closes the MCP server cleanly and lets Ghidra save and exit normally.
Disposable static-analysis labs may pass tool_profile=agent_lab. This enables sandbox-local program export while arbitrary path import and Ghidra scripts remain disabled because they can expose process secrets or spawn processes. The harness owns artifact imports. Unknown profiles are rejected.
GhidrAssistMCP provides 49 tools organized into categories. Several tools use an action-based API pattern where a single tool provides multiple related operations.
| Tool | Description |
|---|---|
get_binary_info | Get basic program information (name, architecture, compiler, etc.) |
list_binaries | List all open programs across all CodeBrowser windows, including Project Path values for unambiguous program_name targeting |
open_program | List/open project programs in CodeBrowser, with optional analysis prompt suppression and analysis-after-open task submission |
close_program | Close an open CodeBrowser program; changed programs require save=true or ignore_changes=true |
import_file | Import a host file into the current Ghidra project and optionally open it (disabled by default) |
project_files | List or delete files/folders in the active Ghidra project; deletion requires confirm=true |
scripts | List/read/create/delete/run Ghidra scripts (disabled by default) |
assemble_code | Assemble instruction text at an address and optionally patch it into program memory |
patch_bytes | Patch raw bytes in program memory at a given address |
export_program | Export the current program to disk (binary or original_file) (disabled by default) |
Security-sensitive tools:
import_file,scripts, andexport_programare disabled by default because they interact with the host filesystem or execute script code. Enable them explicitly in the plugin configuration UI when needed.project_filesdeletes entries from the active Ghidra project database, not the original imported host files, and requiresconfirm=true.
| Tool | Description |
|---|---|
analysis_options | List/set/reset Auto Analysis options and save/apply/list/delete option presets for the current program |
analyze_program | Run Auto Analysis on the current program or all open programs; supports full re-analysis, pending-changes analysis, address ranges, and option overrides |
analysis_control | Query Auto Analysis status or request cancellation of queued analysis tasks |
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/jtang613-ghidrassistmcp)<a href="https://allmcps.com/mcp/jtang613-ghidrassistmcp"><img src="https://allmcps.com/api/badge/jtang613-ghidrassistmcp?style=directory" alt="GhidrAssistMCP on AllMCPs" /></a>