dwgx@blog:~$dwgx
> cd ../posts

把 Flipper Zero 接进 MCP 让 Claude 直接操作

// created

flipperzero-mcp 是个给 Flipper Zero 用的 MCP server, 让 Claude Desktop 这类客户端直接操作设备。不是我原创, fork 自 busse 的项目拿来研究, 仓库在 https://github.com/dwgx/flipperzero-mcp 跟着原项目改。

模块化设计, 功能都在 src/flipper_mcp/modules/ 下。传输层支持 USB, WiFi 和 Bluetooth 还是 stub 没实现。协议走 protobuf RPC, nanopb 分帧, 生成的代码直接提交在 src/flipper_mcp/core/protobuf_gen/, 省得每次重新生成。

内置三个模块。systeminfo 查连接和 SD 卡状态; badusb 生成、校验、存取、执行 BadUSB 脚本, 文件操作得插 SD 卡; music 播 Flipper Music Format 的曲子。badusb_execute 要显式传 confirm=true 才真下发, 算个安全阀, 免得 AI 一激动把脚本跑设备上。

跑起来不复杂。pip install -e . 装完直接 flipper-mcp, server 走 stdio 跟客户端通信, 启动自动发现模块。接 Claude Desktop 在配置加一条 mcpServers 指 python3 -m flipper_mcp.cli.mainFLIPPER_TRANSPORT 控制走 USB 还是 WiFi, 默认 auto 先试 USB 没插就切 WiFi。

拉这仓库主要想看 MCP 怎么跟硬件对接, 协议帧怎么处理, 模块怎么划分, 对自己写硬件桥接工具有参考。