GhidraMCP

MCP MCP Servers Open Source

MCP-сервер для Ghidra: позволяет LLM декомпилировать бинарники, переименовывать функции, анализировать структуры данных и автоматизировать reverse engineering.

v1.0
v1.4
23.06.2025 current
Добавлен 03.07.2026 · Обновлён 07.07.2026 · MCP Servers
Установка
Требуется Ghidra 10.2+ и Java 17+.

# 1. Установить плагин:
Скачайте GhidraMCP.jar из Releases → скопируйте в <ghidra>/Ghidra/Extensions/
Ghidra → File → Install Extensions → включите GhidraMCP → перезапустите.

# 2. Клонировать репо и установить Python-зависимости:
git clone https://github.com/LaurieWired/GhidraMCP
cd GhidraMCP
pip install -r requirements.txt   # mcp + requests

# 3. Запустить HTTP bridge (Script Manager в Ghidra):
RunMCPServer.java — сервер стартует на localhost:8080.

# Claude Desktop — claude_desktop_config.json:
{
  "mcpServers": {
    "ghidra": {
      "command": "python",
      "args": ["/ABSOLUTE/PATH/TO/GhidraMCP/bridge_mcp_ghidra.py"]
    }
  }
}

# Claude Code (CLI):
claude mcp add ghidra -- python /ABSOLUTE/PATH/TO/GhidraMCP/bridge_mcp_ghidra.py

# OpenCode — ~/.config/opencode/opencode.json:
{
  "mcp": {
    "ghidra": {
      "type": "local",
      "command": ["python", "/ABSOLUTE/PATH/TO/GhidraMCP/bridge_mcp_ghidra.py"]
    }
  }
}
переведено ИИ

Лицензия Релиз на GitHub (последний по дате) Звёзды на GitHub Форки на GitHub Участники на GitHub Подписаться на @lauriewired

ghidra_MCP_logo

ghidraMCP

ghidraMCP — это сервер Protocol Context Model для предоставления LLM возможности автономного реверс-инжиниринга приложений. Он предоставляет множество инструментов из базового функционала Ghidra клиентам MCP.

https://github.com/user-attachments/assets/36080514-f227-44bd-af84-78e29ee1d7f9

Возможности

Сервер MCP + Плагин Ghidra

  • Декомпиляция и анализ бинарных файлов в Ghidra
  • Автоматическое переименование методов и данных
  • Вывод списков методов, классов, импортируемых и экспортируемых элементов

Установка

Предварительные требования

  • Установите Ghidra
  • Python3
  • MCP SDK

Ghidra

Сначала загрузите последний релиз из данного репозитория. Он содержит плагин для Ghidra и Python-клиент MCP. Затем вы можете напрямую импортировать плагин в Ghidra.

  1. Запустите Ghidra
  2. Выберите File -> Install Extensions
  3. Нажмите кнопку +
  4. Выберите файл GhidraMCP-1-2.zip (или выбранную вами версию) из загруженного релиза
  5. Перезапустите Ghidra
  6. Убедитесь, что GhidraMCPPlugin включён в разделе File -> Configure -> Developer
  7. По желанию: Настройте порт в Ghidra через Edit -> Tool Options -> GhidraMCP HTTP Server

Видеоинструкция по установке:

https://github.com/user-attachments/assets/75f0c176-6da1-48dc-ad96-c182eb4648c3

Клиенты MCP

Теоретически, любой клиент MCP должен работать с ghidraMCP. Ниже приведены три примера.

Пример 1: Claude Desktop

Чтобы настроить Claude Desktop в качестве клиента Ghidra MCP, перейдите в Claude -> Settings -> Developer -> Edit Config -> claude_desktop_config.json и добавьте следующее:

{
  "mcpServers": {
    "ghidra": {
      "command": "python",
      "args": [
        "/ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py",
        "--ghidra-server",
        "http://127.0.0.1:8080/"
      ]
    }
  }
}

Либо отредактируйте этот файл напрямую:

/Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json

IP-адрес и порт сервера настраиваются и должны быть установлены для указания на целевой экземпляр Ghidra. Если они не заданы, по умолчанию используются localhost:8080.

Пример 2: Cline

Для использования GhidraMCP с Cline также потребуется ручной запуск сервера MCP. Сначала выполните следующую команду:

python bridge_mcp_ghidra.py --transport sse --mcp-host 127.0.0.1 --mcp-port 8081 --ghidra-server http://127.0.0.1:8080/

Единственный обязательный аргумент — это transport. Если все остальные аргументы не указаны, они примут значения по умолчанию, указанные выше. Когда сервер MCP запущен, откройте Cline и выберите MCP Servers в верхней части.

Cline select

Затем выберите Remote Servers и добавьте следующее, убедившись, что URL совпадает с хостом и портом MCP:

  1. Имя сервера: GhidraMCP
  2. URL сервера: http://127.0.0.1:8081/sse

Пример 3: 5ire

Ещё один клиент MCP, поддерживающий несколько моделей на стороне сервера — 5ire. Для настройки GhidraMCP откройте 5ire и перейдите в Tools -> New, затем задайте следующие параметры:

  1. Tool Key: ghidra
  2. Name: GhidraMCP
  3. Command: python /ABSOLUTE_PATH_TO/bridge_mcp_ghidra.py

Сборка из исходного кода

  1. Скопируйте следующие файлы из директории Ghidra в директорию lib/ данного проекта:
  2. Ghidra/Features/Base/lib/Base.jar
  3. Ghidra/Features/Decompiler/lib/Decompiler.jar
  4. Ghidra/Framework/Docking/lib/Docking.jar
  5. Ghidra/Framework/Generic/lib/Generic.jar
  6. Ghidra/Framework/Project/lib/Project.jar
  7. Ghidra/Framework/SoftwareModeling/lib/SoftwareModeling.jar
  8. Ghidra/Framework/Utility/lib/Utility.jar
  9. Ghidra/Framework/Gui/lib/Gui.jar
  10. Выполните сборку с помощью Maven командой:

mvn clean package assembly:single

Сгенерированный zip-файл включает собранный плагин Ghidra и его ресурсы. Эти файлы необходимы для распознавания нового расширения Ghidra.

  • lib/GhidraMCP.jar
  • extensions.properties
  • Module.manifest
Комментарии
Войдите, чтобы оставить комментарий