Headless Ghidra MCP server — giving AI agents deep reverse-engineering capabilities.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"ghidra_headless_mcp": {
"cwd": "/path/to/ghidra-headless-mcp",
"args": [
"ghidra_headless_mcp.py",
"--ghidra-install-dir",
"/ABSOLUTE/PATH/TO/ghidra"
],
"command": "python3"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A headless Ghidra server that speaks MCP (Model Context Protocol), giving AI agents full access to deep reverse-engineering workflows: program lifecycle, disassembly, decompilation, patching, types, xrefs, scripting, and more, without a GUI.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in security / developer-tools
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
40+ production-ready SwiftUI recipes for building full-stack iOS apps via MCP.
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
MCP Security Weekly
Get CVE alerts and security updates for Ghidra Headless Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A headless Ghidra server that speaks MCP (Model Context Protocol), giving AI agents full access to deep reverse-engineering workflows: program lifecycle, disassembly, decompilation, patching, types, xrefs, scripting, and more, without a GUI.
Designed to run in the same Docker container as the agent runtime. No sidecars, no extra services.
This entire project---code, tests, and documentation---is 100% vibe coded.
Existing Ghidra automation usually assumes either interactive GUI use or ad hoc scripts with a narrow workflow. This server is headless-only and designed for agent-driven workflows in sandboxed VM/container environments: the agent gets full control over the analysis system, automating large parts of reverse engineering while you interactively discuss and steer the process.
The goal is an interface where agents can inspect, refine, and extend an analysis over time: updating types, symbols, and metadata, improving the analysis database incrementally, applying patches and iterating safely with transactions and undo/redo, and running custom scripts when a workflow needs something bespoke.
ghidra.eval, ghidra.call, and ghidra.script for anything the tool catalog doesn't cover.pyghidra backend for live headless Ghidra workflows.3.11+pyghidra in your runtime (for real analysis)From the repo root:
python3 -m venv .venv
. .venv/bin/activate
pip install .
For development:
pip install -e ".[dev]"
Stdio transport (default):
GHIDRA_INSTALL_DIR=/ABSOLUTE/PATH/TO/ghidra python3 ghidra_headless_mcp.py
TCP transport:
GHIDRA_INSTALL_DIR=/ABSOLUTE/PATH/TO/ghidra python3 ghidra_headless_mcp.py --transport tcp --host 127.0.0.1 --port 8765
Fake backend mode (no Ghidra required):
python3 ghidra_headless_mcp.py --fake-backend
Installed console script:
ghidra-headless-mcp --version
This server speaks standard MCP over stdio (default) or tcp, so any MCP-capable agent host can use it.
claude mcp add ghidra_headless_mcp -- python3 /path/to/ghidra-headless-mcp/ghidra_headless_mcp.py --ghidra-install-dir /ABSOLUTE/PATH/TO/ghidra
Or add it to your project's .mcp.json:
{
"mcpServers": {
"ghidra_headless_mcp": {
"command": "python3",
"args": [
"ghidra_headless_mcp.py",
"--ghidra-install-dir",
"/ABSOLUTE/PATH/TO/ghidra"
],
"cwd": "/path/to/ghidra-headless-mcp"
}
}
}
For fake mode, append --fake-backend and omit the install dir.
codex mcp add ghidra_headless_mcp -- python3 ghidra_headless_mcp.py --ghidra-install-dir /ABSOLUTE/PATH/TO/ghidra
ghidra_headless_mcp.python3 with args ["ghidra_headless_mcp.py", "--ghidra-install-dir", "/ABSOLUTE/PATH/TO/ghidra"] when cwd is the repo root, or use an absolute script path in args.cwd to the repo path if you want relative paths like samples/ls to resolve correctly.--fake-backend.health.ping, then program.open.