67 lines
2.0 KiB
Markdown
67 lines
2.0 KiB
Markdown
# GhidraMCP
|
|
GhidraMCP is an Model Context Protocol server for allowing LLMs to autonomously reverse engineer applications. It exposes numerous tools from core Ghidra functionality to MCP clients.
|
|
|
|
## Features
|
|
MCP Server + Ghidra Plugin
|
|
|
|
- Decompile and analyze binaries in Ghidra
|
|
- Automatically rename methods and data
|
|
- List methods, classes, imports, and exports
|
|
|
|
## Installation
|
|
|
|
### Prerequisites
|
|
- Mac / Windows
|
|
- Install [Ghidra](https://ghidra-sre.org)
|
|
- Python3
|
|
|
|
### Ghidra
|
|
First, download the latest [release](https://github.com/LaurieWired/GhidraMCP/releases) from this repository. This contains the Ghidra plugin and Python MCP client. Then, you can directly import the plugin into Ghidra.
|
|
|
|
1. Run Ghidra
|
|
2. Select `File` -> `Install Extensions`
|
|
3. Click the `+` button
|
|
4. Select the `GhidraMCP-1-0.zip` (or your chosen version) from the downloaded release
|
|
5. Restart Ghidra
|
|
6. Make sure the GhidraMCPPlugin is enabled in `File` -> `Configure` -> `Developer`
|
|
|
|
|
|
### Option 1: Claude Desktop
|
|
To set up Claude Desktop as a Ghidra MCP client, go to `Claude` -> `Settings` -> `Developer` -> `Edit Config` -> `claude_desktop_config.json` and add the following:
|
|
|
|
```json
|
|
{
|
|
"mcpServers": {
|
|
"ghidra": {
|
|
"command": "python",
|
|
"args": [
|
|
"/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
Alternatively, edit this file directly:
|
|
```
|
|
/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
|
|
```
|
|
|
|
### Option 2: 5ire
|
|
Another MCP client that supports multiple models on the backend is [5ire](https://github.com/nanbingxyz/5ire). To set up GhidraMCP, open 5ire and go to `Tools` -> `New` and set the following configurations:
|
|
|
|
1. Tool Key: ghidra
|
|
2. Name: GhidraMCP
|
|
3. Command: `python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py`
|
|
|
|
## Building from Source
|
|
Build with Maven by running:
|
|
|
|
`mvn clean package assembly:single`
|
|
|
|
The generated zip file includes the built Ghidra plugin and its resources. These files are required for Ghidra to recognize the new extension.
|
|
|
|
- lib/GhidraMCP.jar
|
|
- extensions.properties
|
|
- Module.manifest
|