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

**ESP32 Cheap Yellow Display (CYD)**와 **Model Context Protocol (MCP)**을 사용하여 주변 Wi-Fi 네트워크를 스캔하고, 보안 취약점을 분석하며, 하드웨어의 2.8인치 TFT 디스플레이와 RGB LED를 통해 시각적 피드백을 제공하는 AI 기반 사이버 보안 분석 장치입니다.


🌟 특징

  • 종단간 AI 통합: Model Context Protocol (MCP)을 통해 Claude Desktop 또는 호환되는 모든 LLM 클라이언트와 양방향 통신.

  • 지능형 위협 분석: 암호 미설정(OPEN) 네트워크, 취약한 암호화(WEP) 액세스 포인트 및 가짜/복제 네트워크(Evil Twin / Rogue AP) 탐지.

  • 시각적 상태 및 경고 패널: 320x240 TFT 디스플레이에 동적 상태 카드 표시 (노란색: 스캔 중, 녹색: 안전, 빨간색: 보안 위협).

  • 능동적 하드웨어 제어: 위협 수준에 따라 색상이 변하는 내장 RGB LED (Active-Low 드라이버).

  • 자가 치유 연결 (Self-Healing): USB 케이블을 뺐다 꽂아도 멈추지 않고 자동으로 재연결되는 Python 시리얼 포트 관리자.


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

디스플레이 백라이트

GPIO 21 (일부 클론에서는 27)

디스플레이 조명

RGB LED (빨간색)

GPIO 4

Active-Low (LOW = 켜짐)

RGB LED (녹색)

GPIO 16

Active-Low (LOW = 켜짐)

RGB LED (파란색)

GPIO 17

Active-Low (LOW = 켜짐)

터치 (Touch CS)

GPIO 33 (2USB v3) / GPIO 36 (표준)

XPT2046 SPI 라인


🚀 설치 단계

1단계: ESP32 펌웨어 설치

  1. 컴퓨터에 **Arduino IDE**를 설치합니다.

  2. Arduino IDE 내에서 **라이브러리 관리자 (Library Manager)**를 열고 다음 라이브러리를 설치합니다:

    • TFT_eSPI (Bodmer)

    • ArduinoJson (Benoit Blanchon - v6 또는 v7 지원)

  3. firmware/User_Setup.h 파일을 복사하여 컴퓨터의 Belgeler/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. 업로드가 완료되면 디스플레이에 파란색으로 "SISTEM HAZIR" 메시지가 나타납니다.


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 스캔:

    "COM3 포트에 연결된 장치로 주변 Wi-Fi 네트워크를 스캔해 줘."

  • 사이버 보안 분석 및 알람 트리거:

    "찾은 네트워크들을 분석해 줘. 암호가 없거나 의심스러운 네트워크가 발견되면 설명하고 장치 디스플레이에 빨간색 보안 경고를 보내 줘."

  • 디스플레이 리셋:

    "디스플레이를 정상으로 되돌리고 LED를 녹색으로 켜 줘."


🛠️ 지원되는 LLM 모델

이 프로젝트는 표준 **Model Context Protocol (MCP)**을 사용하므로 다음 모든 시스템과 호환됩니다:

  • Claude Desktop (권장): Claude 3.5 Sonnet / Claude 5 Sonnet (기본 MCP 클라이언트)

  • Cursor IDE: Cursor 설정 -> MCP 메뉴를 통해 통합 가능.

  • VS Code (Cline / Roo Code): GPT-4o, Gemini 1.5 Pro, Llama-3 또는 Claude 모델과 함께 사용 가능.


📄 라이선스

이 프로젝트는 MIT 라이선스로 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.

Related MCP Connectors

Related MCP Servers