🔍 Ghidra MCP Server
@Bamimore-Tomi
About 🔍 Ghidra MCP Server
Ghidra MCP server that extracts decompiled binary context and exposes it to LLMs via Model Context Protocol.
Basic information
Config
No standard config provided
This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.
RepositoryTools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is 🔍 Ghidra MCP Server?
🔍 Ghidra MCP Server lets you use Ghidra in headless mode to extract rich binary analysis data (functions, pseudocode, structs, enums, etc.) into a JSON file and expose it to LLMs like Claude via the Model Context Protocol (MCP). It turns Ghidra into an interactive reverse‑engineering backend for AI‑assisted analysis.
How to use 🔍 Ghidra MCP Server?
Install Java 21, Ghidra 11.3.1+, and Python 3.10+. Clone the project, then register the server with mcp install main.py. For testing, use mcp dev main.py. To connect with Claude Desktop, update its configuration file (claude_desktop_config.json) to point to the uv binary and the project’s main.py.
Key features of 🔍 Ghidra MCP Server
- Decompiles a binary using Ghidra headless mode
- Extracts function pseudocode, names, parameters, variables, strings, comments
- Extracts data structures (structs), enums, and function definitions
- Outputs all extracted data to
ghidra_context.json - MCP server exposes tools like
list_functions(),get_pseudocode(name),list_structures(),get_structure(name),list_enums(),get_enum(name),list_function_definitions(), andget_function_definition(name) - Designed to integrate with AI assistants for interactive reverse engineering
Use cases of 🔍 Ghidra MCP Server
- Reverse‑engineer unknown binaries with the help of an LLM
- Automatically generate pseudocode summaries and documentation for binary analysis
- Analyze malware or legacy code in a headless, scriptable workflow
- Combine Ghidra’s static analysis with natural‑language questions about decompiled output
FAQ from 🔍 Ghidra MCP Server
What Java version is required?
Ghidra 11.3.1 requires Java 21 (Temurin preferred). Using an older or newer version may cause an “unsupported Java version” error.
Why does Claude Desktop fail with “spawn uv ENOENT”?
Claude cannot locate the uv binary by name. You must set the full absolute path to uv (found via which uv) in the claude_desktop_config.json file.
Does the server support Windows or Linux?
The README only lists macOS as tested. No explicit support for other platforms is documented.
Where is the extracted analysis data stored?
The Ghidra script outputs all extracted data to a file named ghidra_context.json in the project directory.
How do I register the MCP server with a client?
Use the MCP CLI command mcp install main.py to register the server, or manually configure your client (e.g., Claude Desktop) with the command to run main.py via uv.
More Other MCP servers
Nginx UI
0xJackyYet another WebUI for Nginx
Reactive Resume
amruthpillaiA one-of-a-kind resume builder that keeps your privacy in mind. Completely secure, customizable, portable, open-source and free forever. Try it out today!
Codelf
unbugA search tool helps dev to solve the naming things problem.
Maestro
mobile-dev-incPainless E2E Automation for Mobile and Web
MCP Go 🚀
mark3labsA Go implementation of the Model Context Protocol (MCP), enabling seamless integration between LLM applications and external data sources and tools.
Comments