使用说明
FPV无人机MCP平台
三人一套 模型上下文协议 让人工智能助手(克劳德等)直接控制FPV无人机硬件的服务器:无线电发射机配置、飞行控制器调谐和黑匣子日志分析。
Claude ──MCP──┬── betaflight-mcp ──USB/Serial──► Flight Controller
├── tango2-mcp-server ──SD Card────► TBS Tango 2 Radio
└── blackbox-mcp-server ──Filesystem──► Blackbox Logs
建筑
| 服务器 | 语言 | 工具 | 目的 |
|---|---|---|---|
| betaflight mcp | Python | 66 | 通过串行MSP协议配置飞行控制器 |
| tango2-mcp服务器 | TypeScript | 17 | TBS Tango 2无线电二进制模型编辑器(FreedomTX .bin) |
| blackbox mcp服务器 | TypeScript | 4 | Betaflight黑体日志解析器和飞行分析器 |
总计: 87工具 在3台服务器上,大约8600行代码。
betaflight mcp
使用USB串行与Betaflight飞行控制器通信 MSP协议支持完整配置、遥测和车队管理。
地点: MCP/
能力
- 连接:自动检测FC,连接/断开/重新连接并重试
- PID整定:读/写PID设置、RC速率、过滤器配置
- 模式和开关:配置辅助模式(手臂、角度、水平等)
- 屏幕显示:使用预设进行完整的OSD布局编辑(自由式、远程、赛车)
- VTX:频带、信道、功率、坑模式控制
- 全球定位系统:GPS状态监测、GPS救援配置
- 安全:飞行前检查、电机测试(个人)、紧急停止、蜂鸣器
- 车队管理:注册多架无人机,备份所有配置,比较设置
- 传感器:实时IMU数据、姿态、电池状态、RC通道、电机值
- 命令行界面:发送原始Betaflight CLI命令,通过以下方式进行备份/还原
diff
处理器模块
MCP/src/betaflight_mcp/
├── server.py # MCP server + tool definitions + dispatch
├── msp.py # MSP protocol implementation (v1)
└── handlers/
├── connection.py # Serial port management
├── config.py # PIDs, rates, filters, features, failsafe
├── sensors.py # IMU, attitude, battery, RC, motors
├── safety.py # Preflight, motor test, stop, calibration
├── fleet.py # Multi-drone registry and bulk operations
├── osd.py # OSD layout, elements, presets
├── vtx.py # Video transmitter settings
└── gps.py # GPS status and rescue config
设置
cd MCP
python -m venv venv
source venv/bin/activate
pip install -e .
MCP配置
{
"mcpServers": {
"betaflight": {
"command": "MCP/venv/bin/python",
"args": ["-m", "betaflight_mcp"]
}
}
}
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
BETAFLIGHT_FLEET_REGISTRY |
~/.drone/fleet.json |
车队注册路径 |
BETAFLIGHT_BACKUP_DIR |
~/.drone/backups/betaflight/ |
CLI备份目录 |
tango2-mcp服务器
直接在二进制级别读取和写入TBS Tango 2无线电模型文件。收音机安装为USB大容量存储设备,此服务器编辑 .bin SD卡上的模型文件。
地点: tango2-mcp-server/
能力
- 无线电探测:自动检测跨macOS/Windows/Linux的Tango 2挂载点
- 模型管理:列出、阅读、创建、比较、验证模型
- 混音编辑器:设置混音,为AUX通道分配开关(SA-SF)
- 定时器配置:配置飞行计时器(倒计时、油门触发等)
- 模板:从预设(自由式、远程、电影)创建模型
- 备份/恢复:具有路径遍历保护的备份模型,从备份还原
- 备份轮换:自动清理,每个模型保留最后N个备份
- 原始调试:十六进制转储二进制文件的任何部分
二进制格式(otx5)
解析器处理FreedomTX/OpenTX 2.3二进制格式:
Offset Size Field
0x00 4 Fourcc "otx5"
0x04 10 Model name (ASCII)
0x0E 1 Model ID (5 bits)
0x0F 48 3 timers x 16 bytes (bitpacked: mode, start, countdown, persistent)
0x43 1280 64 mixes x 20 bytes (weight, destCh, srcRaw, offset, switch, curves, name)
MIXSRC编号:I1-I32(1-32),LUA(33-74),MAX(75),摇杆:舵=79/Ele=80/Thr=81/Ail=82,锅:S1=83/S2=84,开关:SA=89.SF=94,通道:Ch1=95+
设置
cd tango2-mcp-server
npm install
npm run build
MCP配置
{
"mcpServers": {
"tango2": {
"command": "node",
"args": ["tango2-mcp-server/dist/index.js"]
}
}
}
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
TANGO2_BACKUP_DIR |
~/.drone/backups/tango2/ |
模型备份目录 |
blackbox mcp服务器
解析Betaflight黑体日志(.bbl, .bfl, .txt)并为飞行分析提供问题检测和调整建议。
地点: blackbox-mcp-server/
能力
- 日志发现:列出任何目录中带有大小和日期信息的黑盒文件
- 飞行分析:分析日志并检测振动问题、PID问题、去同步事件
- 时间序列:通过下采样提取通道数据(陀螺仪、设定点、电机、RC)
- 频道列表:在日志文件中发现可用的数据通道
支持格式
| 扩展 | 来源 | 典型尺寸 |
|---|---|---|
.bbl |
板载闪存(BetaFPV等) | 25 KB-500 KB |
.bfl |
SD卡记录 | 1 MB-50 MB |
.txt |
OpenLog/Blacbox Explorer导出 | 5 MB-100 MB |
设置
cd blackbox-mcp-server
npm install
npm run build
MCP配置
{
"mcpServers": {
"blackbox": {
"command": "node",
"args": ["blackbox-mcp-server/dist/index.js"]
}
}
}
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
BLACKBOX_LOG_DIR |
~/blackbox-logs |
默认日志搜索目录 |
MAX_FILE_SIZE |
104857600 (100 MB) |
最大可解析文件大小 |
统一备份结构
所有三台服务器都将备份存储在 ~/.drone/:
~/.drone/
├── backups/
│ ├── tango2/ # Radio model .bin backups (timestamped)
│ ├── betaflight/ # FC CLI diff backups (.txt)
│ ├── blackbox/ # Analyzed log archive
│ └── mcp-config/ # Claude MCP config snapshots
└── fleet.json # Multi-drone fleet registry
标准程序
连接无人机时的推荐工作流程(根据CLAUDE.md):
- 备份配置 —
backup_configuration(贝塔飞行)+backup_model(汤2) - 检查日志和黑匣子 —
analyze_blackbox_log最近的航班 - 给予反馈 --AI审查PID调整、过滤器设置和飞行数据,以提出改进建议
测试
# Tango2 binary parser — 75 tests (vitest)
cd tango2-mcp-server && npm test
# Betaflight MSP protocol — 18 tests (pytest)
cd MCP && source venv/bin/activate && python -m pytest tests/ -v
测试覆盖范围:
- FTX模型文件:构造函数验证、名称获取/设置、计时器往返、混合读/写、srcRaw映射、dumpRaw边界检查、保存持久性
- MSP协议:校验和计算、消息构建、响应解析、错误处理(超时、标头错误、代码错误、校验和损坏)
- 整合:完全创建→ 配置→ 备份→ 修改→ 恢复→ 验证周期
安全
- 路径遍历保护 上
restore_model--根据备份目录验证解析路径 - ASCII输入验证 在所有二进制写入时--防止损坏的模型文件包含不可打印的字符
- 边界检查 在原始内存读取时——根据文件大小验证偏移量+长度
- 受保护的备份 --在对原始文件进行任何修改之前抛出备份失败
硬件
测试方法:
- 收音机:TBS Tango 2(FreedomTX固件)
- 飞行控制员:iFlight闪电战F722,BetaFPV F722
- 无人机:iFlight Chimera 7 Pro V2(长距离),iFlight Nazgul Evoque F6(自由式)
- 协议:TBS交火(CRSF)
- 平台:macOS ARM(苹果硅)
许可证
麻省理工学院