EchoPilot: LangGraph + MCP Server for Natural Language PX4 Control

Hello PX4 community,

I’ve created an open-source voice control system for PX4 that uses some interesting architecture patterns:

Technical Stack:

  • MCP Server (Model Context Protocol) wrapping MAVSDK-Python commands as discoverable tools
  • LangGraph for intelligent tool orchestration and mission planning
  • Local LLM (Ollama) for natural language understanding
  • Each MAVSDK command (takeoff, goto_location, orbit, land) exposed as an MCP tool

How it works:

  1. Voice command: “Fly to bridge, orbit it, land there”
  2. LangGraph + LLM creates tool chain: [takeoff] → [fly_to_coordinates] → [orbit] → [land]
  3. MCP Server executes each MAVSDK tool with telemetry verification
  4. Real-time status updates back to user

The beauty is that the MCP server runs independently - you can extend it with new MAVSDK capabilities and the LLM automatically learns to use them.

:television:Youtube Demo : https://www.youtube.com/watch?v=-IVD1Tpn5w0&ab_channel=Bilalİleri
:wrench: GitHub: GitHub - Bilalileri/EchoPilot---Ollama---PX4---MCP: Speak to your drone! EchoPilot is a voice-controlled agent that leverages Ollama for local LLM power, generating complex PX4 missions via LangGraph. Commands are executed seamlessly using MAVSDK and the Model Context Protocol (MCP).

Looking for feedback on the tool design and potential safety improvements. Has anyone else experimented with MCP for robotics?

2 Likes

Hey @Bilal_Ileri,

Very interesting project! I’m working on a similar one that also uses a local LLM to translate natural language into MAVLink commands for PX4. I’m curious about the hardware you’re using and the inference/execution times you’re achieving.