Servidor MCP determinístico e local-first para IDA Pro/Home: 109 operações de engenharia reversa com esquema estrito, descobertas respaldadas por evidências e edições de IDB controladas por políticas.
⚠️ Arquivado — substituído pelo servidor oficial IDA MCP da Hex-Rays
Este projeto não é mais mantido. Em 2026-09-27, a Hex-Rays SA lançou o Servidor Oficial IDA MCP e o IDA Nexus. O desenvolvimento parou no mesmo dia na versão
1.0.0a4.Para uso atual, instale o deles:
uvx ida-hcli mcp install. Ele requer IDA 9.4+ comidalibe funciona totalmente sem interface gráfica; o plugin de GUI é opcional.Este repositório é mantido por sua suíte de testes, documentação e registro arquitetural. Consulte ARCHIVE.md para o relato completo de encerramento: o que o projeto era, por que perdeu, quais partes eram andaimes e quais partes ainda têm valor. O restante deste README descreve um sistema que não é mais recomendado para uso.

O IDA Pro MCP é um servidor local do Model Context Protocol para o IDA Pro. Ele permite que um cliente MCP inspecione um IDB, solicite ao IDA resultados de análise determinísticos e, quando explicitamente permitido, grave anotações ou outras alterações de volta no IDB. O processo host é executado fora do IDA e inicia um processo IDA headless separado para cada sessão, por padrão.
ida_* com esquema estrito e
descoberta em tempo real via tools/list e ida_help.A versão atual é 1.0.0a4. Este é um software alpha. Os nomes públicos das
operações ida_*, os esquemas e o formato do workspace podem mudar antes de um
lançamento estável 1.0.0. A superfície padrão do cliente contém 102 operações com esquema exato.
Use a descoberta em tempo real para obter o contrato completo: tools/list enumera cada
operação com seu esquema, e ida_help(topic="...") retorna os argumentos exatos
e um exemplo para uma operação.
Você precisa de:
idat/idat64 utilizável.
As evidências de testes ao vivo do repositório cobrem IDA 9.3 e 9.4; 9.2 é o
piso de compatibilidade declarado.A análise normal não requer um provedor de inteligência. Os modos explícitos de
inteligência são jev, custom e disabled; o modo disabled mantém
disponível a busca lexical determinística e não há fallback local, Gemini ou
de modelo nativo.
O runtime padrão é idat: um processo IDA headless por sessão. O
backend idalib é experimental, requer uma instalação do IDA 9.3 ou mais recente
com o pacote idapro ativado, e não é necessário para uma primeira instalação.
O instalador cria um ambiente gerenciado sob a raiz de instalação, instala uma cópia congelada do checkout nele e grava a configuração do cliente para os locais de cliente suportados. A partir da raiz do repositório, execute:
python3 install.py
Para uma instalação conhecida do IDA, passe-a explicitamente:
python3 install.py --ida-dir /path/to/ida-pro-9.3
Para uma execução não interativa:
python3 install.py --yes --no-ida-prompt --ida-dir /path/to/ida-pro-9.3
O instalador também pode localizar o IDA através de IDADIR, IDA_DIR, dos
executáveis do IDA no PATH e de diretórios de instalação comuns. --ida-version
seleciona uma versão quando há mais de uma instalação presente. Use
--dry-run para inspecionar primeiro as alterações planejadas.
O instalador nunca baixa um modelo de provedor ou runtime. Ele pode criar
ou atualizar arquivos de configuração para cada local de cliente
no seu mapa de clientes integrado, incluindo clientes que não estão instalados
na sua máquina. Verifique install-report.json na raiz de instalação e remova
entradas não utilizadas, se necessário. Arquivos de configuração regulares existentes são
salvos em backup antes de serem alterados; arquivos malformados, symlinks ou não regulares são
recusados em vez de sobrescritos.
Reinicie o cliente MCP após a instalação para que ele recarregue sua configuração.
Os harnesses de agentes descobrem a superfície de ferramentas em tempo real: tools/list enumera cada
operação com seu schema, e ida_help(topic="...") retorna os argumentos exatos
e um exemplo. Nenhum arquivo de skill estático é instalado.
A raiz de instalação padrão é:
~/.local/share/ida-pro-mcp%LOCALAPPDATA%/ida-pro-mcpDefina IDA_PRO_MCP_HOME ou passe --install-root para escolher outro local.
As versões Alpha são criadas pelo GitHub Actions e publicadas manualmente como
prereleases. Quando uma release estiver disponível, baixe o asset bundle.zip ou
bundle.tar.gz e seu arquivo SHA256SUMS na
página de releases. Verifique o
checksum, extraia o bundle e execute o instalador a partir do seu diretório
de nível superior:
python3 install.py --yes --no-ida-prompt --ida-dir /path/to/ida-pro-9.3
O lançamento também contém um wheel e uma distribuição de código-fonte para instalações Python por script. O pacote é a rota mais simples porque inclui o instalador e todos os arquivos do projeto necessários para configurar um cliente MCP. Os lançamentos são de qualidade alfa; mantenha o binário original e o IDB e leia as notas de lançamento antes de atualizar.
O instalador grava a entrada do servidor nos caminhos de configuração de cliente que conhece. Ele suporta Gemini CLI, Antigravity, Antigravity IDE, Antigravity CLI, Claude Code, Codex, Copilot CLI, OpenCode, Claude Desktop, Cursor, VS Code, Windsurf, Cline e Roo Code. OpenCode e clientes da família Copilot usam formatos de configuração diferentes; deixe o instalador gravar esses arquivos ou siga o guia de configuração do OpenCode.
Para um cliente que usa o formato JSON comum, a entrada é equivalente a:
{
"mcpServers": {
"ida-pro-mcp": {
"command": "/path/to/ida-pro-mcp/.venv/bin/python",
"args": ["-u", "-m", "ida_pro_mcp.host.server"],
"env": {
"IDA_PRO_MCP_HOME": "/path/to/ida-pro-mcp",
"IDADIR": "/path/to/ida-pro-9.3",
"IDA_MCP_TOOL_SURFACE": "agent"
}
}
}
}
No Windows, use o interpretador gerenciado em
<install-root>/.venv/Scripts/python.exe. Os detalhes importantes são o
interpretador gerenciado, -u -m ida_pro_mcp.host.server, o diretório IDA
selecionado e IDA_MCP_TOOL_SURFACE=agent. Não aponte o cliente para
install.py; esse arquivo é o instalador, não o servidor MCP.