Inav MCP logo

Inav MCP

Configure, diagnose, and test iNAV flight controllers over USB through MCP tools and guided prompts.

Install Inav MCP

Pick your client, then add it in one click or paste the config.

No confirmed install command yet

We only publish a config when the install details come from the project itself — its README, its docs, or a verified owner. We haven’t found those for inav-mcp, and we’d rather show nothing than a guess you’d paste into your client.

Open setup steps on GitHub

Overview

inav-mcp MCP server connects Claude to an iNAV flight controller over USB for configuration, diagnostics, calibration, and fixed-wing setup. It uses iNAV CLI for configuration writes and a built-in MSP codec for live reads over one serial connection. The server targets flying wings first, while also supporting conventional fixed-wing aircraft. Reach for it when you need guided arming diagnostics, mode setup, navigation configuration, or guarded bench tests.

Use cases

  • Configure a new flying-wing aircraft
  • Diagnose why an iNAV controller will not arm
  • Assign flight modes to transmitter switches
  • Calibrate sensors and inspect live telemetry
  • Back up or restore iNAV CLI configuration

Key features

  • USB serial discovery and iNAV board connection
  • Fixed-wing and flying-wing configuration planning
  • Arming, sensor, RC, GPS, and failsafe diagnostics
  • Flight-mode and switch assignment
  • Navigation, PID, and calibration controls
  • Guarded backups, restores, CLI access, and motor tests

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

9/9 checks healthy over the last 45d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 15d ago via OSV.dev

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars2Stargazers on the source repository.
Last commit2d agoMost recent push to the default branch.

How Inav MCP works

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.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Inav MCP

inav-mcp is an MCP server that connects Claude to iNAV flight controllers over USB. Its main tools discover and inspect boards, plan and apply fixed-wing configurations, diagnose arming and sensor issues, configure modes and navigation, read live MSP data, manage backups, and run guarded calibration or motor tests.

Install it from a source checkout with Python 3.10 or newer by creating a virtual environment and running `pip install -e .`. Register `python -m inav_mcp.server` in Claude Code or Claude Desktop, using the virtual-environment interpreter and repository as the working directory.

You can run the test suite and use offline planning without hardware, but connection and flight-controller operations require an iNAV board connected over USB. The server's connection tools have nothing to communicate with until a controller running iNAV firmware is attached.

Yes, flying wings are the primary target, including elevon FPV wings, and conventional fixed-wing planes are also supported. The server includes aircraft planning, flight-mode assignment, RC inspection, navigation settings, fixed-wing tuning, and diagnostics for these aircraft types.

Motor testing is guarded but still requires normal bench precautions. `test_motor` requires removed propellers and explicit confirmation, refuses to run while the board is armed, stops automatically, and does not save the test. Raw live motor commands have a separate props-off gate.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewInav MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/inav-mcp?style=directory)](https://allmcps.com/mcp/inav-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/inav-mcp"><img src="https://allmcps.com/api/badge/inav-mcp?style=directory" alt="Inav MCP on AllMCPs" /></a>