ghidra-mcp
Ghidra MCP Server for AI-powered reverse engineering with over 200 tools
GraphCanon updated 3w · GitHub synced 3w
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 PyPISimilar 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.
Source: README excerpt (regex_v1, Jul 26, 2026)
> Recommended for all platforms: use `python -m tools.setup` directly.Source link
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.setupdirectly.
ensure-prereqsinstalls runtime Python requirements plus the Ghidra JARs needed in the local Maven repository.deploycopies the build output, installs the user-profile extension, and patches Ghidra user config.
-
Clone the repository:
git clone https://github.com/bethington/ghidra-mcp.git cd ghidra-mcp -
Recommended: run environment preflight first:
python -m tools.setup preflight --ghidra-path "F:\ghidra_12.1.2_PUBLIC" -
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"deploysaves/closes an already-running matching Ghidra instance when needed, installs the extension, starts Ghidra, waits for MCP health, and runs schema smoke checks. -
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" -
Show command help:
python -m tools.setup --help -
Optional build-only mode (advanced/troubleshooting):
python -m tools.setup buildSupported build path:
python -m tools.setup builduses 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)
-
Clone the repository:
git clone https://github.com/bethington/ghidra-mcp.git cd ghidra-mcp -
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 unzipDebian/Kali/Ubuntu 23.04+ note (PEP 668): these distros mark the system Python as externally managed, so a bare
pip installfails witherror: 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.venvautomatically, 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 bridgeor a classic virtual environment:
python3 -m venv .venv && source .venv/bin/activate pip install -e . bridge-mcp-ghidra -
Run environment preflight:
python -m tools.setup preflight --ghidra-path ~/ghidra_12.1.2_PUBLIC -
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_PUBLICThis will:
- Install Ghidra JAR dependencies into your local
~/.m2/repository - Build
GhidraMCP-<version>.zipwith Maven - Extract the extension to
~/.config/ghidra/ghidra_<version>_PUBLIC/Extensions/ - Update
preferenceswithLastExtensionImportDirectory - Install Python requirements
- Install Ghidra JAR dependencies into your local
-
Optional: setup only Maven dependencies:
python -m tools.setup install-ghidra-deps --ghidra-path ~/ghidra_12.1.2_PUBLIC -
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.