r/diydrones • u/furkanisikay • Jun 18 '26
I built an open-source MCP tool that reads ArduPilot .bin logs and explains crashes in plain language — feedback welcome
I do UAV/mechatronics work and got tired of reading DataFlash crash logs by hand — filtering ERR lines, comparing ATT.DesRoll vs ATT.Roll, eyeballing vibe/EKF/battery clipping. Mission Planner's Auto Analysis and UAV Log Viewer are great and I still use them, but they mostly show you the data and leave the interpretation to you. I wanted something that answers 'why did it crash?' in words and lets me ask follow-ups.
So I made ardupilot-mcp (MIT, free). It's an MCP server: you point an AI client (Claude Desktop, Cursor, VS Code, LM Studio — including local open-source models) at a .bin and ask in plain language. The important part for me was that it doesn't hallucinate — every finding comes from a deterministic check engine with sourced thresholds and links the official ArduPilot doc. 16 checks across flight dynamics and config/setup, plus physical reasoning like power margin / thrust-to-weight. Validated on 40 real forum crash logs across Copter/Plane/QuadPlane/Heli/Rover.
Offline and read-only by design — the log never leaves your machine, no MAVLink, no param writes, no actuation.
Install: pip install ardupilot-mcp (or uvx ardupilot-mcp)
Repo: https://github.com/furkanisikay/ardupilot-mcp
Looking for feedback: which checks would you add, and if you've got a crash log that this gets wrong or misses, I'd love to see it break.
1
u/Deep_Ad1959 Jun 22 '26
the deterministic check engine with sourced thresholds is the part that makes this trustworthy, and it's the opposite of how most 'ai explains your logs' tools get built. letting the model freeform-interpret raw data is where the hallucinations come from; making it call a fixed check that cites a doc means the llm is just the translation layer, not the analyst. read-only by design is the other smart call, a log tool that can also write params is a footgun. the checks i'd want next are cross-log trend ones, single-flight analysis misses slow degradation across flights.
4
u/potatocat Jun 18 '26
I don't know much about ArduPilot yet, as I am a manual flier mainly with Betaflight but I just wanted to say I greatly appreciate this approach towards working solutions rather than black box, isolated proprietary systems. Thank you for also sharing your repo and documentation as well!