Installation
Install from PyPI
Section titled “Install from PyPI”pip install mcghidraOr with uv for isolated execution:
uvx mcghidraThis installs the MCP server and bundles the Ghidra plugin JAR. No separate plugin installation is needed — the server deploys the JAR automatically when starting Docker containers.
MCP Client Configuration
Section titled “MCP Client Configuration”Claude Desktop
Section titled “Claude Desktop”Add to your Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{ "mcpServers": { "mcghidra": { "command": "uvx", "args": ["mcghidra"] } }}Claude Code
Section titled “Claude Code”claude mcp add mcghidra -- uvx mcghidraOr if running from a local clone:
claude mcp add mcghidra -- uv run --directory /path/to/MCGhidra mcghidraDocker Setup (Optional)
Section titled “Docker Setup (Optional)”If you want automatic container provisioning:
-
Clone the repository:
Terminal window git clone https://git.supported.systems/MCP/mcghidra.gitcd mcghidra -
Build the Docker image:
Terminal window cd docker && docker build -t mcghidra:latest -f Dockerfile ..Or use the MCP tool:
docker_build() -
The
docker_auto_starttool handles everything else — port allocation, container naming, health polling.
Analyzing Raw Firmware
Section titled “Analyzing Raw Firmware”For raw binary blobs (firmware dumps, bootloaders), specify the processor architecture:
docker_auto_start( binary_path="/path/to/firmware.bin", language="ARM:LE:32:v4t", base_address="0x00000000")Common language IDs:
| Target | Language ID |
|---|---|
| ARM7TDMI (Thumb) | ARM:LE:32:v4t |
| ARM Cortex-M | ARM:LE:32:Cortex |
| ARMv7 | ARM:LE:32:v7 |
| MIPS32 LE | MIPS:LE:32:default |
| MIPS32 BE | MIPS:BE:32:default |
| x86 32-bit | x86:LE:32:default |
| x86-64 | x86:LE:64:default |
When language is specified, the loader is automatically set to BinaryLoader (raw binary import). Override with loader="AutoImporter" if your file has a recognized header format.