ardupilot-mcp — Flight Log Diagnosis Tool
An open-source MCP server that reads an ArduPilot flight controller's ".bin" black-box log and explains in plain language why a drone crashed or flew badly — grounded in a deterministic check engine, not AI guesswork.

Overview
ardupilot-mcp is an MCP (Model Context Protocol) server with no window of its own — it plugs into an AI client such as Claude Desktop, Cursor, or VS Code. Point it at a drone's ".bin" flight log and ask "why did it crash?" in plain language; the AI translates a deterministic check engine's findings into a conversational answer.
The Problem
A typical ArduPilot log has over 100,000 rows; reading vibration, EKF, battery and attitude traces after a crash takes time and experience. Existing tools (Mission Planner Auto Analysis, UAV Log Viewer) show the data but leave interpretation to the user — neither answers "why did this happen?" with reasoning or takes natural-language follow-up questions.
Deterministic Check Engine
16 checks across two groups: flight dynamics (vibration, EKF, GPS, power, attitude, RC loss) and setup/config faults (wiring, calibration, bad parameters, power margin/thrust-to-weight). The AI never decides — a fixed engine with sourced thresholds is the source of truth; the AI's job is only to explain the result and cite the official ArduPilot docs for every finding.
MCP Integration, Offline & Read-Only
Works with any MCP client (Claude, Cursor, VS Code, LM Studio…) and any model, including local open-source ones. The log file never leaves the machine — the server is fully offline and read-only by design, with no network access or vehicle actuation. Published on PyPI ("pip install ardupilot-mcp") and listed on the official MCP Registry.
Outputs & Results
Validated on 40 real crash logs from the forums, covering Copter 3.2–4.6, Plane, QuadPlane, Heli and Rover. Vehicle-aware — a multirotor-specific check never runs on a heli's swashplate servos. MIT-licensed and fully open source, shipped with a test suite and documentation.
Diagnosis Flow (log → engine → explanation)
.bin Log
Flight controller's black box
Deterministic Engine
16 checks, sourced thresholds
AI Client
Chat via Claude / Cursor / VS Code
Finding + Doc Link
Every finding links official ArduPilot docs
Tech Stack
Need a similar solution?
We can deliver a custom solution like this one — or in the same field — end to end, together.
I'll build the same for you
Message the assistant — talk through whether I can build something like this, the approach and a ballpark, and get to a booking in minutes.