An MCP server that connects to an ArduPilot vehicle over MAVLink and lets an agent read vehicle state, inspect and change parameters, switch modes, and read prearm failure messages. It also supports gated arm/disarm actions, with SITL as the primary intended environment.
From the registry: Live ArduPilot control over MAVLink: state, params, modes, prearm diagnosis, gated arm. SITL-first.
$ pipx install ardupilot-mavlink-mcp$ sim_vehicle.py -v ArduCopter --consolePlease install the `ardupilot-mavlink-mcp` MCP server into my current AI client (that's you).
Required prerequisites (do these first if not already done):
- **Install Python 3.10+** — Python 3.10 or newer is required to run the MCP server.
- **Install pipx** — Install pipx to install and run the ardupilot-mavlink-mcp package as recommended by the README. Run: `pipx install ardupilot-mavlink-mcp`
- **Start an ArduPilot vehicle or SITL instance** — You need a reachable ArduPilot MAVLink endpoint. The README recommends developing against local SITL first. Run: `sim_vehicle.py -v ArduCopter --console`
Canonical MCP server config (stdio transport):
- command: `ardupilot-mavlink-mcp`
- args: ["--connect","tcp:127.0.0.1:5760"]
Note: The server runs over stdio and connects onward to ArduPilot over MAVLink using a pymavlink connection string. Common examples from the README: tcp:127.0.0.1:5760 for SITL, udp:127.0.0.1:14550, or serial:/dev/ttyACM0:115200. Optional safety flags include --enable-actuation to allow parameter writes, mode changes, and arm/disarm, and --allow-real-vehicle if actuation should be permitted on a non-loopback or serial link.
Add this MCP server to my current client's config in the correct format for you. If you need secrets or credentials I haven't provided, ASK me — do not invent values or leave raw placeholders. After adding it, tell me how to verify the server is connected.Manage UniFi Protect cameras, events, recordings, and smart detections via MCP.