Ardupilot Mcp

io.github.furkanisikay由 GitHub 账号 furkanisikay 发布v1.0.0更新于 Oct 24, 2026

Diagnoses ArduPilot flight logs (.bin and .tlog) over the Model Context Protocol.

已验证STDIO仅桌面开发者工具数据与分析

概览

AI 生成的概览

本地 MCP 服务器,用于诊断 ArduPilot 飞行日志(.bin 与 .tlog),用通俗语言解释坠机、振动、电池、GPS 与调参问题。

可以做什么
  • 对飞行日志运行全部内置检查,返回按严重程度排序的发现并附官方 ArduPilot 文档链接
  • 生成事件时间线,定位首个异常与撞击时刻,并列出 ERR、MODE、EV、MSG 记录
  • 并排比较两次飞行之间变化的参数、固件与指标
  • 汇总日志与机体信息:固件、时长、飞行模式、机架、电机数、电池、悬停油门与功率余量
  • 查看某条发现背后的原始时间序列,读取日志参数及其文档化范围与单位,并载入导出的 .param 文件
  • 给出谐波陷波、PID 与自动调参建议,并生成不含 GPS 位置的 ArduPilot 论坛 Markdown 报告
适用场景
当你手上有 ArduPilot 的 .bin 或 .tlog 日志,想弄清某次飞行为何出问题、两次飞行之间改了什么,或哪些参数与调参可疑时适用。它解释确定性检查的结果,但不能替代日志查看器做曲线图或三维回放。
运行要求
以 stdio 在本地运行;README 用 uvx 启动,因此需安装 Python 与 uv。未声明任何账号、API 密钥、环境变量或请求头。只读取本地日志文件,不访问网络。
安装前请注意
结论仅为决策辅助,不构成适航判断;罗盘航向误差导致的圆形漂移尚未检测,.tlog 文件缺少部分记录。服务器为只读,不向飞行器发送指令也不写入参数。论坛报告工具不含 GPS 位置,但发布前仍应自行检查。0.1.3 之后的版本采用 AGPL-3.0 许可。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Ardupilot Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

ardupilot-mcp

[CI] [PyPI] [Python] [License: AGPL-3.0]

Türkçe · English

ArduPilot uçuş loglarını teşhis eden bir MCP sunucusu. Claude Desktop, Cursor ya da VS Code gibi bir yapay zekâ istemcisine eklersin, .bin veya .tlog dosyanı verirsin; istemci uçuşta ne olduğunu sade bir dille anlatır: titreşim, düşük batarya, GPS kaybı, motor kaybı, hatalı ayar.

Bulguları deterministik kontroller üretir. Her eşiğin kaynağı docs/SOURCES.md'de yazılıdır; model bu bulguları yalnızca açıklar. Sunucu yalnızca yerel dosyaları okur, ağa bağlanmaz, araca komut göndermez ve parametre yazmaz.

Hızlı başlangıç

Claude Desktop ile:

  1. uv'yi kur.
  2. Claude Desktop'ta Settings → Developer → Edit Config ile şunu ekle:
    json
    { "mcpServers": { "ardupilot-mcp": { "command": "uvx", "args": ["ardupilot-mcp"] } } }
  3. Claude Desktop'tan tamamen çık ve yeniden aç.
  4. Sor: "C:\loglar\00000042.BIN logunu analiz et, neden düştü?"

Claude Code için tek satır yeterli: claude mcp add ardupilot-mcp -- uvx ardupilot-mcp. Cursor, VS Code, Windsurf, Cline, Zed, LM Studio ve diğer istemcilerin ayarları, sorun giderme ve istemcisiz deneme docs/clients.md'de.

Hangi log?

  • .bin uçuş kontrolcüsünün kendi kaydıdır ve en ayrıntılı teşhisi verir. SD karttaki APM/LOGS/ klasöründedir; Mission Planner'da DataFlash Logs → Download DataFlash Log Via Mavlink ile de indirilir.
  • .tlog yer istasyonunun kaydettiği telemetridir. Saniyede birkaç örnek ve yalnızca birincil sensör taşır, bu yüzden teşhis daha kabadır. Telsiz kopmasını araç arızası sanabilecek kontroller bu dosyada çalışmaz.

Örnek

python examples/analyze.py demo.bin çıktısından bir bölüm. İstemci aynı bulguları senin dilinde anlatır.

text
First anomaly while armed: Elevated VibeZ vibration @ 9s.6 critical, 2 warning, 3 info finding(s).[CRITICAL] vibration @ 9s: Elevated VibeZ vibration           VibeZ vibration peaks at 72 m/s^2 (>60); 20% of samples exceed 60 m/s^2.[CRITICAL] attitude  @ 20s: Attitude tracking failure (roll)           Roll failed to track the demand for 3.0 s, error up to 35 deg (sustained >25 deg).[CRITICAL] power     @ 25s: Battery reached critical voltage           Pack voltage fell to 13.32 V, at or below the critical-voltage level (13.50 V, configured BATT_*_VOLT failsafe).

