MCP.so
Sign In

🔍 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

Category

Other

Runtime

python

Transports

stdio

Publisher

Bamimore-Tomi

Config

No standard config provided

This server doesn't expose a parseable MCP config block in its README. See the repository for install instructions.

Repository

Tools

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(), and get_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.

Comments

More Other MCP servers