flipper-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/yairhdz24/flipper-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server