# ghidra-mcp [Health: Active]

**Category:** 🔒 Security  
**Repository:** https://github.com/bethington/ghidra-mcp  
**GitHub Stars:** 5855  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/ghidra-mcp

## Description
Ghidra MCP Server — 200+ MCP tools for AI-powered reverse engineering. GUI plugin + headless server, lazy tool loading, convention enforcement, batch operations, Ghidra Server integration, and Docker deployment.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "ghidra-mcp": {
    "url": "http://127.0.0.1:8081/mcp"
  }
}
```

## Documentation

## What ghidra-mcp does

ghidra-mcp exposes Ghidra’s reverse-engineering functions through the Model Context Protocol. Its 209 tools cover binary inspection and modification, including function and symbol work, type changes, comments, structure creation, script execution, P-code emulation, live debugger integration, and PCode-graph data-flow analysis.

The tool layer also supports workflows for documenting functions, finding orphaned code, processing many items at once, and transferring documentation between binary versions using SHA-256 function matching. Convention enforcement can automatically fix selected naming or typing patterns, warn about inconsistent changes, or reject invalid operations. Function completeness analysis provides a percentage score and identifies areas that still need documentation.

## How it works

The integration has two parts: a Ghidra extension and an MCP bridge. The extension runs inside Ghidra and exposes a local connection endpoint; the bridge presents the available operations to an MCP client. In the GUI workflow, the extension is enabled in Ghidra’s project settings, then the bridge is registered as a command in the client’s MCP configuration.

Ghidra can be used with or without its graphical interface. The project also supports HTTP transports, Docker-based deployment, and connections to shared Ghidra Server repositories. Batch operations reduce the number of API calls needed for multi-item work, while atomic transactions and configurable timeouts help control changes and failures.

## Setup and configuration

The release installation requires Ghidra 12.1.4, Java 21, and `uv`. The extension must match the Ghidra version for which it was built. Download the extension ZIP and Python wheel from the same release, install the extension through Ghidra’s **File > Install Extensions** dialog, restart Ghidra, and enable `GhidraMCPPlugin` under the Utility configuration.

After enabling the plugin, verify the local connection at `http://127.0.0.1:8089/check_connection`. Install the bridge with `uv tool install`, then configure the MCP client with the absolute path to `bridge-mcp-ghidra` or its Windows executable. GUI-launched clients may not inherit the shell’s `PATH`, so using only the command name can result in a process-spawn error.

Tagged releases are intended for stable use. Release candidates and the `main` branch are beta, while `dev` is experimental and may change its tool interface.

## Tools and capabilities

- Inspect and modify functions, symbols, types, comments, and structures.
- Execute Ghidra scripts through MCP tools.
- Run P-code emulation and analyze PCode-graph data flow.
- Integrate with the live debugger.
- Apply batch operations across multiple analysis targets.
- Transfer function documentation between binary versions with SHA-256 matching.
- Connect to Ghidra Server repositories and support checkout, check-in, version control, and collaboration workflows.
- Enforce naming, typing, and documentation conventions at the tool layer.
- Run analysis through GUI, headless, HTTP, or Docker-oriented deployments.

## Limitations and notes

The extension is tied to the exact Ghidra version it was built for, so upgrading Ghidra may require a matching extension release. The stable installation path uses released extension and bridge artifacts; beta and development versions can change their tool shapes before release. The MCP client must be able to launch the bridge using its configured absolute executable path, particularly when the client runs outside an interactive shell.

_Full upstream README: https://allmcps.com/mcp/ghidra-mcp/readme_

