Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
flipper-mcp — Serveur MCP alimenté par IA pour Flipper Zero. Contrôlez SubGHz, NFC, RFID, IR, BLE, GPIO et plus encore via WiFi en utilisant Claude ou tout client MCP. | Kitploit
Outils/GitHubGitHub/roostercoopllc/flipper-mcp
Sécurité des Systèmes EmbarquésSécurité BluetoothOutils RFID/NFCScripting et AutomatisationSécurité Sans FilTests d'IntrusionCommandement et ContrôleUtilitaires et FrameworksSécurité Matériel et IoTRed TeamingOutil d'Accès à Distance
22214il y a 6 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Sécurité de l'IA
GitHubroostercoopllc/flipper-mcp

flipper-mcp

Serveur MCP alimenté par IA pour Flipper Zero. Contrôlez SubGHz, NFC, RFID, IR, BLE, GPIO et plus encore via WiFi en utilisant Claude ou tout client MCP.

Voir le dépôt

flipper-mcp

Un serveur MCP (Model Context Protocol) en Rust qui s'exécute directement sur la WiFi Dev Board v1 (ESP32-S2) du Flipper Zero, permettant à des agents IA de contrôler un Flipper Zero sur le réseau.

Qu'est-ce que c'est ?

Ce projet place un serveur MCP sur le Flipper lui-même. Tout client IA compatible MCP (Claude Desktop, Claude Code, etc.) peut se connecter et utiliser les capacités du Flipper comme outils — SubGHz, NFC, RFID, IR, GPIO, BadUSB, iButton, stockage de fichiers, et plus encore.

Contrairement à d'autres projets qui nécessitent un ordinateur hôte connecté en USB, flipper-mcp s'exécute sur le module WiFi ESP32-S2 attaché au Flipper. Le Flipper devient un outil autonome, accessible sur le réseau.

Architecture

root@kitploit:~
LOCAL (même réseau) :
  Client MCP ──HTTP──► flipper-mcp.local:8080 (ESP32-S2) ──UART──► Flipper Zero

DISTANT (inter-réseaux) :
  Client MCP ──HTTP──► Serveur relais ◄──WebSocket── ESP32-S2 ──UART──► Flipper Zero

L'ESP32-S2 exécute un serveur HTTP implémentant le protocole MCP. Il traduit les appels d'outils MCP en commandes CLI du Flipper Zero via UART à 115200 bauds. Un serveur relais compagnon permet l'accès distant depuis n'importe quel réseau.

Fonctionnalités

  • ~30 outils intégrés couvrant toutes les applications par défaut du Flipper Zero
  • Découverte dynamique de modules — détection automatique des applications FAP depuis la carte SD + outils pilotés par configuration TOML
  • Configuration Flipper-first — configurez le WiFi depuis le FAP du Flipper (aucun téléphone, navigateur ou script PC nécessaire)
  • Double transport MCP — Streamable HTTP (moderne) + Legacy SSE (rétrocompatible)
  • Découverte locale — annonce mDNS sous flipper-mcp.local
  • Accès distant — tunnel WebSocket inverse via un serveur relais (aucune redirection de port nécessaire)
  • Aucune authentification — conçu pour des scénarios de pentesting et de recherche en sécurité
  • Serveur relais compagnon — petit binaire Rust pour l'accès inter-réseaux, prend en charge plusieurs Flippers

Matériel requis

  • Flipper Zero (toute version de firmware avec support CLI)
  • WiFi Dev Board v1 (module ESP32-S2-WROVER)

À quel appareil dois-je me connecter ?

Prérequis

  • Rust — installez via rustup :
    root@kitploit:~
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • Chaîne d'outils Xtensa — l'ESP32-S2 nécessite une chaîne d'outils Rust personnalisée :
    root@kitploit:~
    cargo install espup
    espup install
    source ~/export-esp.sh  # Exécutez ceci dans chaque nouveau terminal
    
  • Outil de flash & proxy de linker :
    root@kitploit:~
    cargo install espflash
    cargo install ldproxy
    
  • Paquets système (Debian/Ubuntu/Kali) :
    root@kitploit:~
    sudo apt install -y git curl gcc build-essential pkg-config libudev-dev libssl-dev python3 python3-venv cmake ninja-build
    

