Skip to content
Agentmart
Submit a tool

Bagel

Plain-English analysis of robotics, drone, and IoT data, with intelligent edge data reduction.

Connector by Extelligence-ai · GitHub account verified by the MCP Registry

IndexedApache-2.0Remote (SSE)★ 399
Write a review

Install

Pick your client. Read the repository before you give any tool access to your data.

No install instructions from the source yet. Check the repository for setup steps.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Plain-English analysis of robotics, drone, and IoT data, with intelligent edge data reduction.

Use cases: data-analysis, data-pipelines

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
11 read · 11 write · 2 delete · 1 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Docker image

Tools by what they do 25

Read from the source code; the running server may list different tools.

Read 11 · Look things up without changing anything.

  • describe_data_source
  • describe_topic
  • get_pipeline
  • list_agent_capabilities
  • list_live_topics
  • list_pipeline_capabilities
  • list_pipelines
  • preview_anomalies
  • preview_pipeline
  • query_messages
  • read_loggings

Write 11 · Create, change, send or run things.

  • export_for_lerobot
  • export_for_lichtblick
  • export_for_plotjuggler
  • export_for_rerun
  • run_pipeline
  • run_pipeline_batch
  • run_poml_capability
  • save_agent_capability
  • save_pipeline
  • subscribe_live_topics
  • unsubscribe_live_topics

Delete 2 · Delete, drop, revoke or wipe things.

  • delete_capability
  • delete_pipeline

Not yet classified 1 · We could not tell from the name and description.

  • snap_hardware

Files it touches

  • Any path the agent passes to its tools

