Skip to content

Bagel is ChatGPT for physical data. Just ask questions and get answers. No Fuss.

License

Notifications You must be signed in to change notification settings

ib-drct-dev/bagel

 
 

Repository files navigation


Bagel lets you chat with your robotics data.

For example, you can ask Bagel to check a PX4 drone's IMU data for hard landings:

Bagel can also propose fixes for detected errors in your robot:

Bagel works with a wide range of common robotics and sensor log formats out of the box. Don't see your format? Open a ticket.

Format
ROS 2 (.mcap, .db3)
ROS 1 (.bag)
PX4 (.ulg)

Don't forget to join our Discord server!

Quickstart

We are using ROS2 Kilted and Claude Code as example.

source /opt/ros/kilted/setup.sh  # Source ROS2 dependencies
uv sync --group ros2             # Install PyPI packages
uv run main.py up mcp            # Start Bagel MCP server

Open another terminal and run:

# Add Bagel MCP server to Claude Code
claude mcp add --transport sse bagel http://localhost:8000/sse

# Launch Claude Code
claude

# Happy prompting
> Summarize the metadata of robolog "./doc/tutorials/data/ros2".

The Bagel MCP server is not exclusively tied to Claude. You're free to integrate your preferred LLMs with Bagel.

Tutorials

Running in Docker 🐳

To run Bagel without installing local dependencies like ROS, you can use our provided Docker images. Make sure you have Docker Desktop installed. This example uses ROS 2 Kilted.

Mount Your Data

First, give the container access to your robolog files. Open the compose.yaml file and find the service you want to use (e.g., ros2-kilted). Edit the volumes section to link your local data folder to the container's data folder.

services:
  ros2-kilted:
    ...
    # volumes:                                     <-- ✅ Uncomment
    #   - <path-to-local-data>:/home/ubuntu/data   <-- ✅ Uncomment & Replace

Your local robolog files will be accessible inside the container at /home/ubuntu/data.

Launch the MCP Server

Build and start the Bagel MCP server in a container with this command.

docker compose run --build --service-ports ros2-kilted uv run main.py up mcp

About

Bagel is ChatGPT for physical data. Just ask questions and get answers. No Fuss.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%