Mcap
FreeNot checkedQuery your robot's MCAP recordings with SQL — straight from your LLM.
About
Query your robot's MCAP recordings with SQL — straight from your LLM.
README
Query your robot's MCAP recordings with SQL — straight from your LLM.
Setup
{
"mcpServers": {
"mcap-query": {
"command": "uvx",
"args": ["mcap-mcp-server[all]"]
}
}
}
No install, no database, no API keys. Requires uv.
Usage
Just talk to your LLM:
- "Tell me what topics are in session_003.mcap"
- "In session_017.mcap find all moments where voltage dropped below 22V"
- "Correlate IMU acceleration with motor current."
- "Compare average battery voltage across my last 5 runs"
- "What version of mcap-mcp-server am I running? Update it"
Tools
| Tool | Needs loading | What it does |
|---|---|---|
list_recordings |
no | Find MCAP files in your project (or any path) |
get_recording_info |
no | Metadata, channels, attachments for a file |
get_schema |
no | SQL table names & column types — for query planning |
load_recording |
— | Decode MCAP into DuckDB (the LLM calls this automatically) |
query |
yes | Run SQL (full DuckDB — including ASOF JOIN) |
get_version |
no | Server version, available decoders, upgrade command |
Project documentation — configuration, Docker, development setup, and architecture.
Example SQL (under the hood)
-- Time-windowed stats
SELECT (timestamp_us / 1000000) as second,
AVG(voltage) as avg_v, MIN(voltage) as min_v
FROM battery GROUP BY second ORDER BY second
-- Cross-sensor correlation via ASOF JOIN
SELECT b.timestamp_us, b.voltage, i.linear_acceleration_x
FROM battery b ASOF JOIN imu i ON b.timestamp_us >= i.timestamp_us
-- Multi-recording comparison
SELECT 'run1' as run, AVG(voltage) FROM r1_battery
UNION ALL
SELECT 'run2', AVG(voltage) FROM r2_battery
Performance
Metadata tools (list_recordings, get_recording_info, get_schema) return in < 1 ms regardless of file size. SQL queries execute in 1–20 ms once data is loaded. The one-time load_recording cost scales with file size:
| Messages | File size | Load time | Memory | Query time |
|---|---|---|---|---|
| 1K | 23 KB | 8 ms | < 1 MB | 1 ms |
| 10K | 220 KB | 90 ms | 0.5 MB | 1–3 ms |
| 100K | 2.2 MB | 0.7 s | 5 MB | 1–5 ms |
| 500K | 11 MB | 3.9 s | 23 MB | 2–9 ms |
| 1M | 23 MB | 8 s | 46 MB | 2–13 ms |
| 2M | 48 MB | 18 s | 92 MB | 2–22 ms |
Measured on Apple M4 with JSON-encoded messages, 5 fields per message. Query times are median across aggregation, filter, and window function queries. Memory is the DuckDB in-memory footprint (default budget: 2 GB).
Tip: use
topicsandstart_time/end_timefilters onload_recordingto load only what you need.
Update
uvx mcap-mcp-server[all] --upgrade
Or ask your LLM — the get_version tool returns the running version and the upgrade command.
License
GNU General Public License v3.0 — see LICENSE.
Installing Mcap
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/turkenberg/mcap_mcp_serverFAQ
Is Mcap MCP free?
Yes, Mcap MCP is free — one-click install via Unyly at no cost.
Does Mcap need an API key?
No, Mcap runs without API keys or environment variables.
Is Mcap hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Mcap in Claude Desktop, Claude Code or Cursor?
Open Mcap on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
wenb1n-dev/SmartDB_MCP
A universal database MCP server supporting simultaneous connections to multiple databases. It provides tools for database operations, health analysis, SQL optim
by wenb1n-devPostgres Server
This server enables interaction with PostgreSQL databases through the Model Context Protocol, optimized for the AWS Bedrock AgentCore Runtime. It provides tools
by madhurprashPostgres
Query your database in natural language
by AnthropicPostgreSQL
Read-only database access with schema inspection.
by modelcontextprotocolCompare Mcap with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All data MCPs
