flipper-ble-mcp

flipper-ble-mcp

Drive a Flipper Zero wirelessly over Bluetooth LE from Claude.

Category
Visit Server

README

<!-- mcp-name: io.github.pogorelov-labs/flipper-ble-mcp -->

flipper-ble-mcp πŸ¬πŸ“‘

Drive a Flipper Zero wirelessly over Bluetooth LE from Claude β€” no USB cable β€” backed by a self-evolving knowledge base that makes every session faster than the last.

CI PyPI License: MIT Platform: macOS Python 3.11+ MCP

flipper-ble-mcp is three layers that form a loop:

  1. An MCP server (src/) β€” 38 tools that control a Flipper Zero over BLE: read device info & files, screenshot the screen, inject button presses, launch apps, app-driven Sub-GHz/IR transmit, GPIO, BadUSB, and a scheduled read-only health-watch.
  2. A skill (.claude/skills/flipper/) β€” the operating brain: an ORIENT β†’ EXECUTE β†’ CAPTURE loop, a routine index (task β†’ KB doc β†’ tools), verified menu maps, and safety gates.
  3. A knowledge base (the docs in this repo) β€” ships prebuilt with deep Flipper + toolkit knowledge the agent reads before acting and writes back to after (/flipper-learn).
read the KB  β†’  act via MCP  β†’  capture what you learned  β†’  KB grows  β†’  next session is faster

That last arrow is the point: instead of re-deriving how the device behaves each time, the agent accumulates expertise β€” and it ships with a big head start.

⚠️ macOS only (today). The Bluetooth work runs inside a small ad-hoc-signed .app that carries the macOS Bluetooth entitlement; the MCP process itself never touches BT. See Architecture.

⚠️ Dual-use tool. It can transmit RF/IR and inject USB keystrokes (BadUSB). Your own devices, authorized targets, and legal frequencies only. Every real action is human-approved per call. See SECURITY.md.

Why

LLM agents are great at reasoning and terrible at remembering what they learned last time. This project pairs real hardware control (an MCP server) with a knowledge base the agent both consumes and grows β€” so operating a Flipper gets faster and more reliable with use, and the knowledge is portable (it ships in the repo, not trapped in one chat).

Demo

<!-- TODO: 30–60s GIF β€” "ask Claude to screenshot the Flipper / press a button β†’ it happens" --> Demo GIF coming soon.

Architecture

Claude (Desktop / Code)
      β”‚  MCP (stdio)
      β–Ό
flipper-ble MCP server  ──────────────┐   (never touches Bluetooth directly)
      β”‚  token-authed Unix socket      β”‚
      β–Ό                                β”‚
resident daemon  (holds ONE BLE link)  β”‚  runs inside FlipperBLE.app β€”
      β”‚  Bluetooth LE                   β”‚  the ad-hoc-signed bundle that carries
      β–Ό                                β”˜  the macOS Bluetooth (TCC) entitlement
   Flipper Zero

A persistent daemon keeps a single BLE connection open (status/reads ~0.1–0.3 s, screenshot/press ~1.5 s; idle-disconnects to free the radio for your phone). The socket is 0600 + shared-token authed.

Install

Prerequisites: macOS, a Flipper Zero (Momentum / Unleashed / official firmware), Claude Code or Claude Desktop, Python 3.11+, and uv.

git clone https://github.com/pogorelov-labs/flipper-ble-mcp && cd flipper-ble-mcp
python3 -m venv .venv && .venv/bin/pip install -e .   # bleak, protobuf, mcp + the package
./app/build_app.sh .venv/bin/python                   # build + ad-hoc-sign the Bluetooth helper (one-time)

Add the MCP server to Claude β€” claude mcp add flipper-ble -- uvx flipper-ble-mcp, or in your Claude Desktop config:

{
  "mcpServers": {
    "flipper-ble": { "command": "uvx", "args": ["flipper-ble-mcp"] }
  }
}

Then run Claude Code in this repo: the flipper skill + the KB are auto-discovered, so just ask β€” "what's my Flipper's battery?" / "screenshot my Flipper." (To use the skill outside the repo, copy .claude/skills/flipper/ and .claude/commands/flipper-learn.md into your ~/.claude/.)

The self-evolving knowledge base

  • Seed (this repo) β€” curated, general Flipper + toolkit knowledge. Indexed by llms.txt.
  • Local overlay (kb-local/, git-ignored) β€” where each install's new learnings land via /flipper-learn. The skill reads it alongside the seed; local entries win on conflict.
  • PR-back β€” broadly-useful learnings get promoted into the seed via pull request, so the community's collective experience compounds. Classification rule: .claude/skills/flipper/references/kb-map.md.

Tools

38 tools β€” full table + RPC mapping in resources/flipper-ble-control.md. Highlights: device_info, power_info, screenshot, press / press_sequence, storage_*, app_launch, transmit_subghz / transmit_infrared (gated), gpio_*, run_badusb (gated), healthwatch.

Safety & responsible use

See SECURITY.md: every action is human-approved per call; RF/IR/BadUSB is for your own authorized targets on legal bands; the health-watch is read-only and default-off; the agent is instructed never to autonomously transmit.

Contributing

See CONTRIBUTING.md β€” including how to PR a learned-KB entry back into the seed. House style for KB docs: CLAUDE.md.

License

MIT Β© 2026 Ruslan Pogorelov.


State: 70 content docs, ~102k words. The knowledge base below is generated from per-doc frontmatter β€” run python3 build-kb-index.py to rebuild; never hand-edit the block.

<!-- BEGIN GENERATED INDEX (do not hand-edit β€” run: python3 build-kb-index.py) -->

Index

Start here / Core

File Status What's in it
use-cases-model.md βœ… Scored data model β€” schema + 1–10 real-use rubric + 63 use-cases in ranked score bands.
01-architecture.md βœ… Hardware block map, STM32WB MCU, radios, software stack, SD layout, and full capability map.
legal-and-safety.md βœ… Dual-use ground rules β€” RF-transmit, cloning, HID, EMV reality, and a responsible-use checklist.
glossary.md βœ… One-line definitions of every term used across the KB, each linking to its deep-dive.

Dataset: use-cases.csv / use-cases.json β€” regenerate the JSON with python3 build-use-cases-json.py. UC-ID β†’ docs map: uc-index.json.

Firmware

File Status What's in it
firmware/README.md βœ… Firmware comparison matrix, Xtreme to Momentum history, flashing/recovery, and legal/stability risks.
firmware/migration-xtreme-to-momentum.md βœ… Step-by-step β€” back up SD, flash Momentum, restore, re-enable add-ons, verify (frontier Stage 0).
firmware/momentum.md βœ… Feature-rich Xtreme successor β€” capabilities by domain plus an honest is-it-the-best verdict.
firmware/official.md βœ… Stock OFW from Flipper Devices β€” abilities, deliberate limits, and the sanctioned app catalog.
firmware/roguemaster.md βœ… Kitchen-sink, bleeding-edge custom firmware with the largest bundled app/game set and most crashes.
firmware/unleashed.md βœ… Unlocked, stable, RF-focused custom firmware β€” the oldest OFW fork, favored for serious Sub-GHz work.

Hardware & GPIO

File Status What's in it
hardware/README.md βœ… GPIO pinout, ADC/PWM/buses, power limits, and the Flipper's internal-radio front-end hardware.
hardware/esp32-firmware-comparison.md βœ… Bruce vs Ghost ESP vs Marauder β€” which firmware to flash on an ESP32 Flipper backpack.
hardware/esp32-marauder-module.md βœ… The ESP32-WROOM Marauder backpack hardware β€” GPIO 9-18 mount (3V3), the freeze fix, BOOT/RST buttons, dual-SD, flashing.
hardware/gpio-addons-current.md βœ… Current GPIO add-ons β€” DevBoard, VGM, Marauder/Ghost ESP, Mayhem, NRF24, CC1101, GPS, protoboards.
hardware/buying-guide.md βœ… Which GPIO add-on(s) to buy, by goal/persona, with a board-vs-persona comparison table.
hardware/addons-explained.md βœ… Plain-words use-cases + pros/cons for each Flipper GPIO add-on β€” GPS, NRF24, CC1101, BLE sniffer, thermal, geiger.
hardware/gpio-addons-potential.md βœ… DIY GPIO add-ons β€” IΒ²C/SPI/UART sensors, displays, LoRa, BLE sniffer, logic analyzer, and design limits.