Tools (25)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • delete_capabilityDelete a user capability

    Delete a capability previously saved with `save_agent_capability`, by the exact, full `name` `list_agent_capabilities` reports (`user/`-prefixed) -- a bare slug is rejected, since a user capability's name can shadow a builtin of the same stem. Only user-saved capabilities can be deleted -- builtins shipped with Bagel refuse with a clear message. An unknown name raises rather than silently no-op-ing, listing the user capabilities that do exist.

  • delete_pipelineDelete a saved pipeline

    Delete exactly one pipeline YAML file previously written by `save_pipeline`, by the same `name` `list_pipelines` reports. Confined to the trusted pipelines directory (`settings.PIPELINES_DIRECTORY`) -- there is no `directory` argument, so this can never be pointed at an arbitrary path -- and a name that would resolve outside it is refused before anything is touched. Deleting an unknown name raises rather than silently no-op-ing, listing the names that do exist -- so a second delete of the same name also raises.

  • describe_data_sourceDescribe a data source

    Inspect a robotics, drone, or IoT log first: returns source metadata, available topics, and instructions for summarizing them. Use describe_topic next for field schemas before SQL. Does not return message rows or detect anomalies. Paths are resolved on the Bagel server; runtime and schema support depend on the selected service.

  • describe_topicDescribe a topic in a data source

    Inspect one known topic before writing SQL or event predicates. Returns its DuckDB schema, original message definition, and query instructions, without message rows. Discover topic names with describe_data_source. Confirm units from the definition or user; do not infer units from field names.

  • export_for_lerobotExport event windows as a LeRobot training dataset (beta)

    Write selected event windows as a LeRobotDataset v3.0: one episode per window, scalar signals grouped into feature vectors and resampled to a uniform fps using last observation carried forward. Returns the dataset directory, episode/frame counts, and loading instructions. Choose this for robot-learning dataset preparation, not interactive viewing or model training. Beta: load compatibility tested; actual training-run validation remains outstanding.

  • export_for_lichtblickExport an event window for Lichtblick / Foxglove

    Write a selected time window as JSON-encoded MCAP plus a plot layout for Lichtblick or Foxglove; returns paths, curves, and opening instructions. Choose this for those viewers, not byte-preserving native ROS/CDR export. Inspect topic schemas and use source timestamps in seconds. Automatically selects up to eight numeric plot curves unless signals are specified. Requires a separate viewer; does not launch it.

  • export_for_plotjugglerExport an event window for PlotJuggler

    Write a selected time window as flattened scalar CSV plus a PlotJuggler XML layout; returns paths, plotted curves, and an opening command. Choose this for scalar plotting in PlotJuggler, not native bag preservation. Inspect topic schemas and use inclusive source timestamps in seconds. Automatically selects up to eight numeric curves unless signals are specified. Requires the separate viewer to open; does not launch it.

  • export_for_rerunExport an event window for the Rerun viewer

    Write a selected time window as scalar time series in a Rerun .rrd recording; returns its path, signals, and an opening command. Choose this when the user requests Rerun. Needs the Rerun viewer on the host (the SDK ships in every image). Inspect topic schemas and use source timestamps in seconds. This exporter does not produce camera or 3D scene replay and does not launch the viewer.

  • get_pipelineRead a saved pipeline

    Return the full configuration of one pipeline saved by `save_pipeline`, by the `name` `list_pipelines` reports, so it can be inspected, edited and saved again or passed to run_pipeline. Confined to the trusted pipelines directory (`settings.PIPELINES_DIRECTORY`); a name resolving outside it is refused.

  • list_agent_capabilitiesList agent capabilities

    List every capability available to run: the predefined `.poml` capabilities shipped with Bagel, plus any user-saved capabilities (`.poml` or `.md`, named with a `user/` prefix) discovered under the user-capabilities directory. Each entry has a `name`, a `path` to pass to `run_poml_capability`, and a one-line `summary`. Use this to discover available capabilities instead of guessing file paths.

  • list_live_topicsList available live topics

    Discover topic names from a live broker or ROS bridge before subscribing. Supported type_ values: mqtt, ros1.bridge, ros2.bridge. Requires a reachable service; specify host and port when defaults do not fit. Returns topic names without starting a persistent recording. Use describe_data_source for an existing recorded log.

  • list_pipeline_capabilitiesList pipeline capabilities

    Discover available task and gate modules before authoring pipeline YAML. Returns module paths, constructor parameters, summaries, and availability. These are executable building blocks, not saved workflows: use list_pipelines for saved configs and list_agent_capabilities for reusable agent instructions.

  • list_pipelinesList saved pipelines

    List the pipeline YAML files saved by `save_pipeline` in the trusted pipelines directory (`settings.PIPELINES_DIRECTORY`): each entry's `name`, `path`, and a one-line `summary` (task count, site/asset, and cadence). Use this to discover what has already been saved before reusing, editing, or deleting it -- instead of guessing file names.

  • preview_anomaliesPreview what the anomaly gate would flag (beta)

    Dry-run the on-robot anomaly screen over a recorded log without calling any decision model or writing artifacts. Learns a rolling baseline the way the `bagel_mcp.pipeline.gates.anomaly` gate does, then reports every window the screen would flag (mean shift, extreme sample, topic dropout) with the signal, value and z-score, flag counts per signal, and plain-language advice (signals that drift by design, warm-up longer than the log). Inspect topics first and pass `signals` as rates and errors (accelerations, angular rates, currents), never positions or orientations. Use it to choose signals and …

  • preview_pipelinePreview an event-driven data reduction

    Preview an event-window reduction without writing artifacts. Inspect source and topic schemas first, then provide a SQL boolean predicate and nonnegative pre/post seconds. Detects false-to-true transitions, debounces nearby events, merges overlapping windows, and returns event timestamps, intervals, total seconds, and kept seconds/fraction. Report these results and obtain user confirmation before executing the reduction with run_pipeline or run_pipeline_batch. Does not predict output byte size.

Show 10 more tools
  • query_messagesQuery topic messages with SQL

    Answer quantitative questions with read-only DuckDB SQL over one topic: filtering, aggregates, downsampling, and event evidence. Call describe_data_source and describe_topic first; use the returned schema and show the SQL to the user. Returns rows as dictionaries. Use read_loggings for textual diagnostics. Time bounds are inclusive source timestamps in seconds, not offsets from the first message.

  • read_loggingsRead logging messages from a data source

    Read textual INFO/WARN/ERROR diagnostics from a recorded source, optionally within inclusive source-time bounds in seconds. Returns logging records, or an empty list when no logging topics exist. Use query_messages for numerical signals, statistics, and threshold detection; empty diagnostics do not prove a healthy log.

  • run_pipelineRun a pipeline

    Execute one pipeline config against its single config.path after configuration and input validation. For event reductions, first call preview_pipeline, report events and kept seconds, and obtain user confirmation. Returns pipeline status, run counts, and artifact paths; inspect status for failures. Tasks may write files or contact external services. Use save_pipeline to store without executing, or run_pipeline_batch for multiple sources.

  • run_pipeline_batchRun a pipeline across many data sources (batch)

    Execute one pipeline config for multiple explicit source paths or globs, overriding config.path for each source. Each source runs independently; returns per-source statuses/errors and totals. For event reductions, preview each source to be reduced and obtain confirmation of the batch scope before executing. Tasks may write files or contact external services. Use run_pipeline for a single source. A glob matching nothing is treated as a literal path.

  • run_poml_capabilityRun a capability defined in a POML file

    Load reusable agent instructions from a POML or Markdown file; returns a prompt for the calling agent to follow. Discover paths with list_agent_capabilities. POML accepts template context; Markdown rejects nonempty context. Loading the prompt does not itself analyze data, execute a pipeline, or write reduction artifacts. Use run_pipeline for an approved executable pipeline config.

  • save_agent_capabilitySave a user capability

    Save a reusable workflow as a named capability so it can be discovered with `list_agent_capabilities` and run with `run_poml_capability` in any future session. Content may be POML (validated before saving; supports context parameterization) or plain markdown instructions. Writes only to the user-capabilities directory; builtin capabilities cannot be modified.

  • save_pipelineSave a pipeline to a YAML file

    Persist a pipeline configuration to a YAML file so it can be reused, edited, or run later with `bagel-run`. Returns the path to the written file.

  • snap_hardwareSnapshot robot hardware into a WaffleForm (experimental beta)

    Auto-detect the robot's current hardware, firmware, and software using waffle-iron and return the resulting hardware state. Requires the waffle CLI on PATH (cargo install waffle-iron). The WaffleForm it writes is immediately queryable as a data source.

  • subscribe_live_topicsSubscribe to live topic messages

    Start a background subscription to mqtt, ros1.bridge, or ros2.bridge and persist messages locally; returns the sink directory for subsequent analysis. Use list_live_topics first. An optional pipeline runs continuously on incoming messages and may write or upload artifacts. overwrite=True clears existing topic buffers. Stop it with unsubscribe_live_topics. Not for inspecting an existing file.

  • unsubscribe_live_topicsStop live topic subscriptions

    Stop topics started by subscribe_live_topics on a running mqtt, ros1.bridge, or ros2.bridge subscription (same type_, host and port). Omit topics to stop all of them. A standing pipeline finishes its queued runs and its end-of-stream run first, which may write or upload artifacts. Recorded messages stay in the returned sink directory for analysis. Once nothing is subscribed the connection is closed. Never opens a connection: errors if there is no running subscription there.

Signals

Stars
399
Forks
30
Open issues
23
Contributors
10
Last commit
Oct 19, 2026 (9 days ago)
Last release
Oct 9, 2026 (19 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.Extelligence-ai/bagel
Version
2.4.1
Auth
No auth
Packages
oci ghcr.io/extelligence-ai/bagel/ros2-kilted:2.4.1
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

Bagel MCP server. Agent Mart. https://agentmart.dev/connectors/extelligence-ai-bagel (last updated 2026-10-24)