13bm/GhidraMCP logo

13bm/GhidraMCP

Free

集成 Ghidra 进行二进制分析,支持函数检查、反编译、内存探索、导入/导出分析等。

FreeFree tier
Type
Open Source

About 13bm/GhidraMCP

GhidraMCP is a Ghidra extension that integrates with AI assistants via the Model Context Protocol (MCP). It provides 70 reverse-engineering tools—such as function inspection, decompilation, memory exploration, import/export analysis, symbol renaming, and vulnerability searching—directly accessible through AI clients like Claude Desktop or Claude Code. The architecture consists of a Java plugin that runs a TCP server inside Ghidra, plus a Go bridge binary that translates MCP requests from the AI client into JSON-RPC calls over that socket. Key capabilities include multi-instance support (working with multiple Ghidra windows), async decompilation for large functions, automatic connection retry, paginated result retrieval, and optional API-key authentication. Setup is straightforward: install the extension, enable the plugin, and configure your MCP client using the provided config snippet. The project is cross-platform, with prebuilt bridges for Linux, Windows, and macOS (x86_64 and ARM64), and includes CI/CD pipelines for automated testing and releases.

Key Features

70 MCP tools spanning query, mutation, analysis, malware triage, IoT/embedded security, structure management, async decompilation, and multi-instance support
Easy setup — plugin auto-starts the bridge; MCP client config provided via on-screen button
Cross-platform — prebuilt bridge binaries for Linux x86_64, Windows x86_64, macOS x86_64, and macOS ARM64
Configurable — port, localhost-only binding, API-key auth, auto-start, bridge enable/disable via property file
Multi-instance — work with multiple Ghidra windows simultaneously using target_port to route tool calls
Async decompilation — decompile large functions without blocking; poll for results later
Connection retry — bridge reconnects automatically if Ghidra restarts or the connection drops
Pagination — large result sets (functions, strings, imports, etc.) support offset/limit for safe incremental retrieval
CI/CD — automated builds, Go + Java tests, Ghidra integration tests, and auto-release on new Ghidra versions

Pros & Cons

Pros
  • Exposes over 70 reverse-engineering tools to AI assistants, dramatically expanding automation possibilities
  • Seamless integration with popular MCP clients like Claude Desktop and Claude Code
  • Multi-instance support allows working with multiple binaries simultaneously
  • Async decompilation prevents blocking on large functions
  • Cross-platform support for Linux, Windows, and macOS (x86_64 and ARM64)
  • Easy installation and configuration with auto-start of the bridge
  • Pagination for safe incremental retrieval of large datasets
Cons
  • Requires Ghidra 12.0.3+ and Java 21+, limiting use on older systems
  • Requires an MCP-compatible AI client (e.g., Claude Desktop) to function
  • Setup may be complex for users unfamiliar with Ghidra extensions and MCP configuration
  • Only works with binary formats supported by Ghidra

Best For

Reverse engineering binaries with AI assistanceVulnerability research and exploit developmentMalware triage and analysisIoT and embedded security analysisCode annotation, renaming symbols, and documenting decompiled codeEducational purposes for learning reverse engineering and Ghidra

FAQ

What is GhidraMCP?
GhidraMCP is a Ghidra extension that exposes reverse-engineering tools to AI assistants via the Model Context Protocol (MCP). It provides 70 tools for tasks like decompilation, symbol renaming, memory exploration, and vulnerability search.
How do I install GhidraMCP?
Download the latest release ZIP from the Releases page, install it in Ghidra via File → Install Extensions, and restart Ghidra. Then enable the plugin in File → Configure GhidraMCP.
What AI clients are supported?
Any MCP-compatible client, such as Claude Desktop, Claude Code, or the CLI. The bridge uses standard MCP over stdio.
Does GhidraMCP support multiple Ghidra instances?
Yes, the multi-instance feature allows you to work with several Ghidra windows at once by routing tool calls via a target_port parameter.
Is there any authentication?
Optional API-key authentication can protect the TCP channel between the bridge and the Ghidra plugin. If set, the key is passed via the GHIDRA_API_KEY environment variable in the MCP client config.