Démarrage rapide

Instructions d'installation complètes dans docs/SETUP.md

1. Compiler & flasher le firmware

root@kitploit:~
source ~/export-esp.sh
cd firmware
cargo build --release --target xtensa-esp32s2-espidf
espflash flash --monitor target/xtensa-esp32s2-espidf/release/flipper-mcp

3. Configurer le WiFi

Créez config.txt sur la carte SD du Flipper à l'emplacement SD:/apps_data/flipper_mcp/config.txt :

root@kitploit:~
wifi_ssid=YourNetworkName
wifi_password=YourPassword
device_name=flipper-mcp

Ou configurez directement depuis le Flipper à l'aide du FAP compagnon (voir Étape 5) : Apps → Tools → Flipper MCP → Configure WiFi

Au premier démarrage sans fichier de configuration, l'ESP32 attend et écrit status=needs_config dans le fichier de statut. Le FAP du Flipper affichera cela sur l'écran Status.

4. Vérifier que le serveur fonctionne

Avant de configurer un client IA, confirmez que le serveur est joignable avec curl :

root@kitploit:~
# Vérification rapide de l'état
curl http://flipper-mcp.local:8080/health

# Vérification complète — initialisation + liste de tous les outils disponibles
./scripts/test-connection.sh

# Si mDNS ne se résout pas sur votre OS, passez l'IP directement :
./scripts/test-connection.sh 192.168.x.xxx

Tester les outils MCP directement avec curl

Récupérez l'IP du Flipper depuis le menu Flipper MCP → Status, puis testez :

Diffusion de beacon BLE (émettre une annonce BLE usurpée) :

root@kitploit:~
curl -X POST http://192.168.0.58:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ble_beacon","arguments":{"data":"020106"}}}'

Clavier HID BLE (émuler un clavier sans fil et taper) :

root@kitploit:~
# Démarrer l'émulation HID
curl -X POST http://192.168.0.58:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ble_hid_start","arguments":{}}}'

# Taper un message
curl -X POST http://192.168.0.58:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"ble_hid_type","arguments":{"text":"Hello from Flipper!"}}}'

# Arrêter l'émulation HID
curl -X POST http://192.168.0.58:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"ble_hid_stop","arguments":{}}}'

Émission IR (envoyer des codes de télécommande IR) :

root@kitploit:~
# Code IR protocole NEC (bouton power TV générique)
curl -X POST http://192.168.0.58:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ir_tx","arguments":{"protocol":"NEC","address":"00","command":"01","repeat":0}}}'

Réception SubGHz (écouter les signaux sans fil sur 433,92 MHz) :

root@kitploit:~
curl -X POST http://192.168.0.58:8080/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"subghz_rx","arguments":{"frequency":433920000,"duration":5000}}}'

Remplacez 192.168.0.58 par l'adresse IP réelle de votre Flipper.

Ajoutez ensuite à votre configuration Claude Desktop (claude_desktop_config.json) :

root@kitploit:~
{
  "mcpServers": {
    "flipper": {
      "url": "http://flipper-mcp.local:8080/mcp"
    }
  }
}

5. Gérer la carte WiFi depuis le Flipper

Installez l'application compagnon Flipper MCP depuis flipper-app/ sur le Flipper Zero. Compilez avec ufbt et copiez le .fap dans SD:/apps/Tools/ :

root@kitploit:~
cd flipper-app && ufbt   # produit flipper_mcp.fap
# Copiez flipper_mcp.fap sur votre carte SD Flipper dans apps/Tools/

L'application apparaît dans Apps → Tools → Flipper MCP et fournit :

L'application communique via des fichiers sur carte SD (aucun câblage supplémentaire au-delà du connecteur GPIO). Configure WiFi est l'assistant de premier démarrage — aucun téléphone, navigateur ou script PC nécessaire.

6. (Optionnel) Accès distant via relais

