fosdickio/binary_ninja_mcp

fosdickio/binary_ninja_mcp

от fosdickio
MCP сервер для Binary Ninja открывает доступ к функциям реверс-инжиниринга через LLM-клиенты: декомпиляция, типы, патчинг, ссылки и другое. Полезен для CTF, малвар-анализа.

Binary Ninja MCP

This repository contains a Binary Ninja plugin, MCP server, and bridge that enables seamless integration of Binary Ninja's capabilities with your favorite LLM client.

Binary Ninja MCP Logo

Features

  • Seamless, real-time integration between Binary Ninja and MCP clients
  • Enhanced reverse engineering workflow with AI assistance
  • Support for every MCP client (Cline, Claude desktop, Roo Code, etc.)
  • Open multiple binaries and switch the active target automatically

Examples

Solving a CTF Challenge

Check out this demo video on YouTube that uses the extension to solve a CTF challenge.

Components

This repository contains two separate components:

  1. A Binary Ninja plugin that provides an MCP server that exposes Binary Ninja's capabilities through HTTP endpoints. This can be used with any client that implements the MCP protocol.
  2. A separate MCP bridge component that connects your favorite MCP client to the Binary Ninja MCP server.

Prerequisites

  • Binary Ninja
  • Python 3.12+
  • MCP client (those with auto-setup support are listed below)
convert_number

Преобразует число или строку в несколько представлений (шестнадцатеричное/десятичное/двоичное, C-литералы).

Преобразует число или строку в несколько представлений (шестнадцатеричное/десятичное/двоичное, C-литералы).

Параметры

  • textstringобязательный

    Number or string to convert (decimal, hex 0x7b, binary 0b1111011, char 'A', or string)

  • sizenumber

    Size in bytes (0 for auto)

declare_c_type

Создаёт или обновляет локальный тип на основе объявления на C.

Создаёт или обновляет локальный тип на основе объявления на C.

Параметры

  • c_declarationstringобязательный

    C type declaration

decompile_function

Декомпилируйте функцию по её имени и верните декомпилированный код на C.

Декомпилируйте функцию по её имени и верните декомпилированный код на C.

Параметры

  • namestringобязательный

    Function name or address

define_types

Определяет типы из строки C-кода.

Определяет типы из строки C-кода.

Параметры

  • c_codestringобязательный

    C code containing type definitions

delete_comment

Удалить комментарий по конкретному адресу.

Удалить комментарий по конкретному адресу.

Параметры

  • addressstringобязательный

    Address (hex like 0x401000)

delete_function_comment

Удалить комментарий для функции.

Удалить комментарий для функции.

Параметры

  • function_namestringобязательный

    Function name

fetch_disassembly

Извлеките дизассемблированный код функции в виде мнемонических инструкций ассемблера.

Извлеките дизассемблированный код функции в виде мнемонических инструкций ассемблера.

Параметры

  • namestringобязательный

    Function name

format_value

Преобразовать и аннотировать значение по адресу в Binary Ninja.

Преобразовать и аннотировать значение по адресу в Binary Ninja.

Параметры

  • addressstringобязательный

    Address (hex like 0x401000)

  • textstringобязательный

    Text to convert

  • sizenumber

    Size in bytes

function_at

Получите имя функции, которой принадлежит адрес.

Получите имя функции, которой принадлежит адрес.

Параметры

  • addressstringобязательный

    Address (hex format 0x00001)

get_binary_status

Получите текущий статус загруженного бинарного файла.

Получите текущий статус загруженного бинарного файла.

Параметры

Без параметров.

get_comment

Получите комментарий по указанному адресу.

Получите комментарий по указанному адресу.

Параметры

  • addressstringобязательный

    Address (hex like 0x401000)

get_data_decl

Возвращает строку, похожую на объявление, и hexdump для символа данных.

Возвращает строку, похожую на объявление, и hexdump для символа данных.

Параметры

  • name_or_addressstringобязательный

    Symbol name or address (hex)

  • lengthnumber

    Number of bytes

get_entry_points

Выведи точку(и) входа загруженного бинарного файла.

Выведи точку(и) входа загруженного бинарного файла.

Параметры

Без параметров.

get_function_comment

Получить комментарий для функции.

Получить комментарий для функции.

Параметры

  • function_namestringобязательный

    Function name

get_il

Получить IL для функции в выбранном представлении (hlil, mlil, llil).

Получить IL для функции в выбранном представлении (hlil, mlil, llil).

Параметры

  • name_or_addressstringобязательный

    Function name or address (hex like 0x401000)

  • viewenum

    IL view: hlil, mlil, or llil

    hlilmlilllil
  • ssaboolean

    Request SSA form (MLIL/LLIL only)

get_stack_frame_vars

Получить информацию о переменных стекового кадра функции (имена, смещения, размеры, типы).

Получить информацию о переменных стекового кадра функции (имена, смещения, размеры, типы).

Параметры

  • function_identifierstringобязательный

    Function name or address (hex)

get_type_info

Разрешить имя типа и вернуть его объявление и детали (вид, члены, значения перечисления).

Разрешить имя типа и вернуть его объявление и детали (вид, члены, значения перечисления).

