Binary Ninja MCP
Binary Ninja MCP открывает агенту декомпиляцию, дизассемблер и переименование функций в Binary Ninja через MCP-сервер и HTTP-мост
- 457 ★ репозитория
- Последний коммит
- GPL-3.0
Широкий доступ
Почему такой уровень
- Открывает локальный HTTP-порт, через который можно читать и менять базу анализа открытого бинарника
- Переименование функций, правка комментариев и типов идет прямо в данных Binary Ninja без отдельного подтверждения
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/binary-ninja-mcpОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Открывает локальный HTTP-порт, через который можно читать и менять базу анализа открытого бинарника
- Переименование функций, правка комментариев и типов идет прямо в данных Binary Ninja без отдельного подтверждения
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Binary Ninja MCP — плагин для Binary Ninja, который поднимает HTTP MCP-сервер внутри открытого инстанса дизассемблера. Плагин ставится через Plugin Manager или вручную в папку плагинов Binary Ninja, кнопка в левом нижнем углу включает сервер, а скрипт scripts/mcp_client_installer.py автоматически прописывает конфигурацию для Cline, Roo Code, Claude Desktop, Cursor, Windsurf, Claude Code и LM Studio. Агент получает десятки MCP-функций: decompile_function и get_il возвращают HLIL, MLIL или LLIL код функции по имени или адресу, list_methods, list_imports, list_exports и list_strings перечисляют содержимое бинарника, get_xrefs_to_struct и похожие функции находят перекрестные ссылки на структуры, поля и перечисления, rename_function и format_value меняют имена и комментарии прямо в базе Binary Ninja. Можно открыть несколько бинарников одновременно и переключаться между ними через list_binaries и select_binary. Рекомендуемый способ подключения клиента — npm-пакет binary-ninja-mcp с командой npx -y binary-ninja-mcp --host localhost --port 9009, который общается с плагином по HTTP. Старый способ, Python-мост bridge/binja_mcp_bridge.py, README называет устаревшим и оставляет для клиентов без поддержки нового пакета.
Для кого. Для специалистов по реверс-инжинирингу и анализу бинарных файлов, которые ведут декомпиляцию в Binary Ninja и хотят делегировать агенту переименование функций, поиск перекрестных ссылок и первичный разбор CTF-задачи или образца кода.
Подходит, если
- Нужно разобрать CTF-задачу на реверс-инжиниринг и поручить агенту переименование функций и переменных по ходу анализа
- Открыт неизвестный файл, и требуется первичная оценка, вредоносный он или нет, по цепочке вызовов от точки входа
- Нужно быстро найти все перекрестные ссылки на структуру или поле во всем бинарнике вместо ручного поиска по дереву типов
- В работе сразу несколько открытых бинарников, и агент должен переключаться между ними командой select_binary
- Нужен хекс-дамп конкретного адреса или именованных данных без переключения окон в самом Binary Ninja
Не подходит, если
- Нет установленного Binary Ninja: плагин работает только внутри него и требует Python 3.12 и новее
- Нужен официальный Rust-инструментарий поверх IDA Pro: это отдельный продукт другого вендора под другой дизассемблер
- Задача не касается бинарного анализа: MCP-функции специфичны для декомпиляции, дизассемблирования и работы с типами
- Нужен сервер без открытого HTTP-порта на машине: плагин поднимает локальный HTTP-эндпоинт, который слушает заданный порт
Пример запроса к агенту
Открой в Binary Ninja этот бинарник, декомпилируй функцию `main`, переименуй переменные по смыслу и покажи все перекрестные ссылки на найденную структуруMCP
- Транспорт
- http
- Авторизация
- не нужна
Ограничения
Нужен сам Binary Ninja и Python 3.12 или новее. Автосетап клиента поддержан только для перечисленного списка клиентов, остальным нужна ручная правка конфигурации MCP с абсолютным путем до Python в виртуальном окружении плагина. Старый Python-мост назван в README устаревшим и оставлен только для совместимости. Переименование функций и правка комментариев идет прямо в открытой базе анализа, и без отдельного сохранения проекта изменения можно потерять при закрытии Binary Ninja.
Как отключить. Нажмите кнопку сервера в левом нижнем углу Binary Ninja еще раз, чтобы остановить его, или удалите плагин через Plugin Manager. Записи клиента можно убрать командой python scripts/mcp_client_installer.py --uninstall, которая удалит их и файл-метку .mcp_auto_setup_done.
Частые вопросы
Как поставить Binary Ninja MCP в Claude Code?
Установите плагин через Plugin Manager внутри Binary Ninja, включите сервер кнопкой в левом нижнем углу, затем выполните npx -y binary-ninja-mcp --host localhost --port 9009 и добавьте такую же команду в конфигурацию MCP Claude Code.
Чем Binary Ninja MCP отличается от `ida-mcp-rs`?
Этот сервер работает внутри Binary Ninja через его собственный плагин и HTTP-мост, а `ida-mcp-rs` — `headless`-сервер MCP на Rust для другого дизассемблера, IDA Pro.
Нужно ли держать окно Binary Ninja открытым во время работы агента?
Да, сервер работает внутри запущенного инстанса Binary Ninja с открытым бинарником, без этого MCP-функции не видят анализируемый файл.
Можно ли анализировать сразу несколько файлов?
Да, функция list_binaries показывает все открытые бинарники с их идентификаторами, а select_binary переключает активный для следующих вызовов.
Какой способ подключения клиента сейчас рекомендован?
Пакет npm binary-ninja-mcp, запущенный через npx -y binary-ninja-mcp. Python-мост bridge/binja_mcp_bridge.py README называет устаревшим вариантом для клиентов без поддержки нового пакета.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер и плагин для Ghidra: агент декомпилирует бинарники, смотрит перекрестные ссылки и переименовывает функции в открытом проекте
Нативный MCP-плагин для отладчика x64dbg: агент управляет отладкой по HTTP, ставит точки останова, шагает по коду, читает и патчит память
MCP-сервер для IDA Pro с одной точкой входа на несколько открытых баз: декомпиляция, перекрестные ссылки и поиск похожих функций между бинарниками
Официальный MCP-сервер Hex-Rays: агент открывает базы IDA, выполняет в них Python и разбирает бинарники. Плагины есть для Claude Code и Codex
MCP-сервер к дизассемблеру Ghidra: сотни инструментов для обратной разработки, декомпиляция, переименование, работа со структурами, эмуляция и отладка
Расширение Ghidra с MCP-сервером: агент читает псевдокод и дизассемблер, строит графы вызовов и правит имена, типы и структуры через 100 инструментов
Коротко о README
Главная страница репозитория описывает два компонента, плагин Binary Ninja с MCP-сервером на HTTP и отдельный мост для клиентов, перечисляет поддержанные клиенты с автонастройкой и дает примеры промптов для CTF-задач и анализа малвари с префиксом mcp_ для переименованных функций. Дальше идет большая таблица MCP-функций по категориям: декомпиляция, типы, перекрестные ссылки, хекс-дампы, списки объектов бинарника.