# inav-mcp [Health: Active]

**Category:** 📟 Embedded System  
**Repository:** https://github.com/starlordz12/inav-mcp  
**GitHub Stars:** 2  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/inav-mcp

## Description
MCP server for iNAV flight-controller configuration and diagnostics

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What inav-mcp does

inav-mcp exposes iNAV flight-controller operations through MCP over stdio. Its workflows focus on fixed-wing aircraft, especially elevon flying wings, and cover connection, aircraft planning, configuration, flight modes, diagnostics, navigation, tuning, calibration, and backup management.

The server can discover serial ports, probe for an iNAV board, connect to the controller, and report board identity and firmware details. It also provides guided prompts for new fixed-wing setup, no-arm troubleshooting, and assigning flight modes to transmitter switches.

Configuration changes are designed to be deliberate. Writes use dry-run behavior by default, create a backup before applying changes, refuse to operate while the board is armed, and read settings back for verification. Motor testing has additional props-off and confirmation gates.

## How it works

A single USB serial connection carries communication with the flight controller. CLI commands handle configuration changes, while the integrated MSP codec reads live or binary data such as status, sensors, RC channels, GPS, and arming information.

The `define_aircraft` workflow stores an aircraft profile and generates a CLI plan before anything is applied. `check_config` compares the controller configuration with that profile and performs an arming check. Applying an aircraft setup saves and reboots the iNAV controller, so the connection becomes stale afterward.

Prompts are available for common tasks, but tools can also be called conversationally. Read-only CLI batches leave without saving; write batches back up, save once, and roll back if a command is rejected. The server never switches the controller into MSP-RX mode and never arms the aircraft.

## Setup and configuration

The runtime requires Python 3.10 or newer and an iNAV flight controller connected over USB. Development targets iNAV 8.x and 9.x. The controller's serial device may appear as a Windows `COM` port or a Linux `/dev/ttyACM` device.

For a source installation, create a virtual environment and install the package in editable mode:

```bash
python -m venv .venv
.venv/bin/pip install -e .
```

On Windows, use the Python executable under `.venv\\Scripts`. The server can be registered in Claude Code or Claude Desktop using the virtual-environment Python, the `-m inav_mcp.server` argument, and the repository as its working directory. It can also be started through the installed `inav-mcp` entry point.

The test suite runs offline without a flight controller. Actual connection, configuration, and diagnostic operations require hardware running iNAV firmware.

## Tools and capabilities

- Discover, connect to, inspect, and disconnect from an iNAV controller.
- Build and apply fixed-wing or flying-wing aircraft configuration plans.
- Assign, clear, and inspect flight modes and transmitter switch ranges.
- Diagnose arming blocks, sensor health, RC input, battery state, GPS, and failsafe settings.
- Read and adjust fixed-wing navigation settings, PID gains, rates, and filter cutoffs.
- Calibrate the accelerometer and magnetometer.
- Back up, list, restore, and compare CLI configuration data.
- Run guarded single-motor tests and raw CLI commands or batches.

Motor tests require removed propellers, explicit confirmation, and a disarmed board. They stop automatically and are not saved.

## Limitations and notes

The server is built around iNAV flight controllers and fixed-wing use cases. A connected controller is required for real operations, while offline planning and tests can run without hardware. Applying configuration inherently saves and reboots the board. Live servo override is not provided; surface movement must be checked with transmitter sticks and RC-channel readings.

Always remove propellers before motor testing. The server's safety gates do not replace normal aircraft bench-safety procedures.

_Full upstream README: https://allmcps.com/mcp/inav-mcp/readme_

