Pyghidra MCP Server

Ghidra reverse engineering capabilities accessible to AI agents and development workflows.

Data last scanned today · Reviewed today

451 dangerous tool22 tools392PythonApache-2.0

Overview

Pyghidra-MCP serves as a functional bridge between the Ghidra software reverse engineering suite and the Model Context Protocol. By leveraging pyghidra and jpype, it exposes the ProgramAPI and FlatProgramAPI to language models, allowing for automated analysis of binaries within an AI-assisted environment. The server operates in two distinct modes to support varying use cases. A headless mode provides a path for CLI-driven automation and CI/CD integration, while a GUI mode launches the full Ghidra interface to share live program state during analysis.

Our verdict

This project holds a high risk level with a security score of 45/100. Because it is a community-maintained tool that has not yet undergone editorial or security review, users should exercise caution. Specifically, the lack of an audit for read-only modes and authentication mechanisms means users should carefully monitor its behavior when integrating with sensitive reverse engineering projects.

  • Supports headless CLI analysis for automated workflows
  • Allows live GUI synchronization with Ghidra state
  • Zero direct dependencies reduces supply-chain surface area
  • Includes active unit and integration test coverage
  • Community-maintained without official vendor support
  • Authentication methods remain unreviewed
  • Security properties of read-only mode not yet verified

Tools

ToolDescriptionRisk
search_codeSearch decompiled pseudo-C using semantic vector search or literal matching.low
list_xrefsList cross-references to function(s), symbol(s), or address(es).low
gen_callgraphGenerates a MermaidJS call graph for a specified function.low
decompile_functionDecompile function(s) by name or address.low
list_exportsLists all exported functions and symbols from a specified binary.low
list_importsLists all imported functions and symbols for a specified binary.low
read_bytesReads raw bytes from memory at a specified address.low
search_stringsSearches strings within a binary.low
search_symbols_by_nameSearch for symbols within a binary by name.low
import_binaryImports a binary from a designated path into the current Ghidra project.medium

Compatibility

ClientLocalDockerRemoteRead-only
Claude Desktop
Cursor
VS Code
Windsurf
ChatGPT

Frequently asked questions

What operating modes are available for running the server?

The server supports a headless mode for CLI-driven automation and a --gui mode that launches Ghidra and shares live program state with the GUI.

What transport mechanisms can be used to connect to the server?

The server supports stdio for local MCP hosts, streamable-http for multi-client access, and legacy sse.

Can I use this server to interact with existing Ghidra projects?

Yes, you can specify a path to an existing Ghidra project file using the --project-path flag, which is particularly relevant when using the GUI mode.

How does the server handle program analysis during startup?

The server features asynchronous startup, allowing it to begin handling incoming requests while binaries are still being analyzed in the background.

Is there a command-line interface tool available for this server?

Yes, pyghidra-mcp-cli is an HTTP client designed to issue terminal commands against a server running in streamable-http mode.

Badge

Pyghidra MCP Server security score, rated on RepoAI

Maintain this server? Add the live badge to your README.