Auto-hébergé (exécutez le binaire n'importe où) :

root@kitploit:~
./scripts/build-relay.sh
./target/release/flipper-mcp-relay --listen 0.0.0.0:9090
# Ajoutez ensuite relay_url à config.txt sur la carte SD du Flipper :
# relay_url=ws://your-server:9090/tunnel

Déploiement cloud (AWS ou GCP, avec TLS + DNS) :

root@kitploit:~
# Initialisez le stockage d'état, puis déployez
./infra/bootstrap/aws.sh   # ou ./infra/bootstrap/gcp.sh
cd infra/aws && cp terraform.tfvars.example terraform.tfvars
tofu init && tofu apply
# Affiche l'URL du relais et une commande wifi-config.sh prête à coller

Voir RELAY.md pour les instructions complètes.

Outils disponibles

Des outils personnalisés peuvent être ajoutés via des fichiers de configuration TOML ou en installant des applications FAP sur la carte SD. Voir OPERATIONS.md pour des commandes curl prêtes à copier-coller pour chaque outil.

Alternative gratuite : Open WebUI + Ollama

Vous n'avez pas besoin d'un abonnement Claude pour utiliser flipper-mcp. Open WebUI est une interface gratuite et auto-hébergée de type ChatGPT qui prend nativement en charge MCP Streamable HTTP (v0.6.31+). Associez-la à Ollama pour un contrôle du Flipper piloté par IA entièrement local et hors ligne.

1. Installer Ollama et récupérer un modèle compatible outils

root@kitploit:~
# Installer Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Récupérer un modèle avec support d'appel d'outils
ollama pull llama3.1        # 8B — bon équilibre entre vitesse et capacités
# ou : ollama pull qwen2.5   # fort appel d'outils, bon en sortie structurée
# ou : ollama pull mistral    # léger, utilisation d'outils rapide

2. Démarrer Open WebUI

root@kitploit:~
# Docker (recommandé) — se connecte automatiquement à Ollama sur localhost
docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
  -e WEBUI_AUTH=False \
  -v open-webui:/app/backend/data \
  --name open-webui \
  ghcr.io/open-webui/open-webui:main

# Ou sans Docker :
pip install open-webui
open-webui serve

Ouvrez http://localhost:3000 dans votre navigateur.

3. Connecter le serveur MCP du Flipper

  1. Allez dans Admin Settings (icône engrenage) → External Tools
  2. Cliquez sur + Add Server
  3. Réglez Type sur MCP (Streamable HTTP)
  4. Saisissez l'URL du serveur :
    • Local : http://flipper-mcp.local:8080/mcp (ou http://192.168.x.x:8080/mcp)
    • Via relais : https://relay.example.com/mcp
    • Depuis Docker : utilisez http://host.docker.internal:8080/mcp si le Flipper est sur le réseau de l'hôte Docker
  5. Réglez Authentication sur None (flipper-mcp n'a pas d'authentification)
  6. Save

Astuce : Sous Workspace → Models → (votre modèle) → Advanced Parameters, réglez Function Calling sur Default pour les petits modèles. Ne passez à Native que pour les modèles avec un fort support d'outils intégré (Llama 3.1 8B+, Qwen 2.5, Mistral).

4. Exemples de prompts

Une fois connecté, essayez ceci dans le chat Open WebUI :

Les tâches agentiques multi-étapes fonctionnent mieux avec des modèles plus grands (Llama 3.1 70B, Qwen 2.5 72B, ou des modèles cloud via des API compatibles OpenAI). Les petits modèles gèrent de manière fiable les appels à un seul outil.

Structure du projet

root@kitploit:~
flipper-mcp/
├── firmware/          # Firmware ESP32-S2 (Rust, esp-idf-svc)
├── relay/             # Serveur relais compagnon (Rust, tokio/axum)
├── flipper-app/       # FAP Flipper Zero — interface de gestion embarquée (C, ufbt)
├── infra/             # IaC OpenTofu — déploiement du relais cloud (AWS + GCP)
├── config/            # Exemples de configurations de modules
├── scripts/           # Scripts d'aide pour la compilation, le flash et l'installation
└── docs/              # Architecture, installation, API, dépannage

Documentation

  • SETUP.md — Installation complète depuis zéro
  • ARCHITECTURE.md — Exploration approfondie de la conception du système
  • API.md — Référence complète des outils MCP
  • OPERATIONS.md — Guide d'exploitation avec commandes curl pour chaque outil
  • MODULE_DEVELOPMENT.md — Créer des modules personnalisés
  • RELAY.md — Configuration de l'accès distant
  • HARDWARE.md — Détails du câblage et du matériel
  • TROUBLESHOOTING.md — Problèmes courants et correctifs
  • DESIGN.md — Conception technique et architecture du système

Pour les agents IA

Voir AGENTS.md pour le contexte complet du projet, les spécifications techniques, l'architecture du système, et tout ce qui est nécessaire pour poursuivre le développement de ce projet.

Licence

MIT

Télécharger l’outil
ÉtapeSe connecter àRemarques
Flash du firmwareUSB-C de la WiFi Dev BoardLa carte possède son propre port USB, distinct du Flipper
Surveillance sérieUSB-C de la WiFi Dev BoardMême connexion USB que le flash
Fichiers de configuration sur carte SDCarte SD du Flipper ZeroInsérez la SD dans le Flipper, ou retirez-la et montez-la sur le PC
Commandes de contrôle du serveurCarte SD du Flipper ZeroCréez le fichier server.cmd dans apps_data/flipper_mcp/
Communication UARTAutomatiqueLa WiFi Dev Board et le Flipper se connectent via le connecteur GPIO
Requêtes HTTP MCPIP de la WiFi Dev Board:8080Connectez-vous via votre réseau WiFi
ÉcranCe qu'il fait
StatusDemande une mise à jour fraîche du statut à l'ESP32, affiche l'IP, le SSID, l'état du serveur, la version
Start / Stop / RestartContrôle le cycle de vie du serveur HTTP MCP
Reboot BoardRedémarre la WiFi Dev Board ESP32
Configure WiFiClavier à l'écran pour saisir le SSID + mot de passe ; écrit config.txt sur la carte SD
View LogsJournal de diagnostic défilable écrit par l'ESP32 toutes les 30 s
Tools ListListe défilable de tous les outils MCP actuellement enregistrés sur l'ESP32
Refresh ModulesDéclenche une nouvelle analyse de découverte des FAP + rechargement de modules.toml sur l'ESP32
CatégorieOutilsDescription
SubGHzsubghz_tx, subghz_rx, subghz_decode_raw, subghz_chat, subghz_tx_from_fileOpérations radiofréquences
NFCnfc_detect, nfc_read, nfc_emulate, nfc_fieldInteraction avec tags NFC
RFIDrfid_read, rfid_emulate, rfid_writeRFID basse fréquence
Infrarougeir_tx, ir_rxTélécommande IR
GPIOgpio_read, gpio_write, gpio_set_modeContrôle des entrées/sorties de broches
BadUSBbadusb_run, badusb_listAttaques USB HID
iButtonibutton_read, ibutton_emulatePorte-clés 1-Wire
Stockagestorage_list, storage_read, storage_write, storage_remove, storage_statGestion de fichiers sur carte SD
Systèmesystem_device_info, system_power_info, system_power_reboot, system_ps, system_free, system_uptimeGestion de l'appareil
BLEble_info, ble_beacon, ble_beacon_stop, ble_hid_start, ble_hid_type, ble_hid_press, ble_hid_mouse, ble_hid_stopBluetooth Low Energy (diffusion de beacon + émulation HID)
Appsapp_launch_{name} (découvert automatiquement depuis la carte SD)Gestion des applications
PromptCe qu'il fait
« Scan for NFC tags near the Flipper »Appelle nfc_detect pour lire les tags à proximité
« List all files on the Flipper's SD card »Appelle storage_list sur /ext
« Transmit this SubGHz signal on 433.92 MHz: ... »Appelle subghz_tx avec la fréquence donnée
« Read any RFID card that's presented to the Flipper »Appelle rfid_read et renvoie les données du tag
« What apps are installed on the Flipper? »Appelle app_list pour énumérer les FAP installés
« Send this IR signal to turn off the TV »Appelle ir_tx avec le protocole et les données spécifiés
« Show me the Flipper's system info and free memory »Appelle system_info + system_free
« Read the NFC tag, then save its data to /ext/nfc/captured.nfc »Multi-étapes : nfc_read → storage_write
« Monitor 315 MHz for 10 seconds and decode anything you hear »Appelle subghz_rx avec fréquence et durée