Параметры

  • type_namestringобязательный

    Type name

get_user_defined_type

Извлеките определение пользовательского типа (struct, enumeration, typedef, union).

Извлеките определение пользовательского типа (struct, enumeration, typedef, union).

Параметры

  • type_namestringобязательный

    Type name

get_xrefs_to

Получить все перекрёстные ссылки (кода и данных) на указанный адрес.

Получить все перекрёстные ссылки (кода и данных) на указанный адрес.

Параметры

  • addressstringобязательный

    Address (hex or decimal)

get_xrefs_to_enum

Получает использования/xrefs перечисления, сканируя значения его элементов и совпадения.

Получает использования/xrefs перечисления, сканируя значения его элементов и совпадения.

Параметры

  • enum_namestringобязательный

    Enum name

get_xrefs_to_field

Получить все перекрестные ссылки на именованное поле структуры (член).

Получить все перекрестные ссылки на именованное поле структуры (член).

Параметры

  • struct_namestringобязательный

    Struct name

  • field_namestringобязательный

    Field name

get_xrefs_to_struct

Получает перекрёстные ссылки/использования, связанные с именем структуры.

Получает перекрёстные ссылки/использования, связанные с именем структуры.

Параметры

  • struct_namestringобязательный

    Struct name

get_xrefs_to_type

Получить перекрестные ссылки/использования, связанные с именем структуры или типа.

Получить перекрестные ссылки/использования, связанные с именем структуры или типа.

Параметры

  • type_namestringобязательный

    Type name

get_xrefs_to_union

Получить перекрестные ссылки/использования, связанные с типом-объединением, по имени.

Получить перекрестные ссылки/использования, связанные с типом-объединением, по имени.

Параметры

  • union_namestringобязательный

    Union name

hexdump_address

Hexdump данных, начиная с адреса.

Hexdump данных, начиная с адреса.

Параметры

  • addressstringобязательный

    Address (hex like 0x401000)

  • lengthnumber

    Number of bytes (use -1 for defined size)

hexdump_data

Сделать hexdump символа данных по имени или адресу.

Сделать hexdump символа данных по имени или адресу.

Параметры

  • name_or_addressstringобязательный

    Symbol name or address (hex)

  • lengthnumber

    Number of bytes (use -1 for defined size)

list_all_strings

Перечисли все строки в базе данных (агрегированные по страницам).

Перечисли все строки в базе данных (агрегированные по страницам).

Параметры

  • batch_sizenumber

    Batch size for aggregation

list_binaries

Вывести управляемые/открытые бинарные файлы, известные серверу, с их идентификаторами и флагом активности.

Вывести управляемые/открытые бинарные файлы, известные серверу, с их идентификаторами и флагом активности.

Параметры

Без параметров.

list_classes

Перечисли все имена пространств имен и классов в программе с пагинацией.

Перечисли все имена пространств имен и классов в программе с пагинацией.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_data_items

Вывести список заданных меток данных и их значений с пагинацией.

Вывести список заданных меток данных и их значений с пагинацией.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_exports

Список экспортируемых функций/символов с пагинацией.

Список экспортируемых функций/символов с пагинацией.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_imports

Вывести список импортированных символов в программе с постраничным выводом.

Вывести список импортированных символов в программе с постраничным выводом.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_local_types

Вывести все локальные типы в базе данных (с постраничной разбивкой).

Вывести все локальные типы в базе данных (с постраничной разбивкой).

Параметры

  • offsetnumber

    Offset for pagination

  • countnumber

    Number of results to return

  • include_librariesboolean

    Include library types

list_methods

Выведи все названия функций в программе с пагинацией.

Выведи все названия функций в программе с пагинацией.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_namespaces

Вывести список всех неглобальных пространств имен в программе с постраничной навигацией.

Вывести список всех неглобальных пространств имен в программе с постраничной навигацией.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_platforms

Перечисли все доступные названия платформ из Binary Ninja.

Перечисли все доступные названия платформ из Binary Ninja.

Параметры

Без параметров.

list_sections

Вывести список разделов программы с пагинацией.

Вывести список разделов программы с пагинацией.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_segments

Вывести список всех сегментов памяти в программе с разбивкой на страницы.

Вывести список всех сегментов памяти в программе с разбивкой на страницы.

Параметры

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

list_strings

Перечислить все строки в базе данных (постранично).

Перечислить все строки в базе данных (постранично).

Параметры

  • offsetnumber

    Offset for pagination

  • countnumber

    Number of results to return

list_strings_filter

Перечислить совпадающие строки в базе данных (постранично, с фильтрацией).

Перечислить совпадающие строки в базе данных (постранично, с фильтрацией).

Параметры

  • offsetnumber

    Offset for pagination

  • countnumber

    Number of results to return

  • filterstring

    Filter string

make_function_at

Создайте функцию по указанному адресу.

Создайте функцию по указанному адресу.

Параметры

  • addressstringобязательный

    Address (hex like 0x401000 or decimal)

  • platformstring

    Platform (e.g., linux-x86_64)

patch_bytes

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

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

Параметры

  • addressstringобязательный

    Address (hex like 0x401000 or decimal)

  • datastringобязательный

    Hex string of bytes to write (e.g., '90 90' or '9090')

  • save_to_fileboolean

    Save patched binary to disk

rename_data

Переименовать метку данных по указанному адресу.

Переименовать метку данных по указанному адресу.

Параметры

  • addressstringобязательный

    Address (hex like 0x401000)

  • new_namestringобязательный

    New name for the data label

rename_function

Переименовывает функцию по её текущему имени. Настроенный префикс будет добавлен автоматически, если он отсутствует.

Переименовывает функцию по её текущему имени. Настроенный префикс будет добавлен автоматически, если он отсутствует.

Параметры

  • old_namestringобязательный

    Current function name

  • new_namestringобязательный

    New function name

rename_multi_variables

Переименовывает несколько локальных переменных за один вызов.

Переименовывает несколько локальных переменных за один вызов.

Параметры

  • function_identifierstringобязательный

    Function name or address (hex)

  • mapping_jsonstring

    JSON object old->new

  • pairsstring

    Comma-separated old:new pairs

  • renames_jsonstring

    JSON array of {old,new} objects

rename_single_variable

Переименовать переменную в функции.

Переименовать переменную в функции.

Параметры

  • function_namestringобязательный

    Function name

  • variable_namestringобязательный

    Current variable name

  • new_namestringобязательный

    New variable name

retype_variable

Переопределите тип переменной в функции.

Переопределите тип переменной в функции.

Параметры

  • function_namestringобязательный

    Function name

  • variable_namestringобязательный

    Variable name

  • type_strstringобязательный

    New type for the variable

search_functions_by_name

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

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

Параметры

  • querystringобязательный

    Search query string

  • offsetnumber

    Offset for pagination

  • limitnumber

    Number of results to return

search_types

Поиск локальных типов, имя или объявление которых содержит подстроку.

Поиск локальных типов, имя или объявление которых содержит подстроку.

Параметры

  • querystringобязательный

    Search query

  • offsetnumber

    Offset for pagination

  • countnumber

    Number of results to return

  • include_librariesboolean

    Include library types

select_binary

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

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

Параметры

  • viewstringобязательный

    Ordinal, view id, full path, or basename

set_comment

Установите комментарий по конкретному адресу.

Установите комментарий по конкретному адресу.

Параметры

  • addressstringобязательный

    Address (hex like 0x401000)

  • commentstringобязательный

    Comment text

set_function_comment

Задать комментарий для функции.

Задать комментарий для функции.

Параметры

  • function_namestringобязательный

    Function name

  • commentstringобязательный

    Comment text

set_function_prototype

Установите прототип функции по имени или адресу.

Установите прототип функции по имени или адресу.

Параметры

  • name_or_addressstringобязательный

    Function name or address

  • prototypestringобязательный

    New function prototype

set_local_variable_type

Установите тип локальной переменной.

Установите тип локальной переменной.

Параметры

  • function_addressstringобязательный

    Function address or name

  • variable_namestringобязательный

    Variable name

  • new_typestringобязательный

    New type

Другие проверенные MCP-сервера

prisma/mcp

prisma/mcp

официальный

MCP сервер Prisma позволяет AI-агентам управлять базами данных Prisma Postgres: создавать бэкапы, выполнять SQL, интроспекцию схемы и миграции. Идеально для разработчиков, автоматизирующих работу с PostgreSQL через естественный язык.

JavaScript46
jetbrains/mcpProxy

jetbrains/mcpProxy

официальный

Прокси-сервер для подключения MCP-клиентов (Claude Desktop, VS Code) к JetBrains IDE. Упрощает интеграцию AI-ассистентов с IntelliJ, PyCharm и другими продуктами JetBrains через команды инструменто...

JavaScript962
vectara/vectara-mcp

vectara/vectara-mcp

официальный

MCP-сервер для RAG с Vectara: семантический поиск, генерация и коррекция галлюцинаций. Помогает AI-агентам выдавать фактологически точные ответы с верификацией. Совместим с Claude Desktop.

Python27
Google Ads MCP

Google Ads MCP

официальный

MCP сервер для Google Ads API: предоставляет инструменты поиска по аккаунту, метаданных кампаний и список клиентов, а также ресурсы с метриками и сегментами. Помогает LLM и AI агентам управлять рекламными данными напрямую.

Python752
VeriTeknik/pluggedin-mcp-proxy

VeriTeknik/pluggedin-mcp-proxy

официальный

plugged.in MCP Hub — прокси-сервер, объединяющий множество MCP-серверов в один интерфейс. Он наделяет AI памятью, знаниями и инструментами, включает RAG-поиск, уведомления и управление документами. Работает с любыми MCP-клиентами.

TypeScript132
Aiven-Open/mcp-aiven

Aiven-Open/mcp-aiven

официальный

MCP сервер для облачной платформы Aiven: управляйте PostgreSQL, Apache Kafka, приложениями и другими сервисами прямо из AI-ассистентов. Полезен разработчикам и DevOps для автоматизации облачной инфраструктуры.

TypeScript26
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин