Files
claude-re-setup/ghidra/FrontEndTool.xml
T
LinusandClaude Opus 5.5 ab6fc403e4 Install GhidraMCP 2.0 and connect it to Claude Desktop
Switch Ghidra to 12.1.4 (with openjdk-21-jdk), the version the
GhidraMCP 2.0 release is built for; Ghidra only loads extensions built
for its exact version.

From LaurieWired's GhidraMCP 2.0 release zip (SHA-256 checked):
- unpack the Ghidra extension into /opt/ghidra/Ghidra/Extensions; the
  build fails if it doesn't target GHIDRA_VERSION. GhidraMCPPlugin is a
  RELEASED Developer plugin, so the CodeBrowser config loads it, and it
  serves its HTTP backend on 127.0.0.1:8080.
- install the ghidra-mcp wheel into /opt/ghidra-mcp, with every
  dependency pinned to GhidraMCP's uv.lock at the release commit
  (ghidra/uvlock-to-constraints.py, honouring per-Python markers).

claude-desktop/claude_desktop_config.json adds a stdio "ghidra" server
running ghidra-mcp against http://127.0.0.1:8080/ and is copied into
~/.config/Claude.

Verified with a test project: ghidra-mcp started from that config
connected to Ghidra 12.1.4 in GUI mode and returned program info,
segments and imports for the open program.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 13:12:59 +01:00

28 lines
1.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Initial config for Ghidra's project window (front end). Ghidra overwrites
it on exit; it is copied into the image so that every container start
opens with the "Developer" plugin package enabled (File > Configure). -->
<!-- VERSION must match GHIDRA_VERSION in the Dockerfile. -->
<FRONTEND VERSION="12.1.4">
<TOOL_CONFIG CONFIG_NAME="NO_LONGER_USED">
<ICON LOCATION="view_detailed.png" />
<TOOL TOOL_NAME="Ghidra: NO ACTIVE PROJECT" INSTANCE_NAME="">
<OPTIONS />
<PACKAGE NAME="Utility" />
<PACKAGE NAME="Ghidra Core" />
<!-- Developer plugins that may run in the project window. All are
STABLE, not RELEASED, so each must be listed explicitly. -->
<PACKAGE NAME="Developer">
<INCLUDE CLASS="ghidra.app.plugin.debug.DomainFolderChangesDisplayPlugin" />
<INCLUDE CLASS="ghidra.app.plugin.debug.GenerateOldLanguagePlugin" />
<INCLUDE CLASS="ghidra.app.plugin.debug.JavaHelpPlugin" />
</PACKAGE>
<ROOT_NODE X_POS="560" Y_POS="240" WIDTH="800" HEIGHT="600" EX_STATE="0" FOCUSED_OWNER="FrontEnd Tool" FOCUSED_NAME="FrontEnd" FOCUSED_TITLE="Project Window">
<COMPONENT_NODE TOP_INFO="0">
<COMPONENT_INFO NAME="FrontEnd" OWNER="FrontEnd Tool" TITLE="Project Window" ACTIVE="true" GROUP="Default" />
</COMPONENT_NODE>
</ROOT_NODE>
</TOOL>
</TOOL_CONFIG>
</FRONTEND>