IDA Pro MCP

mrexodia/ida-pro-mcp· Проверено 12.11.2026· 13,5 тыс.на GitHub

Даёт агенту доступ к базе IDA Pro: декомпилировать функции, искать перекрёстные ссылки, переименовывать, расставлять типы и комментарии. Работает и без интерфейса IDA, через idalib.

Как подключить

Что сделать до подключения

1

IDA Pro 8.3 или новее, рекомендуется 9; IDA Free не поддерживается

2

Python 3.11 или новее; в IDA переключите версию утилитой idapyswitch

3

uv и глобально активированный idalib: uv run "<папка IDA>/idalib/python/py-activate-idalib.py"

4

В Claude Code проще поставить плагином: claude plugin marketplace add mrexodia/claude-marketplace, затем claude plugin install ida-pro-mcp@mrexodia; в Codex — codex plugin marketplace add mrexodia/codex-marketplace и codex plugin add ida-pro-mcp@mrexodia

5

Для других клиентов код сервера нужен на диске; команда ida-pro-mcp --config выводит готовый JSON для клиента

Конфиг для вашего клиента

Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code

claude mcp add --transport stdio ida-pro \
  -- uv run --project '<папка ida-pro-mcp>' idalib-mcp --stdio

Проверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.

Инструменты сервера

idb_openоткрывает бинарник и создаёт сессию
decompileдекомпилирует функцию
disasmдизассемблирует функцию
lookup_funcsнаходит функцию по имени или адресу
list_funcsпоказывает список функций
importsпоказывает импорты
xrefs_toнаходит перекрёстные ссылки
calleesпоказывает вызываемые функции
callgraphстроит граф вызовов
analyze_funcsподробно разбирает функцию
renameпереименовывает функции и переменные
set_commentsставит комментарии
set_typeзадаёт типы
declare_typeобъявляет тип на C
find_regexищет строки по регулярке
find_bytesищет байтовый шаблон
get_bytesчитает байты по адресу
int_convertпереводит числа между форматами
patch_asmпатчит инструкции
py_evalвыполняет Python внутри IDA

Показано 20 из 66.

Что попросить агента

«Разбери крэкми в IDA: прокомментируй декомпиляцию, дай переменным и функциям понятные имена, поправь типы и составь report.md»Прочитает код через decompile и disasm, переименует через rename, поставит комментарии через set_comments и типы через set_type, числа будет переводить через int_convert
«Открой <путь к файлу> и перечисли функции, которые работают с сетью»Откроет базу через idb_open, посмотрит импорты через imports, найдёт вызывающие функции через xrefs_to и lookup_funcs
«Построй граф вызовов от функции <main> и покажи, куда она уходит»Соберёт вызовы через callees и callgraph
«Найди в бинарнике строки, похожие на ключи API»Поищет по регулярному выражению через find_regex и прочитает байты рядом через get_bytes
«Переведи 0x7FFFFFFF в десятичное число и в байты»Вызовет int_convert, без подсчёта в уме

Для каких задач

Разобрать crackme: декомпилировать, переименовать переменные, расставить комментарии
Найти, откуда вызывается функция, и построить граф вызовов
Работать в одной сессии агента сразу с несколькими бинарниками, например с программой и её DLL
Восстановить типы и структуры и применить их к функциям
Отлаживать программу из агента: точки останова, регистры, память

Ограничения

!

Автор сам советует взять вместо этого сервера Hex-Rays IDA MCP Server от разработчиков IDA

!

Нужна платная IDA Pro: IDA Free не поддерживается

!

На обфусцированном коде модели работают плохо: шифрование строк, хеширование импортов и запутывание потока лучше снять заранее

!

py_eval выполняет любой Python в IDA; инструменты отладчика скрыты и включаются параметром ?ext=dbg

Если не работает

После установки через ida-pro-mcp --install сервер не появляется в клиенте
Полностью перезапустите IDA и клиент; клиенты вроде Claude работают в фоне, их нужно закрыть через значок в трее.
Агент путается при переводе чисел между системами счисления и байтами
Прямо попросите его использовать инструмент int_convert.
На обфусцированном коде агент выдаёт слабый анализ
Сначала уберите шифрование строк, хеширование импортов, сплющивание потока управления и защиту от декомпиляции; библиотечный код распознайте через Lumina или FLIRT.

Частые вопросы

Нужно ли держать открытым окно IDA?
Нет. idalib-mcp открывает базы в фоновых процессах idalib. Если нужна связь с открытой IDA, idb_open с режимом prefer_gui подключится к запущенному окну.
Как не дать модели ошибиться в числах?
Попросите агента переводить числа только через инструмент int_convert. Модели часто путаются в переводе между десятичными, шестнадцатеричными числами и байтами.
Сколько баз можно открыть одновременно?
По умолчанию 4, лимит задаёт флаг --max-workers или переменная IDA_MCP_MAX_WORKERS; 0 снимает ограничение. В каждом вызове указывается ID сессии в аргументе database.
А плагин внутри IDA ещё работает?
Установка через ida-pro-mcp --install ставит плагин в интерфейс IDA, но этот путь устаревает. Рекомендуется idalib-mcp.
Работает ли сервер из России?
Сервер и IDA работают на вашем компьютере, ключи и онлайн-аккаунты не нужны.

Похожие серверы