1. Conduid
  2. Other
  3. GhidraMCP
MCP server · Other

GhidraMCP

Unclaimed MIT other
40Fair

Scored 4 days ago · breakdown

About GhidraMCP

GhidraMCP is an MCP server published by themixednuts in the Other category.

The repository has 90 stars and 14 forks, with the last commit 29 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/themixednuts/GhidraMCP

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about GhidraMCP

Powered by Claude · Grounded in docs

I know everything about GhidraMCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 3 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.

1 check has not been run yet.

Releases

v0.9.0v0.9.0 · 23 Sep 2026[0.9.0] - 2026-09-22 Added Program-wide code search - `inspect.search_code` scans decompiled functions in bounded, cursor-paged batches and returns matching source lines with context and function addresses. Reusable decompilation…
v0.8.0v0.8.0 · 12 Jun 2026Full Changelog: https://github.com/themixednuts/GhidraMCP/compare/v0.7.1...v0.8.0
v0.7.1v0.7.1 · 20 May 2026Full Changelog: https://github.com/themixednuts/GhidraMCP/compare/v0.6.2...v0.7.1
v0.7.0-pre15v0.7.0-pre15 · 1 May 2026
v0.7.0-pre14v0.7.0-pre14 · 1 May 2026

README

Install MCP Server

If your browser/GitHub blocks custom URI handlers, use the web fallback: Cursor install fallback

Connect Ghidra to MCP-compatible clients

Related project: WinDbg MCP Server


✨ Features

  • 14 MCP tools covering analysis, inspection, editing, project workflows, and Version Tracking
  • MCP resources for common program views such as program info, listing, imports/exports, strings, RTTI, and decompilation
  • Built-in MCP prompts and argument completions for common reverse engineering workflows
  • Structured responses with explicit per-call limits and opaque cursors for large datasets
  • Large outputs are bounded by tool arguments such as page_size, max_lines, or max_results; pass returned next_cursor values back as cursor to continue
  • Debugger support for Trace RMI connect/accept/launch, target lifecycle, trace/thread/stack/object discovery, live memory/register/watch operations, static mappings, remote methods, and emulation
  • Typed memory mapping applies a data type and returns bounded byte-to-field rows for program memory or the active debugger trace
  • Project workflows can rebase program image bases explicitly or from a PE binary's stated ImageBase
  • Focused CodeBrowser and Debugger operations automatically navigate the user's active Ghidra UI to the relevant function or address

Tool Commands

  • Analysis & inspection: analyze, inspect, script_guidance
  • Program changes: annotate, functions, symbols, data_types, memory, delete
  • Debugging: debugger
  • Project workflows: project, batch_operations
  • Version tracking: vt_sessions, vt_operations

Resource Templates

  • Project overview: ghidra://programs
  • Program views: ghidra://program/{name}/info, ghidra://program/{name}/functions, ghidra://program/{name}/symbols, ghidra://program/{name}/datatypes, ghidra://program/{name}/memory
  • Triage views: ghidra://program/{name}/imports, ghidra://program/{name}/exports, ghidra://program/{name}/strings, ghidra://program/{name}/rtti
  • Code views: ghidra://program/{name}/listing/{address}, ghidra://program/{name}/function/{address}/decompile

Prompts

  • analyze_function
  • analyze_vtable
  • compare_binaries
  • find_vulnerabilities
  • map_data_structures
  • rename_analysis
  • triage_binary

🚀 Installation

Requires Ghidra 12.1.4.

  1. Download the latest release zip file from the Releases page.
  2. In Ghidra, go to File -> Install Extensions....
  3. Click the + button (Add extension) in the top right corner.
  4. Navigate to the downloaded zip file and select it.
  5. Ensure the GhidraMCP extension is checked in the list and click OK.
  6. Restart Ghidra.

▶️ Usage

  1. Start Ghidra with the GhidraMCP extension enabled.
  2. Confirm the server port in Configuration.
  3. Point your MCP client to http://127.0.0.1:8080/mcp (or your custom port).

[!WARNING] Script Error Dialogs: Some script-driven operations can open a Ghidra error dialog. Close the dialog before continuing, or requests may appear to hang.

[!TIP] Finding program names: Use the ghidra://programs resource to see the exact program names available in the current project.

⚙️ Configuration

The GhidraMCP server can be configured through Ghidra's application-level settings:

  1. In Ghidra, go to Browser → Edit → Tool Options.
  2. In the left panel, expand Miscellaneous and select GhidraMCP HTTP Server.
  3. Configure the following options:
    • Server Port: The port number for the MCP server (default: 8080)
    • Auto-start Server: Whether to automatically start the server when Ghidra launches
    • Request Timeout (seconds): Maximum time allowed for an MCP request before timing out (default: 600)
  4. Click OK to save your settings.

🛠️ Building from Source

If you are installing from a GitHub release zip, you can skip this section. The steps below are only for building from source.

  1. Clone the repository:

    git clone https://github.com/themixednuts/GhidraMCP.git
    
  2. Ensure you have JDK 21 or later installed.

  3. Build the project with just:

    just package
    

    To run the same checks used by the main build CI:

    just ci
    

    Or use the Gradle wrapper directly:

    bash ./gradlew package
    

    On Windows PowerShell, use:

    .\gradlew.bat package
    

    Ghidra jars are fetched automatically from the official release zip on first run.

    Useful development entrypoints:

    • just test runs the unit suite
    • just test-e2e runs the end-to-end suite
    • just update-verification-metadata refreshes Gradle dependency verification checksums after manual dependency changes
    • The manual "Dependency Maintenance" GitHub workflow validates dependency and Ghidra update candidates without opening bot PRs
  4. The installable zip file is written to target/ (for example, target/GhidraMCP-0.9.0.zip). Install it using the steps above.

Optional: Install Local Pre-commit Checks

To run formatting checks and full integration tests before every commit:

just install-hooks

The installed pre-commit hook runs:

  • just fmt-check
  • just test
  • just test-e2e

🔌 Configuring an MCP Client

Use this server URL in your client:

  • http://127.0.0.1:8080/mcp (or your custom port)

Most clients use a config like:

{
  "mcpServers": {
    "ghidra": {
      "url": "http://127.0.0.1:8080/mcp"
    }
  }
}

Client Setup Instructions

Config path:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Add the JSON config above, then restart Claude Desktop.

claude mcp add ghidra "http://127.0.0.1:8080/mcp" --transport http

Manual config path: ~/.cursor/mcp_settings.json

Use ~/.config/opencode/opencode.json (or project-level opencode.json):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ghidra": {
      "type": "remote",
      "url": "http://127.0.0.1:8080/mcp",
      "enabled": true
    }
  }
}
codex mcp add ghidra --url http://127.0.0.1:8080/mcp

Or add this to ~/.codex/config.toml:

[mcp_servers.ghidra]
url = "http://127.0.0.1:8080/mcp"

[!IMPORTANT] The default port is 8080 (configurable in Ghidra: Browser → Edit → Tool Options → Miscellaneous → GhidraMCP HTTP Server). If you change the port, update your client configuration accordingly. Ghidra must be running with the extension enabled for the client to connect.

[!NOTE] Timeout Issues: If you encounter timeout problems, refer to the Ghidra timeout configuration guide.

🤝 Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues.


Acknowledgements

This project is heavily inspired by and based on the work of LaurieWired. Instead of using a bridge, this plugin directly embeds the server in the plugin.

README fetched from the repository 3 days ago. The original is authoritative.

Questions

About GhidraMCP

How do I install GhidraMCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is GhidraMCP safe to use with an AI agent?

Its trust score is 40 out of 100 (fair). It passes 4 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is GhidraMCP still maintained?

Yes — the latest release is v0.9.0 (23 Sep 2026), and the last commit was 29 days ago. The repository has 90 stars and 5 open issues.