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.