flipper-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| flipper_statusA | Report how the Flipper can be reached (serial ports on macOS/Linux/Windows, plus the WinUSB fallback) and whether it is connected. Does not open a connection. |
| flipper_connectA | Open the connection to the Flipper (auto-selects a serial/COM port on any OS, or the raw WinUSB path on Windows when no port exists). Returns connection status. |
| flipper_disconnectA | Close the connection to the Flipper, releasing the USB/serial handle. |
| flipper_device_infoA | Get hardware/firmware details (model, name, region, firmware version, radio stack, BLE MAC, ...). |
| flipper_power_infoA | Get battery/charging telemetry: charge level %, voltage, current, temperature, health, capacity. |
| flipper_uptimeB | Get the Flipper's uptime since last boot. |
| flipper_pingA | Round-trip liveness check over protobuf RPC. Returns the echoed payload. |
| flipper_cliA | Run any Flipper CLI command and return its text output. Examples: "help", "info device", "top", "free", "loader list", "storage list /ext", "gpio read PC0", "led g 255". Streaming commands (log, subghz rx, ir rx) will be cut off at the timeout — use flipper_cli_stream for those instead. |
| flipper_cli_streamA | Run a streaming CLI command for a fixed duration, then stop it (Ctrl+C) and return what it printed. Use for commands that stream until interrupted: "log", "subghz rx 433920000 0", "ir rx", "input dump". |
| flipper_list_dirA | List files and directories at a path (use /ext for SD card, /int for internal flash). |
| flipper_statA | Get type and size of a file or directory on the Flipper. |
| flipper_storage_spaceA | Get total and free bytes for the /ext (SD) or /int (flash) filesystem. |
| flipper_read_fileA | Read a file from the Flipper. Text is returned decoded; set binary=true to get base64. |
| flipper_write_fileA | Write content to a file on the Flipper (overwrites). Returns the device-side md5. Set is_base64=true for binary content. |
| flipper_upload_fileA | Upload a local file from this computer to a path on the Flipper's SD card; verifies md5. |
| flipper_mkdirC | Create a directory on the Flipper. |
| flipper_deleteA | Delete a file or directory on the Flipper. Use recursive=true for non-empty directories. |
| flipper_renameB | Rename or move a file/directory on the Flipper. |
| flipper_screenshotA | Capture the Flipper's current screen (128x64) as a PNG image. |
| flipper_pressA | Send a virtual button press. key: UP, DOWN, LEFT, RIGHT, OK, BACK. type: SHORT, LONG, PRESS, RELEASE. |
| flipper_rebootA | Reboot the Flipper. mode: OS (normal), DFU (bootloader), UPDATE. The connection will drop. |
| flipper_find_my_flipperA | Play an audiovisual alert (sound + backlight + vibro) to locate the device. |
| flipper_ledA | Set an onboard LED channel. channel: r, g, b (RGB) or bl (display backlight). value: 0-255. |
| flipper_vibroA | Turn the vibration motor on or off. |
| flipper_gpioA | Control a GPIO pin. action: mode|set|read. pin: e.g. PC0, PC1, PC3, PB2, PB3, PA4, PA6, PA7. For mode/set, value 0/1. |
| flipper_ir_sendB | Transmit an infrared signal. protocol e.g. NEC, NECext, Samsung32, RC5, RC6, SIRC. address and command are hex (e.g. 0x04, 0x08). |
| flipper_ir_universalA | Send a signal from a built-in universal IR remote. remote: tv, ac, audio, projector. Use flipper_cli('ir universal list tv') to list signals (e.g. Power, Vol_up, Mute). |
| flipper_subghz_tx_fileA | Transmit a saved Sub-GHz capture (.sub file on the SD card). WARNING: transmits on real RF — only use legal frequencies you are authorized to transmit on. |
| flipper_subghz_rxA | Listen for Sub-GHz signals on a frequency (Hz) for a few seconds and return decoded output. Common: 433920000, 315000000, 868350000. |
| flipper_list_appsA | List apps available to the loader (installed FAPs and built-in settings apps). |
| flipper_app_startA | Launch an app by name (e.g. 'Sub-GHz', 'NFC', 'Storage') or by full .fap path. args is optional (e.g. a file to open). |
| flipper_app_exitA | Ask the currently running app to exit, returning to the desktop. |
| fap_scaffoldA | Scaffold a new Flipper app (FAP) with ufbt into the project's apps/ folder. appid must be lowercase letters/digits/underscore. |
| fap_buildA | Build a FAP in apps/ with ufbt. Returns build success, log tail, and the produced .fap path. |
| fap_deployA | Build a FAP and deploy it to the Flipper over USB (upload to /ext/apps// and launch it). No COM port required. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 35 tools
Each tool targets a distinct capability: connection, status, info, CLI, file operations, UI control, hardware, RF, and app management are clearly separated. Even flipper_cli and flipper_cli_stream are well-differentiated by their streaming vs. non-streaming behavior.
All tools use snake_case and are mostly descriptive with a verb_noun pattern (e.g., flipper_list_dir, flipper_read_file). However, the fap_* prefix for development tools deviates from the general flipper_* prefix, and a few names are nouns rather than verbs (e.g., flipper_led, flipper_vibro).
At 35 tools, the server is over-scoped for an MCP server. Many granular tools (e.g., flipper_led, flipper_vibro, flipper_gpio) could be consolidated, and the count exceeds the typical range for a focused integration.
The tool set covers a broad range of Flipper Zero operations: connection, system info, filesystem management, CLI access, UI control, hardware peripherals, RF operations, app lifecycle, and FAP development. Minor gaps like file copy or NFC-specific operations are workarounds via flipper_cli.