使用说明
MCAP MCP服务器
查询您的机器人 大司令部自动数据处理计划 使用SQL进行录制——直接来自您的法学硕士。
设置
{
"mcpServers": {
"mcap-query": {
"command": "uvx",
"args": ["mcap-mcp-server[all]"]
}
}
}
没有安装,没有数据库,没有API密钥。需要 紫外线.
用法
只需与您的法学硕士交谈:
- “告诉我session_003.mcap中有哪些主题”
- “在session_017.mcap中,找到电压降至22V以下的所有时刻”
- “将IMU加速度与电机电流相关联。”
- “比较我最近5次跑步的平均电池电压”
- “我正在运行什么版本的mcap-mcp服务器?更新它”
工具
| 工具 | 需要加载 | 它的作用 |
|---|---|---|
list_recordings |
no | 在项目(或任何路径)中查找MCAP文件 |
get_recording_info |
no | 文件的元数据、频道、附件 |
get_schema |
no | SQL表名和列类型--用于查询规划 |
load_recording |
— | 将MCAP解码为DuckDB (LLM会自动调用此功能) |
query |
是 | 运行SQL(完整的DuckDB——包括ASOF JOIN) |
get_version |
否 | 服务器版本、可用解码器、升级命令 |
项目文档 --配置、Docker、开发设置和架构。
SQL示例(幕后)
-- 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
演出
元数据工具(list_recordings, get_recording_info, get_schema)返回 <1毫秒 而不管文件大小。SQL查询在中执行 1-20毫秒 一旦数据被加载。一次性 load_recording 成本随文件大小而变化:
| 消息 | 文件大小 | 加载时间 | 内存 | 查询时间 |
|---|---|---|---|---|
| 1K | 23 KB | 8毫秒 | <1 MB | 1毫秒 |
| 10K | 220 KB | 90毫秒 | 0.5 MB | 1–3毫秒 |
| 100K | 2.2 MB | 0.7秒 | 5 MB | 1-5毫秒 |
| 500K | 11 MB | 3.9秒 | 23 MB | 2-9毫秒 |
| 1M | 23 MB | 8秒 | 46 MB | 2-13毫秒 |
| 2M | 48 MB | 18秒 | 92 MB | 2-22毫秒 |
在Apple M4上使用JSON编码的消息进行测量,每条消息有5个字段。查询时间是聚合、过滤和窗口函数查询的中值。内存是DuckDB的内存占用(默认预算:2 GB)。
提示: 使用
topics和start_time/end_time过滤器打开load_recording只加载您需要的内容。
更新
uvx mcap-mcp-server[all] --upgrade
或者问你的法学硕士 get_version 工具返回运行版本和升级命令。
许可证
GNU通用公共许可证v3.0--请参阅 许可证.