Araçlar

Bütün araçlar salt okunurdur.

AraçNe işe yarar
analyze_logBütün kontrolleri çalıştırır; önem sırasına dizilmiş bulguları resmi ArduPilot doküman linkleriyle döndürür.
incident_timelineİlk anomaliyi ve çarpma anını bulur, olayları zaman sırasına koyar. Neden-sonuç iddia etmez.
forum_reportdiscuss.ardupilot.org'a yapıştırılacak Markdown yanıtı hazırlar. GPS konumu içermez.
compare_logsİki uçuş arasında değişen parametreleri, firmware'i ve metrikleri yan yana koyar.
log_summaryAraç, firmware, süre, uçuş modları ve log bütünlüğü.
vehicle_profileFrame, motor sayısı, batarya, hover gazı ve güç marjı.
list_eventsERR, MODE, EV ve MSG kayıtlarının zaman çizelgesi.
query_timeseriesBir bulgunun arkasındaki ham seri; çoklu sensörlerde instance seçilebilir.
get_paramsLogdaki parametreler ve o firmware sürümünde belgelenmiş aralık, birim ve değerler.
load_param_fileDışa aktarılmış .param dosyasını okur.
recommend_tuningHarmonik notch, PID ve autotune önerisi. Hiçbir şeyi uygulamaz.
list_checksKayıtlı kontrollerin listesi.

Araçların argümanları ve 18 kontrolün tamamı docs/reference.md'de. Bu dosyayı scripts/gen_docs.py koddan üretir, CI da güncel olup olmadığını denetler.

Nasıl çalışır

Parser logu sütunlu bir FlightLog modeline çevirir. Kayıtlı kontroller bu modeli okur: verisi logda olmayan kontrol atlanır, araç tipine uymayan çalışmaz. Aynı olayın ERR kaydı, failsafe mod değişikliği ve firmware mesajı tek bulguda birleşir. Çarpmadan sonra başlayan bulgular listenin sonuna iner ve raporun başında çarpmadan önceki ilk anomali kalır.

4.x firmware her IMU, GPS, pusula, batarya ve EKF çekirdeğini tek mesaj adı altında yazar. Kontroller her birini ayrı değerlendirir. 4.1 öncesi loglarda ayrı adla yazılan ikincil sensörler de aynı yapıya çevrilir.

Sunucu MCP Python SDK 2 üzerinde çalışır. Hem 2026-07-28 protokol sürümünü hem de bugün çoğu masaüstü istemcinin kullandığı eski el sıkışmayı (2024-11-05 ile 2025-11-25 arası) konuşur.

Doğruluk ve sınırlar

Motor, forumdaki 49 gerçek kaza logu üzerinde ölçülür; logların sebebini o logu inceleyen bir geliştirici ya da deneyimli bir kullanıcı yazmıştır. Güncel skorlar ve yöntem bench/README.md'de.

  • Pusula yön hatasından kaynaklanan dairesel sürüklenme (toilet-bowl) henüz tespit edilmiyor.
  • Format tanımları bozulmuş bir log, kısmi sonuç yerine açık bir hata verir.
  • .tlog dosyasında ERR kaydı, batch sampler, hızlı IMU ve mod değişikliği nedeni yoktur.
  • Bulgular karar desteğidir. Uçuşa elverişlilik kararı vermez.

Diğer araçlar

UAV Log Viewer ve Mission Planner'ın Auto Analysis'i veriyi gösterir, yorumu sana bırakır. ardupilot-mcp yorumu yapar ve takip sorularını cevaplar. Bir sinyali grafikte görmek ya da uçuşu 3B izlemek için UAV Log Viewer daha iyidir.

Katkı

CONTRIBUTING.md geliştirme ortamını, yeni kontrol eklemeyi ve PR sürecini anlatır. Yapay zekâ asistanlarının uyduğu kurallar AGENTS.md'de. Güvenlik açıklarını SECURITY.md'deki yoldan bildir. Değişiklikler CHANGELOG.md'de.

Lisans

GNU AGPL-3.0. Kodu değiştirip ağ üzerinden hizmet olarak sunan, değiştirdiği kaynak kodu o hizmetin kullanıcılarına açmak zorundadır. AGPL koşulları işine uymuyorsa ticari lisans için [email protected] adresine yaz. PyPI'da yayımlanan 0.1.3 ve önceki paketler MIT lisanslıdır ve öyle kalır; bu değişiklikten sonraki kaynak kod ve sonraki sürümler AGPL-3.0 lisanslıdır.

ardupilot_mcp/data/params/ altındaki veri, ArduPilot'un GPLv3 lisanslı parametre tanımlarından (apm.pdef.xml) çıkarılmış olgulardan oluşur: aralık, birim, değer kodları ve bitmask bitleri. Açıklama metni kopyalanmaz.

来源:README.md,提交 3001d8d

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v1.0.0最新Oct 18, 2026
  2. v0.1.2Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分