Skip to main content
Glama

ghidraMCP

by LaurieWired

logotipo de ghidra\_MCP

ghidraMCP

ghidraMCP es un servidor de Protocolo de Contexto de Modelo que permite a los LLM realizar ingeniería inversa de aplicaciones de forma autónoma. Expone numerosas herramientas de la funcionalidad principal de Ghidra a los clientes MCP.

https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9

Características

Servidor MCP + complemento Ghidra

  • Descompilar y analizar binarios en Ghidra
  • Renombrar automáticamente métodos y datos
  • Enumere métodos, clases, importaciones y exportaciones

Instalación

Prerrequisitos

Ghidra

Primero, descarga la última versión de este repositorio. Esta contiene el plugin de Ghidra y el cliente MCP de Python. Después, puedes importar el plugin directamente a Ghidra.

  1. Ejecutar Ghidra
  2. Seleccione File -> Install Extensions
  3. Haga clic en el botón +
  4. Seleccione GhidraMCP-1-2.zip (o la versión que elija) de la versión descargada
  5. Reiniciar Ghidra
  6. Asegúrese de que GhidraMCPPlugin esté habilitado en File -> Configure -> Developer
  7. Opcional : Configure el puerto en Ghidra con Edit -> Tool Options -> GhidraMCP HTTP Server

Guía de instalación en vídeo:

https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3

Clientes de MCP

En teoría, cualquier cliente MCP debería funcionar con ghidraMCP. A continuación se muestran tres ejemplos.

Ejemplo 1: Claude Desktop

Para configurar Claude Desktop como un cliente Ghidra MCP, vaya a Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.json y agregue lo siguiente:

{ "mcpServers": { "ghidra": { "command": "python", "args": [ "/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py", "--ghidra-server", "http://127.0.0.1:8080/" ] } } }

Alternativamente, edite este archivo directamente:

/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json

La IP y el puerto del servidor son configurables y deben apuntar a la instancia de Ghidra de destino. Si no se configuran, ambos se establecerán como localhost:8080.

Ejemplo 2: Cline

Para usar GhidraMCP con Cline , también es necesario ejecutar manualmente el servidor MCP. Primero, ejecute el siguiente comando:

python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/

El único argumento obligatorio es el transporte. Si no se especifican los demás argumentos, se usarán los anteriores por defecto. Una vez que el servidor MCP esté en ejecución, abra Cline y seleccione MCP Servers en la parte superior.

Selección de Cline

Luego, seleccione Remote Servers y agregue lo siguiente, asegurándose de que la URL coincida con el host y el puerto de MCP:

  1. Nombre del servidor: GhidraMCP
  2. URL del servidor: http://127.0.0.1:8081/sse

Ejemplo 3: 5ire

Otro cliente MCP compatible con múltiples modelos en el backend es 5ire . Para configurar GhidraMCP, abra 5ire y vaya a Tools -> New y configure lo siguiente:

  1. Clave de herramienta: ghidra
  2. Nombre: GhidraMCP
  3. Comando: python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py

Construyendo desde la fuente

  1. Copie los siguientes archivos desde su directorio Ghidra al directorio lib/ de este proyecto:
  • Ghidra/Features/Base/lib/Base.jar
  • Ghidra/Features/Decompiler/lib/Decompiler.jar
  • Ghidra/Framework/Docking/lib/Docking.jar
  • Ghidra/Framework/Generic/lib/Generic.jar
  • Ghidra/Framework/Project/lib/Project.jar
  • Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar
  • Ghidra/Framework/Utility/lib/Utility.jar
  • Ghidra/Framework/Gui/lib/Gui.jar
  1. Construya con Maven ejecutando:

mvn clean package assembly:single

El archivo zip generado incluye el plugin de Ghidra compilado y sus recursos. Estos archivos son necesarios para que Ghidra reconozca la nueva extensión.

  • lib/GhidraMCP.jar
  • extensiones.propiedades
  • Módulo.manifiesto
-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Un servidor MCP que permite a los LLM realizar ingeniería inversa de aplicaciones de forma autónoma al exponer la funcionalidad de Ghidra, lo que permite la descompilación, el análisis y el cambio de nombre automático de métodos y datos.

  1. Características
    1. Instalación
      1. Prerrequisitos
      2. Ghidra
      3. Clientes de MCP
      4. Ejemplo 1: Claude Desktop
      5. Ejemplo 2: Cline
      6. Ejemplo 3: 5ire
    2. Construyendo desde la fuente

      Related MCP Servers

      • A
        security
        A
        license
        A
        quality
        An MCP server that enables secure terminal command execution, directory navigation, and file system operations through a standardized interface for LLMs.
        Last updated -
        10
        23
        Python
        MIT License
        • Apple
      • A
        security
        F
        license
        A
        quality
        A lightweight MCP server that provides a unified interface to various LLM providers including OpenAI, Anthropic, Google Gemini, Groq, DeepSeek, and Ollama.
        Last updated -
        6
        218
        Python
      • -
        security
        F
        license
        -
        quality
        Enables LLMs to perform binary analysis using Ghidra in headless mode, extracting functions, pseudocode, structs, and enums from binaries for interactive reverse-engineering.
        Last updated -
        1
        Python
      • A
        security
        A
        license
        A
        quality
        MCP server implementation that enables LLMs to interact with Rollbar error tracking data, allowing users to list and analyze errors, view occurrences, track deployments, and access project information.
        Last updated -
        13
        256
        2
        TypeScript
        MIT License

      View all related MCP servers

      MCP directory API

      We provide all the information about MCP servers via our MCP API.

      curl -X GET 'https://glama.ai/api/mcp/v1/servers/LaurieWired/GhidraMCP'

      If you have feedback or need assistance with the MCP directory API, please join our Discord server