Binary Ninja MCP

Binary Ninja MCP открывает агенту декомпиляцию, дизассемблер и переименование функций в Binary Ninja через MCP-сервер и HTTP-мост

  • 457 ★ репозитория
  • Последний коммит
  • GPL-3.0
MCP-сервер

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

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

  • Открывает локальный HTTP-порт, через который можно читать и менять базу анализа открытого бинарника
  • Переименование функций, правка комментариев и типов идет прямо в данных Binary Ninja без отдельного подтверждения
Все причины и проверки

fosdickio/binary_ninja_mcp

Установка

В терминале, через 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-серверРасширенный доступ11,6 тыс.Звезды репозитория

Нативный MCP-плагин для отладчика x64dbg: агент управляет отладкой по HTTP, ставит точки останова, шагает по коду, читает и патчит память

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

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

MCP-серверШирокий доступ467Звезды репозитория
Официальный

Официальный MCP-сервер Hex-Rays: агент открывает базы IDA, выполняет в них Python и разбирает бинарники. Плагины есть для Claude Code и Codex

ПлагинШирокий доступ1,5 тыс.Звезды репозитория

MCP-сервер к дизассемблеру Ghidra: сотни инструментов для обратной разработки, декомпиляция, переименование, работа со структурами, эмуляция и отладка

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

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

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

Коротко о README

Главная страница репозитория описывает два компонента, плагин Binary Ninja с MCP-сервером на HTTP и отдельный мост для клиентов, перечисляет поддержанные клиенты с автонастройкой и дает примеры промптов для CTF-задач и анализа малвари с префиксом mcp_ для переименованных функций. Дальше идет большая таблица MCP-функций по категориям: декомпиляция, типы, перекрестные ссылки, хекс-дампы, списки объектов бинарника.

Бейдж для README

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

Foxx AIBinary Ninja MCP
Foxx AI

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