Skip to main content
Glama
albertobalsalm0

ESP32-CYD Wi-Fi Analyzer MCP

🛡️ ESP32-CYD Wi-Fi Analyzer MCP

License: MIT Python 3.10+ MCP Standard Hardware: ESP32 CYD

Устройство кибербезопасности с поддержкой ИИ, которое сканирует окружающие сети Wi-Fi, анализирует уязвимости и предоставляет визуальную обратную связь через 2,8-дюймовый TFT-экран и RGB-светодиод на аппаратной платформе ESP32 Cheap Yellow Display (CYD) с использованием Model Context Protocol (MCP).


🌟 Особенности

  • Сквозная интеграция ИИ: Двусторонняя связь с Claude Desktop или любым совместимым LLM-клиентом через Model Context Protocol (MCP).

  • Интеллектуальный анализ угроз: Обнаружение незащищенных (OPEN) сетей, точек доступа со слабым шифрованием (WEP) и поддельных/клонированных сетей (Evil Twin / Rogue AP).

  • Панель визуального состояния и предупреждений: Динамические карточки состояния на TFT-экране 320x240 (Желтый: Выполняется сканирование, Зеленый: Безопасно, Красный: Угроза безопасности).

  • Активное управление оборудованием: Встроенный RGB-светодиод (с драйвером Active-Low), меняющий цвет в зависимости от уровня угрозы.

  • Самовосстанавливающееся соединение (Self-Healing): Менеджер последовательного порта Python, который не зависает и автоматически переподключается при извлечении и повторном подключении USB-кабеля.


Related MCP server: MCPPentestBOT

🏗️ Архитектура системы

flowchart LR
    subgraph AI["Yapay Zeka (Brain)"]
        CLAUDE["Claude Desktop / Cursor\n(Claude 3.5/5 Sonnet)"]
    end

    subgraph MCP["Protokol Köprüsü (Middleware)"]
        SERVER["FastMCP Python Server\n(mcp_serial_server.py)"]
    end

    subgraph HARDWARE["Uç Donanım (Edge Device)"]
        CYD["ESP32 Cheap Yellow Display\n(ESP32-2432S028R)"]
        TFT["2.8' TFT Ekran"]
        LED["Dahili RGB LED"]
        CYD --> TFT
        CYD --> LED
    end

    CLAUDE <-->|JSON-RPC Stdio| SERVER
    SERVER <-->|USB Serial (COM3 / 115200 Baud)| CYD

📁 Структура каталогов проекта

ESP32-CYD-WiFi-Analyzer-MCP/
├── firmware/
│   ├── cyd_wifi_sniffer/
│   │   └── cyd_wifi_sniffer.ino   # ESP32 C++ firmware kodu
│   └── User_Setup.h               # TFT_eSPI kütüphanesi için hazır pin yapılandırması
├── server/
│   └── mcp_serial_server.py       # FastMCP tabanlı Python seri port sunucusu
├── config/
│   └── claude_desktop_config.json.example # Claude Desktop örnek ayar dosyası
├── requirements.txt               # Python bağımlılıkları
├── .gitignore                     # Git yoksayma kuralları
└── README.md                      # Proje dokümantasyonu

🔌 Конфигурация оборудования и распиновка (ESP32-2432S028R)

Функция

GPIO-пин

Описание

SPI экрана

GPIO 13 (MOSI), 12 (MISO), 14 (SCK)

Линия данных SPI экрана

Управление экраном

GPIO 15 (CS), 2 (DC), 4 (RST)

Chip Select, Data/Command, Reset

Подсветка экрана (Backlight)

GPIO 21 (27 на некоторых клонах)

Подсветка экрана

RGB-светодиод (Красный)

GPIO 4

Active-Low (LOW = Вкл)

RGB-светодиод (Зеленый)

GPIO 16

Active-Low (LOW = Вкл)

RGB-светодиод (Синий)

GPIO 17

Active-Low (LOW = Вкл)

Сенсорный (Touch CS)

GPIO 33 (2USB v3) / GPIO 36 (Стандартный)

Линия SPI XPT2046


🚀 Этапы установки

Шаг 1: Установка прошивки ESP32

  1. Установите Arduino IDE на свой компьютер.

  2. Откройте Менеджер библиотек (Library Manager) в Arduino IDE и установите следующие библиотеки:

    • TFT_eSPI (Bodmer)

    • ArduinoJson (Benoit Blanchon - поддерживаются версии v6 или v7)

  3. Скопируйте файл firmware/User_Setup.h и замените им файл Документы/Arduino/libraries/TFT_eSPI/User_Setup.h на вашем компьютере.

  4. Откройте файл firmware/cyd_wifi_sniffer/cyd_wifi_sniffer.ino в Arduino IDE.

  5. Выберите плату ESP32 Dev Module, в качестве порта укажите COM-порт, к которому подключено ваше устройство (например, COM3), и нажмите кнопку Загрузить (Upload).

  6. После завершения загрузки на экране появится сообщение "СИСТЕМА ГОТОВА" синего цвета.


Шаг 2: Установка сервера Python MCP

  1. Убедитесь, что установлена версия Python 3.10 или новее.

  2. Установите необходимые библиотеки:

    pip install -r requirements.txt

Шаг 3: Настройка Claude Desktop

  1. Установите приложение Claude Desktop.

  2. Откройте файл AppData/Roaming/Claude/claude_desktop_config.json (создайте его, если он отсутствует) и отредактируйте следующим образом:

    {
      "mcpServers": {
        "esp32-cyd-sniffer": {
          "command": "python",
          "args": [
            "C:\\path\\to\\your\\repository\\server\\mcp_serial_server.py"
          ]
        }
      }
    }
  3. Полностью закройте и перезапустите приложение Claude Desktop.


💬 Использование и примеры промптов

Откройте новый чат в Claude Desktop и управляйте устройством, просто разговаривая:

  • Поиск порта:

    "Не могли бы вы вывести список активных портов на моем компьютере?"

  • Сканирование Wi-Fi:

    "Просканируй окружающие сети Wi-Fi с помощью устройства на порту COM3."

  • Анализ кибербезопасности и активация тревоги:

    "Проанализируй найденные сети. Если обнаружены незащищенные или подозрительные сети, объясни, что это такое, и отправь на экран устройства красную тревогу безопасности."

  • Сброс экрана:

    "Верни экран в нормальное состояние и зажги зеленый светодиод."


🛠️ Поддерживаемые LLM-модели

Поскольку этот проект использует стандартный Model Context Protocol (MCP), он совместим со всеми следующими системами:

  • Claude Desktop (Рекомендуется): Claude 3.5 Sonnet / Claude 5 Sonnet (Встроенный MCP-клиент)

  • Cursor IDE: Может быть интегрирован через меню Cursor Settings -> MCP.

  • VS Code (Cline / Roo Code): Может использоваться с моделями GPT-4o, Gemini 1.5 Pro, Llama-3 или Claude.


📄 Лицензия

Этот проект лицензирован по лицензии MIT. Подробности смотрите в файле LICENSE.

Related MCP Connectors

Related MCP Servers