RE-MCP

RE-MCP открывает агенту IDA Pro и Ghidra в безголовом режиме: функции, декомпилятор, перекрестные ссылки, типы и патчинг.

  • 178 ★ репозитория
  • Последний коммит
  • Apache-2.0
MCP-сервер

Широкий доступ

Почему такой уровень

  • Двойное назначение: инструмент разбирает и патчит бинарные файлы, в том числе чужие.
  • `run_script` и `execute` исполняют код, а патчинг меняет базы анализа.
Все причины и проверки

jtsylve/re-mcp

Установка

Ручная установка

uv tool install re-mcp-ida

Первая команда установки из README ставит бэкенд IDA. Для Ghidra: `uv tool install re-mcp-ghidra`.

Доступ и проверки

Как мы проверяем

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Двойное назначение: инструмент разбирает и патчит бинарные файлы, в том числе чужие.
  • `run_script` и `execute` исполняют код, а патчинг меняет базы анализа.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

RE-MCP — MCP-сервер для обратной разработки с двумя бэкендами: IDA Pro (пакет `re-mcp-ida`) и Ghidra (`re-mcp-ghidra`). Оба работают как отдельные серверы, без плагина внутри программы: IDA через idalib, Ghidra через pyghidra. Основные инструменты у бэкендов называются одинаково, поэтому сценарии агента переносятся. Базовый порядок такой: `open_database`, `wait_for_analysis`, затем списки функций, декомпиляция, дизассемблирование, поиск строк и байтов, перекрестные ссылки, типы и структуры, переименования, комментарии, снимки базы. Есть патчинг байтов и инструкций. Редкие инструменты открываются через `search_tools`, `get_schema` и `call`, а `execute` собирает цепочку вызовов в безопасной песочнице Python. Режим `proxy` держит базы между переподключениями клиента.

Для кого. Реверс-инженеры и исследователи безопасности, которые разбирают бинарные файлы в IDA Pro или Ghidra и хотят отдать агенту рутину.

Подходит, если

  • В прошивке надо найти функции, ссылающиеся на нужную строку.
  • Большой бинарный файл разбирают по функциям: переименования и комментарии делает агент.
  • Один и тот же сценарий прогоняют на IDA и на Ghidra.
  • Сначала нужны снимки базы, чтобы откатить правки агента.

Не подходит, если

  • У вас нет лицензии IDA Pro 9 и установленной Ghidra 12.
  • Разбираемый файл нельзя показывать внешней модели.
  • Нужно разбирать чужое ПО без разрешения на анализ.

Пример запроса к агенту

Открой бинарный файл в базе, дождись анализа и найди функции, которые ссылаются на строку с адресом сервера. Покажи псевдокод первой из них.

MCP

Транспорт
stdio, http
Авторизация
не нужна

Переменные окружения

`IDADIR`
Путь к установке IDA Pro, если она лежит не в стандартном месте.
`GHIDRA_INSTALL_DIR`
Путь к установке Ghidra.
`IDA_MCP_ALLOW_SCRIPTS`
Значение `1` включает `run_script` для произвольного IDAPython.

Ограничения

Нужны Python 3.12 и новее, менеджер `uv` и хотя бы один бэкенд: IDA Pro 9 и новее с лицензией или Ghidra 12 и новее с JDK 21. Бинарные файлы должны лежать в каталоге с правом записи, потому что рядом создаются файлы баз. Инструменты патчинга и опциональный `run_script` (произвольный IDAPython, включается `IDA_MCP_ALLOW_SCRIPTS`) меняют базу и исполняют код. Содержимое анализируемого бинарного файла попадает модели агента.

Как отключить. Удалите запись сервера из конфигурации клиента и выполните `<бэкенд> stop`, если запускали демон. Файлы баз рядом с бинарными файлами удалите вручную.

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

Какой бэкенд выбрать?

IDA Pro нужен, если у вас есть лицензия IDA 9 и новее. Ghidra бесплатна и требует версию 12 и новее с JDK 21. Основные инструменты у них одинаковы.

Нужен ли плагин внутри IDA или Ghidra?

Нет. Бэкенды запускаются как отдельные серверы через idalib и pyghidra.

Как сохранить базы между сессиями?

Запускайте `<бэкенд> proxy`: он поднимает постоянный HTTP-демон, и базы переживают переподключение клиента.

Как отключить произвольный код?

Не задавайте `IDA_MCP_ALLOW_SCRIPTS`: без нее `run_script` отключен. Мета-инструмент `execute` скрывается переменной `<PREFIX>DISABLE_EXECUTE`.

Как найти установку IDA или Ghidra?

Сервер читает `IDADIR` и `GHIDRA_INSTALL_DIR`, затем файл конфигурации в домашней папке, затем стандартные пути.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер для IDA Pro с одной точкой входа на несколько открытых баз: декомпиляция, перекрестные ссылки и поиск похожих функций между бинарниками

MCP-серверШирокий доступ469Звезды репозитория

MCP-сервер для Ghidra: агент декомпилирует, переименовывает переменные, строит перекрестные ссылки и разбирает бинарные файлы через набор мелких инструментов

MCP-серверШирокий доступ947Звезды репозитория

MCP-сервер, который связывает IDA Pro с агентом: чтение декомпиляции, переименование и типизация, комментарии и запуск IDAPython прямо в базе

MCP-серверШирокий доступ13,4 тыс.Звезды репозитория

MCP-сервер и плагин для Ghidra: агент декомпилирует бинарники, смотрит перекрестные ссылки и переименовывает функции в открытом проекте

MCP-серверРасширенный доступ11,8 тыс.Звезды репозитория

MCP-сервер для IDA Pro с несколькими headless-сессиями idalib: агент открывает бинарники, держит базы изолированно и работает по ключу доступа

MCP-серверШирокий доступ172Звезды репозитория

Headless MCP-сервер для IDA Pro на Rust: агент открывает базу, перечисляет функции, дизассемблирует, декомпилирует и строит перекрестные ссылки

MCP-серверШирокий доступ899Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
RE-MCP (эта карточка)нетне нужна178
IDA Pro MCPнетне нужна13 379связывает агента только с IDA Pro; RE-MCP дает тот же набор для IDA и Ghidra
GhidraMCPнетне нужна11 777заточен под Ghidra; RE-MCP работает с обоими инструментами и держит базы между сессиями

Коротко о README

Два бэкенда с общим интерфейсом работают без плагинов, а редкие инструменты открываются по запросу, чтобы не раздувать список в контексте агента.

Бейдж для README

Сообщить о проблеме

Foxx AIRE-MCP
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.