IDA Pro MCP — реверсинг через MCP-протокол
IDA Pro MCP — это MCP-сервер для интеграции IDA Pro с AI-ассистентами (например, Claude или Cline). Позволяет «вибро-реверсить»: вызывать функции IDA через MCP-протокол, не выходя из чата.
Возможности
Сервер предоставляет следующие инструменты (все работают через JSON-RPC):
get_function_by_name(name) — получить функцию по имени.
get_function_by_address(address) — получить функцию по адресу.
get_current_address() — текущий адрес, выбранный пользователем.
get_current_function() — текущая функция.
list_functions() — список всех функций в базе.
decompile_function(address) — декомпилировать функцию по адресу.
disassemble_function(address) — получить ассемблерный код (адрес: инструкция; комментарий).
set_decompiler_comment(address, comment) — установить комментарий в псевдокоде.
set_disassembly_comment(address, comment) — установить комментарий в дизассемблере.
rename_local_variable(function_address, old_name, new_name) — переименовать локальную переменную.
rename_function(function_address, new_name) — переименовать функцию.
set_function_prototype(function_address, prototype) — задать прототип функции.
set_local_variable_type(function_address, variable_name, new_type) — задать тип локальной переменной.
get_metadata() — метаданные текущей IDB.
Установка плагина в IDA Pro
- Скопируйте файл
mcp-plugin.py в папку плагинов IDA Pro:
- Windows:
%appdata%\Hex-Rays\IDA Pro\plugins
- Linux/Mac:
~/.idapro/plugins
- Откройте IDB.
- Запустите сервер: Edit → Plugins → MCP.
Плагин не требует установки дополнительных зависимостей — просто скопируйте и работайте.
Установка MCP-сервера (для Cline/Claude)
- Установите
uv глобально:
- Windows:
pip install uv
- Linux/Mac:
curl -LsSf https://astral.sh/uv/install.sh | sh
- Склонируйте репозиторий, например, в
C:\MCP\ida-pro-mcp.
- Откройте конфигурацию MCP-серверов в Cline (вкладка Installed → Configure MCP Servers).
- Добавьте в
cline_mcp_settings.json:
{
"mcpServers": {
"github.com/mrexodia/ida-pro-mcp": {
"command": "uv",
"args": [
"--directory",
"c:\\MCP\\ida-pro-mcp",
"run",
"server.py"
],
"timeout": 600
}
}
}
Пример использования
После настройки можно вызывать инструменты через MCP, например:
<use_mcp_tool>
<server_name>github.com/mrexodia/ida-pro-mcp</server_name>
<tool_name>get_current_function</tool_name>
<arguments></arguments>
</use_mcp_tool>
Разработка и добавление новых функций
Для локальной разработки:
uv run fastmcp dev server.py
Откроется веб-интерфейс по адресу http://localhost:5173 для тестирования инструментов.
Добавлять новые функции очень просто: достаточно написать новую @jsonrpc-функцию в mcp-plugin.py — и она сразу станет доступна в MCP-сервере без лишнего кода.
Почему этот сервер?
Существуют и другие MCP-серверы для IDA Pro, но этот отличается:
- Минимум зависимостей: плагин копируется в папку плагинов — и всё.
- Простота расширения: не нужно писать много шаблонного кода.
- Современный подход: использование JSON-RPC и MCP-протокола.
Другие реализации (для сравнения):
Примечания
- Таймаут по умолчанию — 600 секунд (можно изменить в конфиге).
- Сервер работает только при открытой IDB.
- Для работы с AI-ассистентами требуется настроить MCP-клиент (Cline, Claude Desktop и т.д.).
Комментарии
Комментариев пока нет. Будьте первым.