Автономный плагин MCP-сервера для IDA Pro.
[!IMPORTANT] Планируемое архивирование: IDAssistMCP планируется к архивированию, так как IDA Pro представляет встроенный нативный MCP-сервер. Нативная поддержка устраняет необходимость поддерживать отдельную интеграцию MCP и обеспечивает её согласованность с самой IDA Pro. Пожалуйста, используйте нативный MCP-сервер IDA Pro, как только он станет доступен в вашей установленной версии. Этот репозиторий останется доступным для справки.
Автономный плагин MCP-сервера (Model Context Protocol) для IDA Pro 9.x, предоставляющий возможности анализа IDA LLM-клиентам, таким как Claude Desktop.

action/format/direction для комментариев, переменных, типов, xrefs, закладок и кодаexecute_on_main_thread()IDASSISTMCP_)hcli plugin install idassistmcp
Это автоматически устанавливает плагин и его зависимости Python.
Скачайте последний релизный zip-архив со страницы GitHub Releases и распакуйте его в каталог плагинов IDA:
Linux / macOS:
unzip IDAssistMCP-*.zip -d ~/.idapro/plugins/
Windows:
Распакуйте zip-архив в %APPDATA%\Hex-Rays\IDA Pro\plugins\.
Затем установите зависимости, используя встроенный Python IDA (не системный Python):
Linux / macOS:
<IDA_INSTALL_DIR>/python3/bin/pip3 install -r ~/.idapro/plugins/IDAssistMCP/requirements.txt
Windows:
"<IDA_INSTALL_DIR>\python3\python.exe" -m pip install -r "%APPDATA%\Hex-Rays\IDA Pro\plugins\IDAssistMCP\requirements.txt"
Замените
<IDA_INSTALL_DIR>на путь установки IDA Pro.Совет: Вы также можете использовать переменную окружения
IDAUSRдля указания пользовательского каталога плагинов.
Добавьте в ваш claude_desktop_config.json для Claude Desktop:
{
"mcpServers": {
"idassistmcp": {
"url": "http://localhost:9080/mcp"
}
}
}
Настройка через переменные окружения с префиксом IDASSISTMCP_:
| Переменная | По умолчанию | Описание |
|---|---|---|
IDASSISTMCP_SERVER__HOST | localhost | Адрес привязки сервера |
IDASSISTMCP_SERVER__PORT | 9080 | Порт сервера |
IDASSISTMCP_SERVER__TRANSPORT | streamablehttp | Тип транспорта (sse или streamablehttp) |
IDASSISTMCP_DEBUG | false | Включить режим отладки |
IDASSISTMCP_LOG_LEVEL | INFO | Уровень логирования |
| Инструмент | Описание |
|---|---|
list_binaries | Список текущего загруженного бинарного файла |
get_binary_info | Подробные метаданные бинарного файла (архитектура, хэши, сегменты) |
| Инструмент | Описание |
|---|---|
get_code | Получить код функции — format: 'decompile' (псевдо-C) или 'disasm' (ассемблер) |
analyze_function | Комплексный анализ: метаданные, CFG, вызывающие/вызываемые, декомпиляция |
get_basic_blocks | Базовые блоки CFG с преемниками/предшественниками |
get_function_stack_layout | Разметка стекового фрейма (локальные переменные, аргументы, сохранённые регистры) |
| Инструмент | Действия | Описание |
|---|---|---|
xrefs | direction: to/from/both, include_calls: bool | Xrefs и опциональные вызывающие/вызываемые для адреса |
| Инструмент | Действия | Описание |
|---|---|---|
comments | action: get, set, list, remove | Управление комментариями (обычными, повторяемыми, функции) |
| Инструмент | Действия | Описание |
|---|---|---|
variables | action: list, rename | Список локальных переменных или переименование локальных/глобальных переменных с scope: auto, local, global |
| Инструмент | Действия / Описание |
|---|---|
types | action: list, set, create_struct, create_enum — управление типами IDB |
get_classes | Список типов структур/классов из библиотеки типов |
| Инструмент | Описание |
|---|---|
get_functions | Все функции с фильтрацией и постраничной навигацией |
search_functions_by_name | Поиск по шаблону имени и фильтрам размера |
get_function_by_name | Точный поиск по имени |
get_function_by_address | Поиск по адресу |
get_function_statistics | Агрегированная статистика (количество, размеры, топ-10) |
| Инструмент | Описание |
|---|---|
rename_symbol | Переименовать любой символ (функцию или данные) |
batch_rename | Пакетное переименование нескольких символов |
| Инструмент | Описание |
|---|---|
get_imports | Таблица импортов, сгруппированная по модулям |
get_exports | Таблица экспортов |
get_strings | Таблица строк с постраничной навигацией |
get_segments | Сегменты памяти с правами доступа |
get_entry_points | Все точки входа бинарного файла |
| Инструмент | Описание |
|---|---|
read_memory | Чтение сырых байтов по адресу |
get_data_at | Получить типизированные данные по адресу |
search_bytes | Поиск по бинарному байтовому шаблону |
search_strings | Поиск строк с постраничной навигацией |
create_data_var | Определить переменную данных по адресу (byte/word/dword/qword/float/ascii/C type) |
get_data_vars | Список определённых переменных данных (не-кодовых элементов) |
| Инструмент | Описание |
|---|---|
patch_bytes | Патчинг сырых байтов в IDB |
assemble_code | Ассемблировать текст инструкции по адресу и опционально пропатчить его |
export_program | Экспортировать пропатченный бинарный файл или базу данных IDA на диск |
| Инструмент | Описание |
|---|---|
navigate_to | Переместить курсор IDA на адрес |
bookmarks | Консолидированное управление закладками — действия: list, set, remove |
get_current_address | Получить адрес и контекст в позиции курсора |
get_current_function | Получить информацию о функции в позиции курсора |