Bagel: questions to robot and drone data

Bagel

An MCP server that answers plain-language questions about robot, drone and IoT logs, with each calculation shown as a SQL query

  • 407 ★ on the repository
  • Last commit
  • Apache-2.0
MCP serverOfficial

Extended access

Why this level

  • Pipelines write new files and can upload data to S3, GCS and Azure cloud storage
  • The MCP endpoint has no authentication, so any process on the computer can call it
  • Standing pipelines run on the robot and decide which data to keep and which to drop
All reasons and checks

extelligence-ai/bagel

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/bagel

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • Pipelines write new files and can upload data to S3, GCS and Azure cloud storage
  • The MCP endpoint has no authentication, so any process on the computer can call it
  • Standing pipelines run on the robot and decide which data to keep and which to drop

This is third-party code. Review the repository files before installing.

What it does

Bagel reads recordings from robots, drones and IoT devices and answers questions about them in plain language, for example "is my IMU sensor overheating". Every calculation over message data runs as a DuckDB SQL query rather than a model guess, and Bagel shows the query so you can audit it. The model sits in front of your logs and stays out of the robot's control loop. The second part is a data reduction pipeline. You describe an event, such as "keep ten seconds before and after every hard brake". Bagel turns the phrase into an auditable pipeline, shows a preview before a single byte is written and runs it once, across a fleet of recordings or standing on the robot itself, keeping only the windows around events. Formats: ROS 1 and ROS 2, MCAP, PX4, ArduPilot and Betaflight logs, CAN and MDF4 (beta), MQTT and InfluxDB, PostgreSQL and TimescaleDB, plus CSV, JSON and Parquet. Recorded data needs neither Docker nor an installed ROS. Live robots over rosbridge and edge data reduction run in Docker.

Who it is for. For robotics, drone and IoT engineers who dig through logs and want to ask an agent in Claude Code, Cursor or Codex instead of writing one-off scripts.

Good fit when

  • You need to quickly see what is inside a ROS, MCAP or flight log recording: topics, duration, messages
  • You need to find events, such as braking harder than a threshold, and cut snippets around them
  • You need peaks, running averages, percentiles and cross-topic correlations without a separate pandas script
  • Recordings on the robot take too much space and you want to keep only windows around interesting events
  • The same check must run over a folder of hundreds of recordings and produce a combined report

Not a fit when

  • You need to control a robot or send it commands: Bagel works with logs and the model stays out of the control loop
  • Your data format is not on the supported list: the authors suggest opening an issue in the repository
  • Real automotive captures matter: MDF4 and CAN reading is verified on files made by the same libraries and remains beta
  • You need complex pipelines on a small local 4–8B model: event-windowed reduction and multi-topic joins want a bigger model

Example request

Summarize the recording ~/logs/run_42.mcap and find every moment where deceleration exceeds 10 m/s².

MCP

Transport
stdio, http
Authentication
not required

Limitations

Reading of the MDF4 and CAN automotive formats and the Jev integration with the anomaly gate remain beta, and their settings may change between releases. The reduction ratio depends on the workload: quiet recordings shrink a lot, eventful ones far less, and the figures in the documentation come from a demo and are not a measurement.

The MCP endpoint has no authentication and listens only on a local address. You need Python 3.10–3.12 and, for the recommended launch, uv. PX4 parsing does not need Git, and Git and the network are used only for optional field descriptions. The OpenAI and Anthropic APIs are unavailable from Russia, so connect a client or a local model that is reachable from your location.

How to disable. Remove the server with claude mcp remove bagel. For pip run pip uninstall bagel-mcp, and for Docker stop and delete the container. Remove the Claude Code plugin through the /plugin menu.

FAQ

How do I install Bagel in Claude Code?

Install uv and run claude mcp add bagel -- uvx --from "bagel-mcp[ros]" bagel-mcp --transport stdio. The ros extra reads ROS 1 and ROS 2. Other formats come as extras such as px4, ardupilot, betaflight, automotive and iot, and if one is missing Bagel's error names the exact command to add it.

Do I need ROS and Docker to analyze a recorded log?

No. ROS 1, ROS 2, MCAP recordings and flight logs are read through pip or uvx with no Docker and no ROS install. Docker is for live robots over rosbridge, fleets and edge data reduction.

How can I be sure Bagel's answers are not invented by the model?

Every calculation runs as a DuckDB SQL query that Bagel shows. Message topics are exposed as one relational view, so joins and correlations are a single query and the result is reproducible.

Can I run Bagel entirely on my own machine?

Yes: data and model stay on the machine if you take a local model through Ollama, such as qwen3:8b. Details and quality expectations are collected in the local models guide. Multi-step pipelines need a bigger model.

What does the Bagel plugin for Claude Code and Codex add?

Four skills that tell the agent when and how to work with the server: log triage, pipeline authoring, live sinks and visualization export. The plugin connects the MCP server itself, at the default address http://localhost:8000/mcp.

Discussion

No questions or reviews yet.

Official

The hosted Roboto MCP server lets an agent search a robot fleet's datasets and files and analyze topic data without changing them

MCP serverExtended access58Repository stars

A text-to-SQL MCP server: an agent asks a database in words, gets SQL plus a trace, and a stated refusal when data is missing.

MCP serverExtended access81Repository stars
Official

An MCP server builds an ontology from a database schema and checks agent SQL before it runs, for PostgreSQL, Snowflake and more

MCP serverBroad access58Repository stars

Ragstar answers questions about a dbt project in chat and Slack, and its MCP server gives Claude search over models and their SQL

MCP serverExtended access180Repository stars
Official

A lightweight database workspace with an MCP server: the agent reads the schema, runs queries and explores data in PostgreSQL, MySQL and more

MCP serverBroad access5.1KRepository stars

A local MCP server that turns a folder of documents into a knowledge base with hybrid search for Claude Code and Cursor

MCP serverExtended access305Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Bagel: questions to robot and drone data (this card)yesnot required407
ROS MCP Servernonot required1,525links an agent to a live ROS robot over rosbridge: sensors and control rather than analysis of recorded logs
openreality-mcpyeskey is optional656an MCP server that turns phone video into a 3D scene and lets an

README in short

You teach Bagel a new analysis with a .poml text file, without touching code. The repository ships a bundled sample for a one-minute Docker check and guides for connecting clients.

README badge

Report a problem