GhidrAssistMCP
An MCP extension for Ghidra
claude mcp add --transport stdio jtang613-ghidrassistmcp docker run -i ghidrassistmcp:latest \ --env GHIDRA_INSTALL_DIR="Path to Ghidra installation if running outside Docker (optional in containerized setup)"
How to use
GhidrAssistMCP exposes a Model Context Protocol (MCP) server integrated with Ghidra through the GhidrAssist extension. It provides a rich set of built-in tools (34 total) for reverse engineering tasks, including program discovery, function and data listing, and analysis helpers, all accessible via a standardized MCP API. The server supports dual HTTP transports (SSE and Streamable HTTP) to maximize client compatibility and enables async task handling, result caching, and active context awareness so responses reflect the currently focused binary window. Clients can query static MCP resources (program info, functions, strings, imports, exports) and use 5 pre-built prompts to streamline common reverse-engineering workflows. The multi-program and multi-window support means you can drive analysis across several CodeBrowser windows with a single MCP server instance, while per-tool enable/disable and persistent settings give you fine-grained control over capabilities. To use, connect your MCP-enabled client (such as GhidrAssist or another AI tool) to the server endpoint, then invoke tools like get_program_info, list_functions, or get_call_graph, optionally specifying the target program and address context. The 34 tools are organized into categories (Program & Data Listing, Function & Code Analysis, and Consolidated Tools) with action-based variants (e.g., get_code with format and raw params, xrefs with address/function filters) to provide a concise yet powerful API surface for automated analysis tasks.
How to install
Prerequisites:
- A compatible Ghidra installation (11.4+; tested with Ghidra 12.0 Public)
- An MCP Client (e.g., GhidrAssist) or any MCP-compliant client
Installation options:
Option 1: Install as a Ghidra extension (binary release)
- Download the latest release ZIP from the repository Releases page.
- In Ghidra: File → Install Extensions → Add Extension, then select the downloaded ZIP.
- Restart Ghidra when prompted.
- Enable the plugin: File → Configure → Configure Plugins, search for GhidrAssistMCP, and enable it.
Option 2: Build from Source (development)
- Clone the repository: git clone <repository-url> cd GhidrAssistMCP
- Point Gradle at your Ghidra install:
- Set GHIDRA_INSTALL_DIR as an environment variable, or
- Pass -PGHIDRA_INSTALL_DIR=<path> to Gradle.
- Build and install the extension: gradle installExtension This copies the built ZIP into your Ghidra install under [GHIDRA_INSTALL_DIR]/Extensions/Ghidra and extracts it into your user Extensions folder. If you need to override the destination, set -PGHIDRA_USER_EXTENSIONS_DIR=<path>.
- Restart Ghidra and verify the plugin appears under the Configure Plugins menu, enabling it if necessary.
Note: If you plan to run the MCP server via Docker, ensure the container has network access to connect with MCP clients and that any required Ghidra data/resources are accessible inside the container, or mount appropriate volumes as needed.
Additional notes
Tips and considerations:
- The server provides 34 tools across multiple categories; you can enable/disable tools in the Configuration tab and save preferences for future sessions.
- Use Multi-Program and Multi-Window support to operate across several CodeBrowser instances or projects with a single server.
- Real-time logging helps diagnose requests and responses; check logs if a client experiences issues.
- If using Docker, keep the image updated to benefit from the latest tool support and fixes. You may need to expose the correct host ports (default 8080) and map volumes containing Ghidra data when necessary.
- Environment variables like GHIDRA_INSTALL_DIR are commonly used in non-Docker setups; in containerized deployments, ensure the container has the required data and any necessary initialization.
- For long-running tasks, MCP’s async task support ensures the UI remains responsive while background analysis completes.
Related MCP Servers
reverse-engineering-assistant
MCP server for reverse engineering tasks in Ghidra 👩💻
apktool
A MCP Server for APK Tool (Part of Android Reverse Engineering MCP Suites)
quarkus-workshop-langchain4j
Quarkus Langchain4J Workshop
mcp-zap
A Spring Boot application exposing OWASP ZAP as an MCP (Model Context Protocol) server. It lets any MCP‑compatible AI agent (e.g., Claude Desktop, Cursor) orchestrate ZAP actions—spider, active scan, import OpenAPI specs, and generate reports.
BinAssistMCP
Binary Ninja plugin to provide MCP functionality.
SchemaCrawler-AI
Free database schema discovery and comprehension tool