Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
flipper-mcp — AI 驱动的 Flipper Zero MCP 服务器。通过 WiFi 使用 Claude 或任何 MCP 客户端控制 SubGHz、NFC、RFID、IR、BLE、GPIO 等。 | Kitploit
工具/GitHubGitHub/roostercoopllc/flipper-mcp
嵌入式系统安全蓝牙安全RFID/NFC工具脚本与自动化无线安全渗透测试命令与控制实用工具与框架硬件与物联网安全红队远程访问工具AI 安全
222146个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubroostercoopllc/flipper-mcp

flipper-mcp

AI 驱动的 Flipper Zero MCP 服务器。通过 WiFi 使用 Claude 或任何 MCP 客户端控制 SubGHz、NFC、RFID、IR、BLE、GPIO 等。

查看仓库

flipper-mcp

一个 Rust MCP(模型上下文协议)服务器,直接运行在 Flipper Zero 的 WiFi Dev Board v1(ESP32-S2)上,使 AI 代理能够通过网络控制 Flipper Zero。

这是什么?

这个项目将 MCP 服务器放在 Flipper 本身上。任何兼容 MCP 的 AI 客户端(Claude Desktop、Claude Code 等)都可以连接,并将 Flipper 的功能作为工具使用——SubGHz、NFC、RFID、IR、GPIO、BadUSB、iButton、文件存储等。

与其他需要 USB 连接主机的项目不同,flipper-mcp 运行在连接到 Flipper 的 ESP32-S2 WiFi 模块上。Flipper 成为一个独立的、可通过网络访问的工具。

架构

root@kitploit:~
本地(同一网络):
  MCP 客户端 ──HTTP──► flipper-mcp.local:8080 (ESP32-S2) ──UART──► Flipper Zero

远程(跨网络):
  MCP 客户端 ──HTTP──► 中继服务器 ◄──WebSocket── ESP32-S2 ──UART──► Flipper Zero

ESP32-S2 运行一个实现 MCP 协议的 HTTP 服务器。它通过 UART 以 115200 波特率将 MCP 工具调用转换为 Flipper Zero CLI 命令。配套的中继服务器支持从任何网络进行远程访问。

功能特性

  • 约 30 个内置工具,覆盖所有默认的 Flipper Zero 应用
  • 动态模块发现——从 SD 卡自动检测 FAP 应用 + TOML 配置驱动的工具
  • Flipper 优先设置——从 Flipper FAP 配置 WiFi(无需手机、浏览器或 PC 脚本)
  • 双 MCP 传输——Streamable HTTP(现代)+ Legacy SSE(向后兼容)
  • 本地发现——通过 mDNS 广播为 flipper-mcp.local
  • 远程访问——通过中继服务器的反向 WebSocket 隧道(无需端口转发)
  • 无身份验证——专为渗透测试和安全研究场景设计
  • 配套中继服务器——用于跨网络访问的小型 Rust 二进制文件,支持多个 Flipper

所需硬件

  • Flipper Zero(任何支持 CLI 的固件版本)
  • WiFi Dev Board v1(ESP32-S2-WROVER 模块)

我应该连接到哪个设备?

先决条件

  • Rust——通过 rustup 安装:
    root@kitploit:~
    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    
  • Xtensa 工具链——ESP32-S2 需要自定义 Rust 工具链:
    root@kitploit:~
    cargo install espup
    espup install
    source ~/export-esp.sh  # 在每个新终端中运行此命令
    
  • 刷写工具和链接器代理:
    root@kitploit:~
    cargo install espflash
    cargo install ldproxy
    
  • 系统软件包(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
    

快速开始

完整设置说明见 docs/SETUP.md

1. 构建并刷写固件

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. 配置 WiFi

在 Flipper SD 卡的 SD:/apps_data/flipper_mcp/config.txt 路径下创建 config.txt:

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

或者直接从 Flipper 配置,使用配套 FAP(见步骤 5): Apps → Tools → Flipper MCP → Configure WiFi

首次启动时如果没有配置文件,ESP32 会等待并将 status=needs_config 写入状态文件。Flipper FAP 将在状态屏幕上显示此信息。

4. 验证服务器是否正常工作

在配置 AI 客户端之前,使用 curl 确认服务器可访问:

root@kitploit:~
# 快速健康检查
curl http://flipper-mcp.local:8080/health

# 完整验证——初始化 + 列出所有可用工具
./scripts/test-connection.sh

# 如果你的操作系统无法解析 mDNS,直接传入 IP:
./scripts/test-connection.sh 192.168.x.xxx

直接使用 curl 测试 MCP 工具

从 Flipper MCP → Status 菜单获取 Flipper 的 IP,然后测试:

BLE 信标广播(发送伪造的 BLE 广播):

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"}}}'

BLE HID 键盘(模拟无线键盘并输入):

root@kitploit:~
# 启动 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":{}}}'

# 输入消息
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!"}}}'

# 停止 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":{}}}'

IR 发送(发送红外遥控代码):

root@kitploit:~
# NEC 协议 IR 代码(通用电视电源按钮)
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}}}'

