Headless IDA MCP Server

Analiza archivos binarios y gestiona funciones y variables usando el modo headless de IDA Pro.

Documentación

Agradecimientos

Este proyecto se basa en el trabajo de:

Headless IDA MCP Server

Si quieres ejecutar el servidor directamente como una aplicación CLI, en lugar de un plugin de IDA interactivo, puedes elegirlo.

Descripción del Proyecto

Este proyecto utiliza el modo headless de IDA Pro para analizar archivos binarios y proporciona un conjunto de herramientas a través de MCP para gestionar y manipular funciones, variables y más.

Requisitos previos

Instalación

  1. Clona el proyecto localmente:

    git clone https://github.com/cnitlrt/headless-ida-mcp-server.git 
    cd headless-ida-mcp-server
    
  2. Instala las dependencias:

    uv python install 3.12
    uv venv --python 3.12
    uv pip install -e .
    

Configuración

  1. Copia el archivo de entorno de ejemplo:

    cp .env_example .env
    
  2. Configura las siguientes variables de entorno en .env:

    • IDA_PATH: Ruta al ejecutable headless de IDA Pro (idat), por ejemplo, /home/ubuntu/idapro/idat
    • PORT: Número de puerto para el servidor MCP, por ejemplo, 8888
    • HOST: Dirección de host para el servidor MCP, por ejemplo, 127.0.0.1
    • TRANSPORT: Modo de transporte MCP (sse o stdio)

Uso

  1. Inicia el servidor:

    uv run headless_ida_mcp_server
    
  2. Conéctate al servidor usando un cliente MCP:

    Depúralo:

    npx -y @modelcontextprotocol/inspector
    

    o

    {
    "mcpServers": {
       "ida": {
          "command": "/path/to/uv",
          "args": ["--directory","path/to/headless-ida-mcp-server","run","headless_ida_mcp_server"]
       }
    }
    }