Capabilities (built-in feature deep-dives)

File Status What's in it
capabilities/badusb.md βœ… HID keystroke injection over USB (and BLE on CFW) β€” Ducky Script, layouts, OS targets, and blue-team defenses.
capabilities/ibutton.md βœ… Dallas / Cyfral / Metakom contact "touch" keys over 1-Wire β€” read, emulate, and clone to writable blanks.
capabilities/infrared.md βœ… Capture, store, and replay consumer IR; protocols, .ir format, universal remotes, and the Flipper-IRDB library.
capabilities/nfc-rfid.md βœ… Overview of the two card radios β€” LF 125 kHz RFID and HF 13.56 MHz NFC; deep dives live in cards/.
capabilities/sub-ghz.md βœ… CC1101 sub-1-GHz radio β€” bands, modulation/presets, on-device workflows, .sub format, protocol decoders.

Cards, NFC & RFID (deep-research sub-domain)

File Status What's in it
cards/README.md βœ… Hub: card taxonomy, security tiers, and the cards doc index
cards/cloning-matrix.md βœ… What's cloneable + how, magic cards, and a blanks list
cards/iclass-picopass.md βœ… iCLASS legacy vs SE/SEOS; the PicoPass app
cards/lf-125khz.md βœ… EM4100/HID Prox/Indala/AWID + T5577 cloning
cards/mifare.md βœ… MIFARE Classic/Ultralight/NTAG/DESFire + Crypto1 attacks
cards/nfc-theory.md βœ… RFID/NFC physics + ISO 14443/15693/18092 protocols

Wi-Fi (ESP32 Marauder add-on)

File Status What's in it
wifi/README.md βœ… Hub: Wi-Fi capability map β€” which use-case lives in which doc.
wifi/evil-portal.md βœ… Rogue-AP captive-portal credential harvesting.
wifi/marauder-mcp-scan.md βœ… Agent-driven AP scan β€” launch Marauder over the BLE MCP, run scanap, read the full network list from the SD log.
wifi/own-network-audit.md βœ… Runnable: audit your own PSK (capture, hcxtools, hashcat).
wifi/deauth.md βœ… Deauthentication: the 802.11 flaw and the PMF/802.11w defense.
wifi/recon-and-attacks.md βœ… Scan, sniff to PCAP, beacon spam, analyzer, wardrive, detect-deauth.
wifi/wpa-handshake-pmkid.md βœ… Capture the WPA 4-way handshake / PMKID and crack it offline with hashcat.

Bluetooth / BLE

File Status What's in it
bluetooth/README.md βœ… Hub for Bluetooth on this rig β€” Classic vs BLE, and the BLE use-case map across the sub-domain docs.
bluetooth/airtag-tracker-detection.md βœ… How Find My works, anti-stalking tracker detection, rig limits, and FindMy Flipper as the inverse emulator.
bluetooth/ble-sniffer-addon.md βœ… Real BLE connection capture via nRF52840/nRF Sniffer or Sniffle, plus crackle for LE Legacy pairings.
bluetooth/ble-spam.md βœ… Advertising-flood pairing popups (Sour Apple/Fast Pair/Swift Pair); the iOS 17.2 story; nuisance, not a hack.
bluetooth/classic.md βœ… Bluetooth Classic (BR/EDR) attacks β€” KNOB, BIAS, BlueBorne β€” and why this rig can't touch them.
bluetooth/interception.md βœ… Interception reality β€” advertising vs connection sniffing, pairing crypto, and what this rig can/can't do.

Theory

File Status What's in it
theory/relay-attacks.md βœ… The attack class that beats correct crypto β€” PKES/BLE/NFC relay; UWB/distance-bounding defense
theory/rolling-codes.md βœ… KeeLoq internals, RollJam/RollBack, cryptanalysis, and defenses
theory/human-layer.md βœ… The gap no patch closes β€” phishing, BadUSB social-eng, NFC/QR baiting; passkeys as the fix

