
IDA Pro MCP
Даёт агенту доступ к базе IDA Pro: декомпилировать функции, искать перекрёстные ссылки, переименовывать, расставлять типы и комментарии. Работает и без интерфейса IDA, через idalib.
Как подключить
Что сделать до подключения
IDA Pro 8.3 или новее, рекомендуется 9; IDA Free не поддерживается
Python 3.11 или новее; в IDA переключите версию утилитой idapyswitch
uv и глобально активированный idalib: uv run "<папка IDA>/idalib/python/py-activate-idalib.py"
В Claude Code проще поставить плагином: claude plugin marketplace add mrexodia/claude-marketplace, затем claude plugin install ida-pro-mcp@mrexodia; в Codex — codex plugin marketplace add mrexodia/codex-marketplace и codex plugin add ida-pro-mcp@mrexodia
Для других клиентов код сервера нужен на диске; команда ida-pro-mcp --config выводит готовый JSON для клиента
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --transport stdio ida-pro \
-- uv run --project '<папка ida-pro-mcp>' idalib-mcp --stdioПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.ida-pro]
command = "uv"
args = ["run", "--project", "<папка ida-pro-mcp>", "idalib-mcp", "--stdio"]Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"ida-pro": {
"command": "uv",
"args": ["run", "--project", "<папка ida-pro-mcp>", "idalib-mcp", "--stdio"]
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"ida-pro": {
"type": "stdio",
"command": "uv",
"args": ["run", "--project", "<папка ida-pro-mcp>", "idalib-mcp", "--stdio"]
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"ida-pro": {
"command": "uv",
"args": ["run", "--project", "<папка ida-pro-mcp>", "idalib-mcp", "--stdio"]
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"ida-pro": {
"command": "uv",
"args": ["run", "--project", "<папка ida-pro-mcp>", "idalib-mcp", "--stdio"]
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"ida-pro": {
"type": "local",
"command": [
"uv",
"run",
"--project",
"<папка ida-pro-mcp>",
"idalib-mcp",
"--stdio"
]
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"ida-pro": {
"command": "uv",
"args": ["run", "--project", "<папка ida-pro-mcp>", "idalib-mcp", "--stdio"]
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"ida-pro": {
"command": "uv",
"args": ["run", "--project", "<папка ida-pro-mcp>", "idalib-mcp", "--stdio"]
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
idb_openоткрывает бинарник и создаёт сессиюdecompileдекомпилирует функциюdisasmдизассемблирует функциюlookup_funcsнаходит функцию по имени или адресуlist_funcsпоказывает список функцийimportsпоказывает импортыxrefs_toнаходит перекрёстные ссылкиcalleesпоказывает вызываемые функцииcallgraphстроит граф вызововanalyze_funcsподробно разбирает функциюrenameпереименовывает функции и переменныеset_commentsставит комментарииset_typeзадаёт типыdeclare_typeобъявляет тип на Cfind_regexищет строки по регуляркеfind_bytesищет байтовый шаблонget_bytesчитает байты по адресуint_convertпереводит числа между форматамиpatch_asmпатчит инструкцииpy_evalвыполняет Python внутри IDAПоказано 20 из 66.
Что попросить агента
Для каких задач
Ограничения
Автор сам советует взять вместо этого сервера Hex-Rays IDA MCP Server от разработчиков IDA
Нужна платная IDA Pro: IDA Free не поддерживается
На обфусцированном коде модели работают плохо: шифрование строк, хеширование импортов и запутывание потока лучше снять заранее
py_eval выполняет любой Python в IDA; инструменты отладчика скрыты и включаются параметром ?ext=dbg