RE-MCP
RE-MCP открывает агенту IDA Pro и Ghidra в безголовом режиме: функции, декомпилятор, перекрестные ссылки, типы и патчинг.
- 178 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Двойное назначение: инструмент разбирает и патчит бинарные файлы, в том числе чужие.
- `run_script` и `execute` исполняют код, а патчинг меняет базы анализа.
Установка
- Работает в
Ручная установка
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-сервер для Ghidra: агент декомпилирует, переименовывает переменные, строит перекрестные ссылки и разбирает бинарные файлы через набор мелких инструментов
MCP-сервер, который связывает IDA Pro с агентом: чтение декомпиляции, переименование и типизация, комментарии и запуск IDAPython прямо в базе
MCP-сервер и плагин для Ghidra: агент декомпилирует бинарники, смотрит перекрестные ссылки и переименовывает функции в открытом проекте
MCP-сервер для IDA Pro с несколькими headless-сессиями idalib: агент открывает бинарники, держит базы изолированно и работает по ключу доступа
Headless MCP-сервер для IDA Pro на Rust: агент открывает базу, перечисляет функции, дизассемблирует, декомпилирует и строит перекрестные ссылки
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| RE-MCP (эта карточка) | нет | не нужна | 178 | |
| IDA Pro MCP | нет | не нужна | 13 379 | связывает агента только с IDA Pro; RE-MCP дает тот же набор для IDA и Ghidra |
| GhidraMCP | нет | не нужна | 11 777 | заточен под Ghidra; RE-MCP работает с обоими инструментами и держит базы между сессиями |
Коротко о README
Два бэкенда с общим интерфейсом работают без плагинов, а редкие инструменты открываются по запросу, чтобы не раздувать список в контексте агента.