SuperAPI AI Directory

GhidrAssistMCP

Native Ghidra integration with GUI configuration, logging and no external dependencies.

Open website

About this tool

Purpose

GhidrAssistMCP provides a native MCP server extension for Ghidra, serving as a bridge between AI analysis tools and the Ghidra reverse engineering platform. By implementing the Model Context Protocol, external AI assistants, automated analysis tools, and custom scripts can access Ghidra's analysis capabilities through a standardized API.

Main Capabilities

  • MCP server integration: Implements a complete MCP server using the official SDK.
  • Dual HTTP transports: Supports SSE and Streamable HTTP for compatibility with more clients.
  • 100 explicit tools: With discoverable operation names, precise input contracts, and read/write annotations, 93 enabled by default.
  • 6 MCP resource templates: Provide program-specific data resources for program information, functions, strings, imports, exports, segments, etc.
  • 7 MCP prompts: Preset analysis prompts for common reverse engineering tasks.
  • Result caching, asynchronous task support, multi-program support.
  • MCP starts as soon as the Project Manager opens, earlier than CodeBrowser; all CodeBrowsers share the running configuration and bounded request log.
  • Multi-window support: A single MCP server is shared by all CodeBrowser windows, with automatic focus tracking and context hints returned.
  • Configurable UI, real-time logs, dynamic tool management (can be individually enabled/disabled with persisted settings).

Usage

Requirements

  • Ghidra 12.0 or 12.1 Public, Java 25 or newer (the extension ZIP corresponds to the selected Ghidra version).
  • An MCP client (e.g., GhidrAssist).

Binary Installation (Recommended)

  1. Go to the Releases page and download the latest .zip file (e.g., ghidra_12.1_PUBLIC_20261009_GhidrAssistMCP-3.0.0.zip).
  2. In Ghidra: File → Install Extensions → Add Extension, select the downloaded ZIP file, and restart Ghidra as prompted.
  3. Start Ghidra: The MCP runtime starts automatically in the Project Manager; after CodeBrowser opensit obtains the shared MCP view. Configure or disable the server via Window → GhidrAssistMCP.

Building from Source

Building from source requires Java 25 or newer, using the Gradle wrapper included in the repository.

  1. Clone the repository: git clone <repository-url> then cd GhidrAssistMCP.
  2. Set the GHIDRA_INSTALL_DIR environment variable, or pass -PGHIDRA_INSTALL_DIR=<path> when running Gradle.
  3. Ensure Ghidra is not running, then execute: ./gradlew installExtension. This command copies the built ZIP to the installation directory and extracts it to the user extensions directory. The location can be overridden with -PGHIDRA_USER_EXTENSIONS_DIR=<path>.
  4. Restart Ghidra; if the plugin does not appear, enable it by searching for "GhidrAssistMCP" in File → Configure → Configure Plugins.

Configuration

Open the control panel: Window → GhidrAssistMCP.

  • Host: default localhost
  • Port: default 8080
  • Enable/disable toggle The Tool Management tab shows all 100 public tools, allowing individual enable/disable via checkboxes, saving the configuration to persist it, and monitoring tool status in real time.

Headless Mode

Can be launched via Ghidra's analyzeHeadless launcher. Import a binary and start the MCP server with a headless pre-script, or use -process for an already imported project. If you want to keep the session alive after analysis completes, you can run with a post-script in wait mode. MCP clients can connect to /mcp (recommended), /sse, and /message. The headless server runs within the analyzeHeadless JVM and uses the current currentProgram; a completion_file can be used to control clean shutdown, and tool_profile=agent_lab can be used to enable sandboxed local program export.

Use Cases

  • AI-assisted reverse engineering: Let AI assistants read via MCPDisassembly, function identity and context, and perform controlled analysis operations.
  • Automated analysis: call tools through standardized interfaces for batch or process-based analysis.
  • Headless analysis lab: provide MCP access without the CodeBrowser UI.
  • Multi-program and multi-window work: handle multiple open programs simultaneously; the Server is shared across all CodeBrowser windows.

Limitations

  • Requires Java 25 or newer; the extension ZIP corresponds to the Ghidra version.
  • The MCP server requires the project manager to remain open; closing all CodeBrowsers will not stop the server.
  • import_file, export_program, and the five script tools are disabled by default and must be manually enabled in the shared configuration view.
  • Some project operations require the GUI project manager; the headless launcher manages its own project.
  • Full support for the latest MCP revision 2026-07-28 depends on the next major version of the Java SDK; currently Java SDK 2.0.1 is used.
  • Streamable HTTP is located at http://localhost:8080/mcp,支持协议 2025-11-25; legacy SSE uses protocol 2024-11-05.
  • After upgrading, clients should refresh tool definitions and reconnect.
  • Specific pricing and billing methods are not yet provided.