SubGHz 接收(监听 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}}}'

将 192.168.0.58 替换为你 Flipper 的实际 IP 地址。

然后添加到你的 Claude Desktop 配置(claude_desktop_config.json):

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

5. 从 Flipper 管理 WiFi 开发板

将 flipper-app/ 中的配套 Flipper MCP 应用安装到 Flipper Zero。使用 ufbt 构建,并将 .fap 复制到 SD:/apps/Tools/:

root@kitploit:~
cd flipper-app && ufbt   # 生成 flipper_mcp.fap
# 将 flipper_mcp.fap 复制到 Flipper SD 卡的 apps/Tools/ 下

该应用出现在 Apps → Tools → Flipper MCP 中,并提供:

该应用通过 SD 卡文件通信(除 GPIO 排针外无需额外接线)。Configure WiFi 是首次启动向导——无需手机、浏览器或 PC 脚本。

6.(可选)通过中继进行远程访问

自托管(在任何地方运行二进制文件):

root@kitploit:~
./scripts/build-relay.sh
./target/release/flipper-mcp-relay --listen 0.0.0.0:9090
# 然后在 Flipper SD 卡的 config.txt 中添加 relay_url:
# relay_url=ws://your-server:9090/tunnel

云部署(AWS 或 GCP,带 TLS + DNS):

root@kitploit:~
# 引导状态存储,然后部署
./infra/bootstrap/aws.sh   # 或 ./infra/bootstrap/gcp.sh
cd infra/aws && cp terraform.tfvars.example terraform.tfvars
tofu init && tofu apply
# 输出中继 URL 和可直接粘贴的 wifi-config.sh 命令

完整说明见 RELAY.md。

可用工具

可以通过 TOML 配置文件或在 SD 卡上安装 FAP 应用来添加自定义工具。每个工具的复制粘贴 curl 命令见 OPERATIONS.md。

免费替代方案:Open WebUI + Ollama

你不需要 Claude 订阅即可使用 flipper-mcp。Open WebUI 是一个免费、自托管的 ChatGPT 风格界面,原生支持 MCP Streamable HTTP(v0.6.31+)。将其与 Ollama 搭配使用,可实现完全本地、离线的 AI 驱动 Flipper 控制。

1. 安装 Ollama 并拉取支持工具的模型

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

# 拉取支持工具调用的模型
ollama pull llama3.1        # 8B — 速度与能力良好平衡
# 或:ollama pull qwen2.5   # 强大的工具调用能力,擅长结构化输出
# 或:ollama pull mistral    # 轻量、快速的工具使用

2. 启动 Open WebUI

root@kitploit:~
# Docker(推荐)——自动连接到 localhost 上的 Ollama
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

# 或不用 Docker:
pip install open-webui
open-webui serve

在浏览器中打开 **http://localhost:3000**。

3. 连接 Flipper MCP 服务器

  1. 转到 Admin Settings(齿轮图标)→ External Tools
  2. 点击 + Add Server
  3. 将 Type 设置为 MCP (Streamable HTTP)
  4. 输入服务器 URL:
    • 本地:http://flipper-mcp.local:8080/mcp(或 http://192.168.x.x:8080/mcp)
    • 通过中继:https://relay.example.com/mcp
    • 从 Docker:如果 Flipper 在 Docker 主机的网络上,使用 http://host.docker.internal:8080/mcp
  5. 将 Authentication 设置为 None(flipper-mcp 没有身份验证)
  6. 保存

提示: 在 Workspace → Models →(你的模型)→ Advanced Parameters 下,将 Function Calling 设置为 Default 以适配较小的模型。仅对具有强大内置工具支持的模型(Llama 3.1 8B+、Qwen 2.5、Mistral)切换到 Native。

4. 示例提示

连接后,在 Open WebUI 聊天中尝试这些:

多步骤代理任务最适合较大的模型(Llama 3.1 70B、Qwen 2.5 72B,或通过 OpenAI 兼容 API 的云模型)。较小的模型可以可靠地处理单工具调用。

项目结构

root@kitploit:~
flipper-mcp/
├── firmware/          # ESP32-S2 固件(Rust,esp-idf-svc)
├── relay/             # 配套中继服务器(Rust,tokio/axum)
├── flipper-app/       # Flipper Zero FAP——设备内管理 UI(C,ufbt)
├── infra/             # OpenTofu IaC——云中继部署(AWS + GCP)
├── config/            # 示例模块配置
├── scripts/           # 构建、刷写和设置辅助脚本
└── docs/              # 架构、设置、API、故障排除

文档

  • SETUP.md — 从零开始的完整设置
  • ARCHITECTURE.md — 系统设计深入探讨
  • API.md — 完整的 MCP 工具参考
  • OPERATIONS.md — 包含每个工具 curl 命令的操作指南
  • MODULE_DEVELOPMENT.md — 创建自定义模块
  • RELAY.md — 远程访问设置
  • HARDWARE.md — 接线和硬件细节
  • TROUBLESHOOTING.md — 常见问题和修复
  • DESIGN.md — 技术设计和系统架构

面向 AI 代理

完整的项目上下文、技术规格、系统架构以及继续开发此项目所需的一切,请参见 AGENTS.md。

许可证

MIT

下载工具
阶段连接到备注
刷写固件WiFi Dev Board USB-C开发板有自己的 USB 端口,与 Flipper 分开
串口监控WiFi Dev Board USB-C与刷写相同的 USB 连接
SD 卡配置文件Flipper Zero SD 卡将 SD 卡插入 Flipper,或取出并挂载到 PC
服务器控制命令Flipper Zero SD 卡在 apps_data/flipper_mcp/ 中创建 server.cmd 文件
UART 通信自动WiFi Dev Board 和 Flipper 通过 GPIO 排针连接
MCP HTTP 请求WiFi Dev Board IP:8080通过你的 WiFi 网络连接
屏幕功能
Status从 ESP32 请求最新状态更新,显示 IP、SSID、服务器状态、版本
Start / Stop / Restart控制 MCP HTTP 服务器生命周期
Reboot Board重启 ESP32 WiFi Dev Board
Configure WiFi屏幕键盘输入 SSID + 密码;将 config.txt 写入 SD 卡
View LogsESP32 每 30 秒写入的可滚动诊断日志
Tools ListESP32 上当前注册的所有 MCP 工具的可滚动列表
Refresh Modules触发 ESP32 上的 FAP 发现重新扫描 + modules.toml 重新加载
类别工具描述
SubGHzsubghz_tx, subghz_rx, subghz_decode_raw, subghz_chat, subghz_tx_from_file射频操作
NFCnfc_detect, nfc_read, nfc_emulate, nfc_fieldNFC 标签交互
RFIDrfid_read, rfid_emulate, rfid_write低频 RFID
红外ir_tx, ir_rx红外遥控
GPIOgpio_read, gpio_write, gpio_set_mode引脚 I/O 控制
BadUSBbadusb_run, badusb_listUSB HID 攻击
iButtonibutton_read, ibutton_emulate1-Wire 钥匙扣
存储storage_list, storage_read, storage_write, storage_remove, storage_statSD 卡文件管理
系统system_device_info, system_power_info, system_power_reboot, system_ps, system_free, system_uptime设备管理
BLEble_info, ble_beacon, ble_beacon_stop, ble_hid_start, ble_hid_type, ble_hid_press, ble_hid_mouse, ble_hid_stop低功耗蓝牙(信标广播 + HID 模拟)
应用app_launch_{name}(从 SD 卡自动发现)应用管理
提示功能
"扫描 Flipper 附近的 NFC 标签"调用 nfc_detect 读取附近的标签
"列出 Flipper SD 卡上的所有文件"对 /ext 调用 storage_list
"在 433.92 MHz 上发送此 SubGHz 信号:..."使用给定频率调用 subghz_tx
"读取任何靠近 Flipper 的 RFID 卡"调用 rfid_read 并返回标签数据
"Flipper 上安装了哪些应用?"调用 app_list 枚举已安装的 FAP
"发送此 IR 信号以关闭电视"使用指定协议和数据调用 ir_tx
"显示 Flipper 的系统信息和可用内存"调用 system_info + system_free
"读取 NFC 标签,然后将其数据保存到 /ext/nfc/captured.nfc"多步骤:nfc_read → storage_write
"监控 315 MHz 10 秒并解码你听到的任何内容"使用频率和持续时间调用 subghz_rx