ToolBB-0093

ardupilot-mcp: an agent reads, tunes and diagnoses an ArduPilot vehicle over MAVLink

ardupilot-mcp connects an agent to an ArduPilot vehicle over MAVLink. The agent reads vehicle state, gets and sets parameters, switches modes and reads prearm messages to see why arming failed. Actuation is off by default; a non-loopback link needs a second flag, and there is no force-arm. The README marks only ArduCopter 4.5 in SITL as validated.

Open original source github.com · Kyle Adomavicius

Claimed
Why this evidence label?

Validated in SITL simulation per the README; no real-vehicle runs shown.

How we check entries
Preview image for ardupilot-mcp: an agent reads, tunes and diagnoses an ArduPilot vehicle over MAVLink
The source's own preview image, from github.com.

Briefing

One background thread owns the MAVLink link and caches the latest message of each type, so state reads return at once; parameter values arrive through a separate store. An arm request returns the COMMAND_ACK result and, on refusal, the prearm STATUSTEXT, such as AHRS waiting for home. Modes are mapped by name per vehicle type, and a parameter write is confirmed by the echoed PARAM_VALUE. Write tools carry the MCP destructiveHint.

The README lists three kinds of validation: unit tests on Python 3.10 to 3.12, a MAVLink wire check and a live SITL run. ARMING_CHECK writes are refused on every link, even with both actuation flags set. Mission upload and guided takeoff, goto and land are deferred because of fly-away risk.

From the GitHub API

Repository facts

Repository facts for rmeadomavic/ardupilot-mcp, from the GitHub API
Repositoryrmeadomavic/ardupilot-mcp
Stars4
LicenseMIT Permissive
LanguagePython
Last push3 Aug 2026 2 mo ago

Tags

Agent

Report a problem with this entry