Mesh Storage
Getting Started
The fastest path through Mesh Storage — get data in, view it, then query it from SQL or your AI tools
Mesh Storage is where your robot data lives and becomes queryable. Drop in MCAP recordings — from your laptop, a robot, or a fleet of devices — then browse, replay, and query everything from one place.
This page walks the canonical workflow in three steps. Pick the path through each step that matches your setup.
Step 1 — Get data in
Mesh Storage accepts files through three primary paths:
Web upload
Already have MCAP files on your laptop? Drag and drop them in. Best for ad-hoc files.
Python SDK
Uploading from a notebook, script, backend job, or CI run? Use alloy-sdk to write directly into Mesh.
Edge upload
Already have your own recorder? Use Alloy Edge to sync its MCAP output folder.
Web uploads land in uploads/web-uploads/. SDK uploads land in
uploads/sdk-uploads/. Alloy Edge uploads land in
uploads/devices/<device-id>/. All are queryable from the same place once ingested.
A Docker deployment with a bundled ROS 2 recorder is also available from Mesh Storage → Devices → Add device. Track Folder is the primary documented edge path.
Every file goes through the same lifecycle once it lands: Queued → Ingesting → Ingested (or Ingest failed). Replay and Inspect work as soon as an MCAP file lands. You don't have to wait for ingest to finish.
Step 2 — View the data
Once a file is in Mesh Storage you can browse, replay, and inspect it without leaving the browser.
Step 3 — Use the data
Once a file is Ingested, pick the surface that matches where you want to work:
From the browser — SQL Workbench
Open Mesh Storage → Workbench to write SQL in the browser. Alloy runs the query on its servers against your Iceberg tables and returns the results. There is nothing to install and no credentials to manage. Best for ad-hoc analysis.
SELECT file_type, count(*) AS files
FROM alloy.mesh.files
WHERE deleted = false
GROUP BY file_type
ORDER BY files DESC;From your AI tool — MCP
Connect Claude, Cursor, Codex, or another MCP-aware tool to browse your Mesh files and run SQL. See MCP.
From notebooks / BI / external compute — Iceberg REST
Mesh Storage exposes the data lake as an Iceberg REST Catalog. Create an API key from Mesh Storage → Data → API keys, then point DuckDB, Spark, Trino, or PyIceberg at the catalog endpoint. There is no copy step and no export.
From Python — Alloy SDK
Use alloy-sdk when you want Python code to upload files, list or download Mesh files, or query ingested data through hosted SQL.
from alloy import storage, sql
with storage.connect() as store:
store.upload_folder("local/run-001", path="flights/run-001")
with sql.connect() as db:
rows = db.fetch("SELECT * FROM alloy.mesh.file_meta LIMIT 20")