Games and hardware#Data analysis

Bagel: ask robotics and drone logs in plain English

Lets agents query ROS bags, MCAP, PX4 and ArduPilot logs and MQTT streams, every calculation as auditable DuckDB SQL. Runs in Docker, even fully offline.

Project and installation docs

View project

https://github.com/Extelligence-ai/bagel

Anyone who has tuned a robot or drone probably has a parse_bag_final_v7.py somewhere, rewritten every time they need to check a voltage sag or an IMU glitch in a ROS bag. Bagel hands those logs to an agent instead. Ask “is my IMU overheating?” and it turns the question into DuckDB SQL, runs it, and shows you the query. It’s built by Extelligence and had about 400 stars as of 2026-10-06.

What it does

  • Many formats: ROS1, ROS2 (Humble through Kilted), PX4, ArduPilot and Betaflight flight logs, plus live IoT and MQTT data, each with its own Docker service.
  • Math, not guesses: every calculation is deterministic SQL, returned alongside the answer so you can audit it.
  • Health checks: the demo command needs no model at all; it checks power, IMU, GPS and data gaps in a log and prints a report card.
  • Pipelines from a sentence: “keep 10 seconds around every hard brake, drop the rest” becomes an auditable data reduction pipeline, previewed before it runs, and it can run on the robot.
  • Agent plugin: the Claude Code and Codex plugin adds four skills for log triage, pipeline authoring, live sinks and visualization export.

Who it’s for

  • Engineers on ROS robots or PX4 drones who want to know quickly what happened during a flight or test run.
  • Teams with fleets producing more data than they can keep, who want only the key windows saved at the edge.

Setup

Needs Docker. Clone the repo, start the service for your environment, then add the SSE endpoint to Claude Code:

git clone https://github.com/Extelligence-ai/bagel.git && cd bagel
docker compose run --service-ports ros2-kilted
claude mcp add --transport sse bagel http://localhost:8000/sse

For a fully offline setup, the README swaps in Ollama with a local model. To try it first, docker run -it --rm ghcr.io/extelligence-ai/bagel/px4:latest demo runs against a bundled sample log.

Our take

Few MCP servers handle robotics data, and Bagel is the most complete of them: ready images for each ROS release, transparent calculations, and a stated rule that the LLM sits in front of your logs, never in the robot’s control loop. A few caveats. Every image except ros2-kilted is amd64-only, so Apple Silicon runs them under emulation, slowly. The MCP endpoint binds to localhost by default, and sharing it means adding an authenticated proxy yourself. Some on-robot decision-model features rely on the hosted Jev backend. Licensed Apache-2.0.