Token导航 LogoToken导航TokenDH.com
crazyflight MCP logo
运维云端stdio官方级别未说明来源级核验

crazyflight MCP

MCP Server

Crazyflie MCP Server是一个用于控制Crazyflie 2.1+无人机的服务器,支持运动捕捉和AI Deck功能。

工具数

25

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Remenby31

提供方

Remenby31

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

Crazyflie MCP服务器

MCP(模型上下文协议)服务器,用于控制Crazyflie 2.1+无人机,支持运动捕捉和AI甲板。

🚀 快速启动

先决条件

  • Python 3.8+
  • Crazyradio 2.0(cléUSB Bitcraze)
  • Crazyflie 2.1+无人机

安装

  1. 克隆或下载此项目
  2. 安装依赖项:
pip install -r requirements.txt
  1. 安装USB驱动程序(平台专用):

窗户:

# Les drivers libusb1 sont généralement installés automatiquement
# Si besoin: télécharger depuis https://github.com/libusb/libusb/releases

Linux:

sudo apt-get install libusb-1.0-0-dev

macOS:

brew install libusb

使用

  1. 插入 Crazyradio 2.0 版本 在USB端口上
  2. 启动服务器:
python mcp_server.py

服务器将自动:

  • 检测CrazyRadio 2.0
  • 扫描可用的无人机
  • 向Claude Code公开所有MCP工具

📚 建筑

该项目分为以下模块:

crazyflight_mcp/
├── core/                      # Modules principaux
│   ├── usb_detector.py       # Détection USB Crazyradio
│   ├── connection_manager.py # Gestion des connexions
│   ├── state_manager.py      # État persistant
│   └── error_handler.py      # Gestion d'erreurs
│
├── controllers/              # Contrôleurs métier
│   ├── flight_controller.py # Contrôle de vol
│   ├── logging_controller.py # Télémétrie
│   ├── param_controller.py  # Paramètres
│   ├── mocap_controller.py  # Motion Capture
│   └── ai_controller.py     # AI Deck
│
├── utils/                   # Utilitaires
│   ├── validators.py       # Validation des paramètres
│   ├── converters.py       # Conversions mathématiques
│   └── safety.py           # Vérifications de sécurité
│
├── tools/                  # Tools MCP (à venir)
├── mcp_server.py          # Serveur principal
└── config.yaml            # Configuration

🛠️ 可用的 MCP 工具

连接(cf\_\*)

  • cf_scan_drones -扫描可用的无人机
  • cf_connect -连接到无人机
  • cf_disconnect -断开与无人机的连接
  • cf_list_connected -列出连接的无人机
  • cf_get_radio_status -CrazyRadio 2.0的状态

飞行控制(Flight\_\*)

  • flight_takeoff -自动起飞
  • flight_land -自动着陆
  • flight_goto -移动到一个位置
  • flight_emergency_stop -紧急停止
  • flight_get_position -位置执行器

遥测(log\_\*)

  • log_get_telemetry -遥测的完整快照
  • log_get_variables -可用于日志记录的变量
  • log_start_streaming -变量流(即将推出)

参数( 参数\_\*)

  • param_list -列出参数
  • param_get -恢复参数
  • param_set -更改参数(即将发布)

动作捕捉(mocap\_\*)

  • mocap_send_position -发送位置运动捕获
  • mocap_start_stream -Mocap流媒体(即将推出)
  • mocap_get_quality -跟踪质量(即将推出)

AI甲板(AI\_\*)

  • ai_deck_detect -检测AI甲板
  • ai_camera_start_stream -流媒体摄像机(即将推出)
  • ai_gap8_upload_model -上传模板(即将推出)
  • ai_gap8_start_inference -开始推理(即将到来)

诊断(diag\_\*)

  • diag_get_error_log -错误历史
  • diag_run_health_check -完整诊断(即将发布)

📋 Claude代码的示例用法

示例1:简单起飞和着陆

Claude: "Scanne les drones disponibles"
→ Utilise: cf_scan_drones()

Claude: "Connecte-toi au premier drone et fais-le décoller"
→ Utilise: cf_connect(uri="radio://0/80/2M/E7E7E7E7E7")
→ Utilise: flight_takeoff(uri="...", height_m=0.5)

Claude: "Montre-moi sa position"
→ Utilise: flight_get_position(uri="...")

Claude: "Fais-le atterrir"
→ Utilise: flight_land(uri="...")

示例2:运动捕获飞行

Claude: "Récupère la position du drone depuis mocap et envoie-la"
→ Utilise: mocap_send_position(uri="...", x=1.0, y=0.5, z=0.8)

Claude: "Fais voler le drone jusqu'à (2, 1, 1)"
→ Utilise: flight_goto(uri="...", x=2, y=1, z=1)

示例3:遥测和诊断

Claude: "Montre-moi la télémétrie complète"
→ Utilise: log_get_telemetry(uri="...")

Claude: "Y a-t-il des erreurs?"
→ Utilise: diag_get_error_log(max_errors=10)

⚙️ 配置

修饰符 config.yaml 要个性化:

mcp_crazyflie:
  radio:
    auto_detect: true
    vendor_id: 0x1915  # Bitcraze

  connection:
    auto_scan_on_start: true
    reconnect_attempts: 5

  safety:
    emergency_stop_on_low_battery: true
    battery_warning_threshold_v: 3.2
    max_flight_height_m: 2.5

  mocap:
    enabled: false
    system: "custom"  # optitrack, vicon, qualisys

  ai_deck:
    auto_detect: true
    default_camera_fps: 15

🔒 安全

服务器包括几个安全措施:

  • 起飞前检查电池
  • 可配置飞行高度限制
  • 无线电质量检查
  • 紧急停止始终可用
  • 发送位置的验证
  • 完整错误日志记录

🐛 故障排除

未检测到CrazyRadio

# Vérifier que le dongle est bien branché
# Windows: Vérifier dans le gestionnaire de périphériques
# Linux: lsusb | grep Bitcraze
# macOS: system_profiler SPUSBDataType | grep Bitcraze

连接问题

# Vérifier que cflib est installé
python -c "import cflib; print(cflib.__version__)"

# Vérifier les logs
tail -f crazyflie_mcp.log

找不到无人机

  1. 确保无人机已打开
  2. 增加扫描超时时间(默认为5s)
  3. 尝试指定特定频道

📖 完整文档

doc.md 有关Crazyflie、运动捕捉和AI甲板的完整文档。

🤝 贡献

欢迎捐款!查看问题以查看当前任务。

📄 许可证

MIT许可证-voir许可证文件

🔗 资源

🎯 路线图

  • \[\]实施所有计划的50多个MCP工具
  • \[\]AI Deck视频流
  • \[\]实时推理
  • \[\]协调多无人机控制
  • \[\]界面web去监控
  • \[\]支持ROS2
  • \[\]会话记录
  • \[\]模拟模式
  • \[\]避障
  • \[\]高级路径规划

目录标签

目录标签

PythonClaude云端部署无人机控制本地部署运动捕捉AI集成飞行控制远程监控

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

25

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP