Headless IDA MCP Server

Analise arquivos binários e gerencie funções e variáveis usando o modo headless do IDA Pro.

Documentação

Agradecimentos

Este projeto se baseia no trabalho de:

Headless IDA MCP Server

Se você quiser executar o servidor diretamente como um aplicativo CLI, em vez de um plugin IDA interativo, você pode escolher essa opção.

Descrição do Projeto

Este projeto usa o modo headless do IDA Pro para analisar arquivos binários e fornece um conjunto de ferramentas via MCP para gerenciar e manipular funções, variáveis e muito mais.

Pré-requisitos

Instalação

  1. Clone o projeto localmente:

    git clone https://github.com/cnitlrt/headless-ida-mcp-server.git 
    cd headless-ida-mcp-server
    
  2. Instale as dependências:

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

Configuração

  1. Copie o arquivo de exemplo de ambiente:

    cp .env_example .env
    
  2. Configure as seguintes variáveis de ambiente em .env:

    • IDA_PATH: Caminho para o executável headless do IDA Pro (idat), ex.: /home/ubuntu/idapro/idat
    • PORT: Número da porta para o servidor MCP, ex.: 8888
    • HOST: Endereço do host para o servidor MCP, ex.: 127.0.0.1
    • TRANSPORT: Modo de transporte MCP (sse ou stdio)

Uso

  1. Inicie o servidor:

    uv run headless_ida_mcp_server
    
  2. Conecte-se ao servidor usando um cliente MCP:

    Depure-o:

    npx -y @modelcontextprotocol/inspector
    

    ou

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