Ghidra MCP Server
MCP-сервер к дизассемблеру Ghidra: сотни инструментов для обратной разработки, декомпиляция, переименование, работа со структурами, эмуляция и отладка
- 6 207 ★ репозитория
- Последний коммит
- Apache-2.0
Широкий доступ
Почему такой уровень
- Инструменты пишут в проект Ghidra: переименование, типы, комментарии, структуры
- Есть эндпоинты запуска произвольных Java и Python скриптов и живая отладка
- Сервер по умолчанию без аутентификации, при неверной настройке его можно вынести за localhost
Установка
- Работает в
Ручная установка
git clone https://github.com/bethington/ghidra-mcp.git
cd ghidra-mcp
python -m tools.setup ensure-prereqs --ghidra-path /path/to/ghidra
python -m tools.setup build
python -m tools.setup deploy --ghidra-path /path/to/ghidraУкажите свой путь к установленной Ghidra. Деплой ставит расширение, запускает Ghidra и ждет готовности MCP. Нужны Java 21 и Python с uv или pip.
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Инструменты пишут в проект Ghidra: переименование, типы, комментарии, структуры
- Есть эндпоинты запуска произвольных Java и Python скриптов и живая отладка
- Сервер по умолчанию без аутентификации, при неверной настройке его можно вынести за localhost
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Проект связывает дизассемблер Ghidra с агентами через Model Context Protocol. Он состоит из плагина для Ghidra, который поднимает локальный HTTP-сервер, и Python-моста, отдающего инструменты агенту по MCP. Инструментов больше двухсот, и это не только чтение: декомпиляция и графы вызовов, переименование функций и переменных, комментарии, создание структур, союзов и перечислений, поиск строк и байтовых шаблонов, анализ импортов и экспортов, эмуляция кода через EmulatorHelper и интеграция с живым отладчиком. Есть пакетные операции для массовых правок, перенос документации между версиями бинарника по хешу функций и работа с общим сервером Ghidra. Часть правил именования и типизации перенесена в слой инструментов, чтобы результат оставался единообразным между сессиями. Поддерживаются режимы с GUI и без него, включая запуск в Docker.
Для кого. Для реверс-инженеров и аналитиков, которые разбирают бинарные файлы в Ghidra и хотят вести работу через агента.
Подходит, если
- Нужно декомпилировать и документировать функции в Ghidra через агента
- Нужно массово переименовать, прокомментировать и типизировать код в проекте Ghidra
- Нужно перенести документацию между версиями одного бинарника или работать с общим сервером Ghidra
Не подходит, если
- Нет установленной Ghidra и подходящей версии окружения (Java, Python)
- Нужно только разовое чтение, ради которого не хочется поднимать плагин и мост
Пример запроса к агенту
Задокументируй эту функцию в Ghidra: разбери декомпиляцию, переименуй переменные и добавь комментарийMCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Переменные окружения
GHIDRA_MCP_URL- Адрес HTTP-сервера плагина Ghidra, по умолчанию http://127.0.0.1:8089.
GHIDRA_MCP_ALLOW_SCRIPTS- Включает эндпоинты запуска произвольных скриптов, по умолчанию выключены.
GHIDRA_MCP_AUTH_TOKENсекрет- Токен доступа, обязателен перед выносом сервера за пределы localhost.
Ограничения
Нужны Ghidra, Java 21 и Python с uv или pip, а версия плагина привязана к конкретной версии Ghidra, указанной в проекте. Скрипты на Python внутри Ghidra требуют расширения Jython. По умолчанию HTTP-сервер плагина слушает только localhost и не аутентифицирует запросы, это модель доверенного локального пользователя. Эндпоинты запуска произвольных скриптов выключены и включаются отдельной переменной, а перед выносом сервера за пределы localhost обязательно задать токен доступа.
Как отключить. Удалите запись сервера ghidra-mcp из конфигурации MCP вашего агента и удалите расширение GhidraMCP из Ghidra через меню File, пункт Install Extensions.
Частые вопросы
Это отдельная программа или дополнение к Ghidra?
Это плагин для уже установленной Ghidra плюс Python-мост. Плагин поднимает локальный HTTP-сервер, мост отдает инструменты агенту по MCP.
Агент может выполнять произвольный код?
Эндпоинты запуска скриптов выключены по умолчанию и включаются отдельной переменной окружения. Включайте их, только если действительно нужно исполнять скрипты и вы доверяете вызывающей стороне.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер и плагин для Ghidra: агент декомпилирует бинарники, смотрит перекрестные ссылки и переименовывает функции в открытом проекте
Расширение Ghidra с MCP-сервером: агент читает псевдокод и дизассемблер, строит графы вызовов и правит имена, типы и структуры через 100 инструментов
MCP-сервер для Ghidra: агент декомпилирует, переименовывает переменные, строит перекрестные ссылки и разбирает бинарные файлы через набор мелких инструментов
RE-MCP открывает агенту IDA Pro и Ghidra в безголовом режиме: функции, декомпилятор, перекрестные ссылки, типы и патчинг.
Нативный MCP-плагин для отладчика x64dbg: агент управляет отладкой по HTTP, ставит точки останова, шагает по коду, читает и патчит память
Официальный MCP-сервер Hex-Rays: агент открывает базы IDA, выполняет в них Python и разбирает бинарники. Плагины есть для Claude Code и Codex
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Ghidra MCP Server (эта карточка) | нет | не нужна | 6 207 | |
| GhidraMCP | нет | не нужна | 11 907 | MCP-сервер и плагин для Ghidra |
| GhidrAssistMCP | нет | не нужна | 810 | расширение Ghidra с MCP-сервером |
| Universal Modder | нет | 9 642 | плагин и скиллы для модов к играм на вашем ПК |
Коротко о README
README представляет MCP-сервер, который соединяет возможности обратной разработки Ghidra с агентами и предлагает более двухсот инструментов с полным доступом на запись. Помимо чтения и декомпиляции есть переименование, типизация, комментарии, создание структур, запуск скриптов, эмуляция P-code и интеграция с отладчиком. Установка идет через python -m tools.setup: подготовка зависимостей, сборка через Maven и деплой расширения в Ghidra, поддерживаются GUI, headless и Docker. Отдельный раздел описывает перенос конвенций именования в слой инструментов и защиту при выносе сервера за localhost. Лицензия Apache 2.0.