
Ardupilot Mcp
io.github.furkanisikayPublished by GitHub account furkanisikayv1.0.0Updated Oct 24, 2026
Diagnoses ArduPilot flight logs (.bin and .tlog) over the Model Context Protocol.
Overview
Local MCP server that diagnoses ArduPilot flight logs (.bin and .tlog) and explains crashes, vibration, battery, GPS and tuning issues in plain language.
- What you can do
- Run all built-in checks on a flight log and get severity-ranked findings with links to official ArduPilot docs
- Build an incident timeline of the first anomaly and impact, and list ERR, MODE, EV and MSG events
- Compare two flights side by side for changed parameters, firmware and metrics
- Summarize the log and vehicle: firmware, duration, flight modes, frame, motors, battery, hover throttle and power margin
- Inspect raw time-series behind a finding, read logged parameters with documented ranges and units, and load an exported .param file
- Suggest harmonic notch, PID and autotune settings, and prepare a Markdown report for the ArduPilot forum without GPS position
- When to use it
- Useful when you have an ArduPilot .bin or .tlog file and want help understanding why a flight went wrong, what changed between two flights, or which parameters and tuning look off. It explains deterministic findings rather than replacing a log viewer for plots or 3D replay.
- Requirements
- Runs locally over stdio; the README starts it with uvx, so Python and uv must be installed. No accounts, API keys, environment variables or headers are declared. It reads local log files only and does not use the network.
Installation
In SourceWeft
- Open Ardupilot Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
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:
- uv'yi kur.
- Claude Desktop'ta Settings → Developer → Edit Config ile şunu ekle:
- Claude Desktop'tan tamamen çık ve yeniden aç.
- 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?
.binuçuş kontrolcüsünün kendi kaydıdır ve en ayrıntılı teşhisi verir. SD karttakiAPM/LOGS/klasöründedir; Mission Planner'da DataFlash Logs → Download DataFlash Log Via Mavlink ile de indirilir..tlogyer 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.
Araçlar
Bütün araçlar salt okunurdur.
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.
.tlogdosyası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.
Source: README.md at commit 3001d8d
Tools
0Version history
2- v1.0.0LatestOct 18, 2026
- v0.1.2Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts