Ghidrassist MCP Server
Ghidra reverse engineering capabilities accessed via the Model Context Protocol.
Data last scanned today · Reviewed today
Overview
GhidrAssistMCP serves as a bridge for connecting AI assistants directly to the Ghidra reverse engineering platform. By implementing the Model Context Protocol, the extension provides a structured API for querying program information, managing multiple open binaries, and executing analysis tasks from external tools. It supports both SSE and streamable HTTP transports to ensure compatibility with various MCP clients. The server includes 49 built-in tools for automated reverse engineering, six resource types for accessing specific binary metadata, and seven pre-built analysis prompts. It features intelligent result caching, asynchronous task management, and context-aware tracking that automatically adjusts to the active CodeBrowser window.
Our verdict
With a security score of 45/100, this server is classified as high-risk. The score reflects that the project is community-maintained rather than developed by an official vendor, and critical components such as authentication and read-only mode support have not yet been editorially reviewed. Due to these gaps in formal security oversight, it is best suited for research or experimental environments rather than sensitive production workflows.
- Supports 49 built-in reverse engineering analysis tools
- Provides 7 pre-built prompts for common tasks
- Zero direct dependencies reduces supply chain surface area
- Implements multi-window support with active focus tracking
- Community-maintained project lacking official vendor oversight
- Authentication methods have not undergone security review
- Read-only support status remains unverified
- Lacks a dedicated homepage for official documentation
Tools
| Tool | Description | Risk |
|---|---|---|
| get_binary_info | Get basic program information (name, architecture, compiler, etc.) | low |
| list_binaries | List all open programs across all CodeBrowser windows, including Project Path values for unambiguous program_name targeting | low |
| open_program | List/open project programs in CodeBrowser, with optional analysis prompt suppression and analysis-after-open task submission | medium |
| close_program | Close an open CodeBrowser program; changed programs require save=true or ignore_changes=true | medium |
| import_file | Import a host file into the current Ghidra project and optionally open it | high |
| project_files | List or delete files/folders in the active Ghidra project; deletion requires confirm=true | high |
| scripts | List/read/create/delete/run Ghidra scripts | high |
| assemble_code | Assemble instruction text at an address and optionally patch it into program memory | high |
| patch_bytes | Patch raw bytes in program memory at a given address | high |
| export_program | Export the current program to disk (binary or original_file) | high |
Compatibility
| Client | Local | Docker | Remote | Read-only |
|---|---|---|---|---|
| Claude Desktop | ||||
| Cursor | ||||
| VS Code | ||||
| Windsurf | ||||
| ChatGPT |
Frequently asked questions
›What are the system prerequisites for this MCP server?
You must have Ghidra version 11.4 or higher installed and a compatible MCP client, such as GhidrAssist.
›How do I manage the server settings and tools?
Once installed, you can manage server settings, toggle individual tools, and monitor activity through the GhidrAssistMCP control panel, which is accessible via the Window menu or the toolbar icon.
›Does the server support multiple programs at once?
Yes, you can work with multiple open programs by using the program_name identifier, and you can use the Project Path values from list_binaries to disambiguate files with duplicate names.
›Is it possible to use this server in headless mode?
Yes, you can launch the server using Ghidra's analyzeHeadless command by specifying the GAMCPStartServerScript.java pre-script with your desired host and port.
›What is required to build the extension from source?
Building from source requires Java 25 or newer and using the included Gradle wrapper.
›How does the server handle focus when multiple CodeBrowser windows are open?
The server features intelligent focus tracking that automatically detects which binary window is currently in focus and provides context hints in tool responses.
Badge
Maintain this server? Add the live badge to your README.