ghidra-mcp logo

ghidra-mcp

bethington/ghidra-mcp

Ghidra MCP Server for AI-powered reverse engineering with over 200 tools

GraphCanon updated 3w · GitHub synced 3w

3.0k stars70 forksLast push 3w Python Apache-2.0

Decision brief

Ghidra MCP is a plugin and server for AI-assisted binary analysis using Ghidra with more than 200 tools.

Good fit when

  • When working on projects that benefit from integration with over 200 AI-powered reverse engineering tools
  • For developers who require headless server functionality to automate or batch process tasks without a graphical interface

Avoid when

  • When working in environments where less than 200 reverse engineering tools would suffice
  • If you do not need lazy tool loading or convention enforcement capabilities that Ghidra MCP specifically offers

Observed Jul 17, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Very active (1d since push)
As of 3w
Provenance
Not a fork · Personal account
As of 3w
Security (OSV)
No lockfile
As of 3w

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

pip install ghidra-mcp
PyPI

Similar tools

Same-category neighbours. No typed graph edges are catalogued for this tool yet.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

Provides GUI plugin and headless server functionalities for lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment in the context of AI-assisted binary analysis and static analysis.

Capability facts

CLI
CLI entrypoint

Source: pyproject.toml:[project.scripts] · Jul 26, 2026

Languages
python

Source: github.language+pyproject.toml · Jul 26, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Jul 26, 2026)

> Recommended for all platforms: use `python -m tools.setup` directly.
Source link
Works with VS CodeVS Code

Source: README excerpt (regex_v1, Jul 26, 2026)

# Secondary/manual Gradle build path only (not used by tools.setup or VS Code tasks)
Source link

Tags

README

Installation

Recommended for all platforms: use python -m tools.setup directly.

ensure-prereqs installs runtime Python requirements plus the Ghidra JARs needed in the local Maven repository. deploy copies the build output, installs the user-profile extension, and patches Ghidra user config.

  1. Clone the repository:

    git clone https://github.com/bethington/ghidra-mcp.git
    cd ghidra-mcp
    
  2. Recommended: run environment preflight first:

    python -m tools.setup preflight --ghidra-path "F:\ghidra_12.1.2_PUBLIC"
    
  3. Build and deploy to Ghidra:

    python -m tools.setup ensure-prereqs --ghidra-path "F:\ghidra_12.1.2_PUBLIC"
    python -m tools.setup build
    python -m tools.setup deploy --ghidra-path "F:\ghidra_12.1.2_PUBLIC"
    

    deploy saves/closes an already-running matching Ghidra instance when needed, installs the extension, starts Ghidra, waits for MCP health, and runs schema smoke checks.

  4. Optional strict/manual mode (advanced):

    # Skip automatic prerequisite setup
    python -m tools.setup build
    python -m tools.setup deploy --ghidra-path "F:\ghidra_12.1.2_PUBLIC"
    
  5. Show command help:

    python -m tools.setup --help
    
  6. Optional build-only mode (advanced/troubleshooting):

    python -m tools.setup build
    

    Supported build path: python -m tools.setup build uses Maven under the hood and is the canonical workflow used by the repo tasks and docs.

    # Manual Maven build (requires Ghidra deps already installed in local .m2)
    mvn clean package assembly:single -DskipTests
    
    # Secondary/manual Gradle build path only (not used by tools.setup or VS Code tasks)
    GHIDRA_INSTALL_DIR=/path/to/ghidra gradle buildExtension
    

Installation (Linux — Ubuntu/Debian)

  1. Clone the repository:

    git clone https://github.com/bethington/ghidra-mcp.git
    cd ghidra-mcp
    
  2. Install system prerequisites (if not already installed):

    sudo apt update && sudo apt install -y openjdk-21-jdk maven python3 python3-pip python3-venv curl jq unzip
    

    Debian/Kali/Ubuntu 23.04+ note (PEP 668): these distros mark the system Python as externally managed, so a bare pip install fails with error: externally-managed-environment. Don't work around it with --break-system-packages — it can corrupt apt-managed tooling. Instead use uv (recommended — it creates and manages a project-local .venv automatically, and is what this repo's commands use):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    uv run bridge-mcp-ghidra    # resolves deps into .venv and starts the bridge
    

    or a classic virtual environment:

    python3 -m venv .venv && source .venv/bin/activate
    pip install -e .
    bridge-mcp-ghidra
    
  3. Run environment preflight:

    python -m tools.setup preflight --ghidra-path ~/ghidra_12.1.2_PUBLIC
    
  4. Build and deploy to Ghidra (single command):

    python -m tools.setup ensure-prereqs --ghidra-path ~/ghidra_12.1.2_PUBLIC
    python -m tools.setup build
    python -m tools.setup deploy --ghidra-path ~/ghidra_12.1.2_PUBLIC
    

    This will:

    • Install Ghidra JAR dependencies into your local ~/.m2/repository
    • Build GhidraMCP-<version>.zip with Maven
    • Extract the extension to ~/.config/ghidra/ghidra_<version>_PUBLIC/Extensions/
    • Update preferences with LastExtensionImportDirectory
    • Install Python requirements
  5. Optional: setup only Maven dependencies:

    python -m tools.setup install-ghidra-deps --ghidra-path ~/ghidra_12.1.2_PUBLIC
    
  6. Show command help:

    python -m tools.setup --help
    

Linux paths: The extension is installed to `$HOME/.config/ghidra/ghidra_<version

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.