Topics

File Status What's in it
topics/ai-flipper-possibilities.md βœ… What an AI agent driving the Flipper unlocks, the hardware/crypto ceiling, and injectionβ†’hardware risk.
topics/tinkering.md βœ… Maker/electronics projects, FAP/ufbt app dev, on-device JavaScript, and asset packs.
topics/security-pentest.md βœ… Honest red-team framing β€” capability-vs-tool matrix, methodology, ROE checklist, remediation.
topics/subghz-region-lock.md βœ… How Flipper's Sub-GHz region provisioning works, why "Missing region file" blocks TX, and the fix.
topics/use-cases.md βœ… Legitimate uses & project ideas organized by capability, with a starter-projects table.
topics/remaining-gaps.md βœ… Where capability still beats modern defenses in 2026 β€” deployment inertia, relay attacks, IoT floor, FM11RF08S.

Resources

File Status What's in it
resources/best-github-repos.md βœ… Curated GitHub repos by category, with maintenance flags
resources/community-and-video.md βœ… Discord/Reddit/forums + vetted YouTube creators
resources/flipper-ble-control.md βœ… Wireless Flipper control SOLVED β€” read/see/drive/launch/file-read over BLE via the flipper-ble MCP server.
resources/cool-projects.md βœ… Fun/novel projects β€” FlipperHTTP web apps, games, VGM DOOM, MagSpoof, Home Assistant
resources/flipper-mcp-and-ai.md βœ… Drive the Flipper from Claude β€” MCP servers, AgentFlipper, Mac/USB setup, AI-control risks
resources/flipper-control-playbook.md βœ… How an AI agent should drive the Flipper via the MCP toolkit β€” data-first algorithm, menu maps, app-entry recipes, conventions.
resources/flipper-control-mcp-server.md βœ… Gated control MCP server (Stage 3) β€” 14 tools (input/apps/LED/GPIO/IR+SubGHz-TX/writes + screenshot) over USB, each approved.
resources/flipper-healthwatch.md βœ… Gated, default-off launchd job that polls the Flipper read-only 3Γ—/day (battery/storage/clock/firmware) and notifies on anomalies.
resources/flipper-read-mcp-server.md βœ… The read-only MCP server we built for this rig β€” 14 native mcp__flipper__* device-read tools over USB, one allowlist.
resources/github-landscape.md βœ… Leaderboard + people β€” top repos by stars, devs/orgs to follow, the ESP32 scene
resources/apps-badusb-automotive-misc.md βœ… Runbook for the BadUSB/HID, CAN/automotive, physical-access, crypto and misc security FAPs on my Momentum rig.
resources/apps-rfid-ibutton-infrared.md βœ… Per-app runbook for the LF RFID (125 kHz), iButton/1-Wire, and Infrared apps on the owner's maxed Momentum rig.
resources/apps-nfc.md βœ… Per-app reference for every 13.56 MHz NFC .fap on my Momentum rig β€” what it does, options, gotchas, sources.
resources/learning-and-docs.md βœ… Docs, cheat-sheets, and deep RF+NFC learning material by level
resources/notable-apps-and-data.md βœ… Deeper cut β€” pyFlipper scripting, sensor/utility apps, data/dumps, asset packs, 3D
resources/mcp-setup-claude-code.md βœ… Install busse MCP, add to Claude Code over USB, scope it read-only with gating β€” first safe AI↔device milestone.
resources/apps-subghz.md βœ… Per-app reference for the Sub-GHz/RF .faps on this Momentum rig β€” what each does, key options, use-cases, gotchas, sources.
resources/subghz-device-repos.md βœ… Device-specific Sub-GHz repos and .sub collections (TouchTunes, gates, Tesla, sensors)
resources/tools-and-software.md βœ… qFlipper, Flipper Lab, flashers, and an SD-backup checklist
resources/apps-esp-ble-nrf24.md βœ… Per-app runbook for the ESP32 / BLE / NRF24 companion FAPs on my Momentum rig β€” what each does, settings, hardware, sources.

<!-- END GENERATED INDEX -->

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured