MCAP MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_recordingsA | Discover available MCAP recording files. Does not require loading. Returns file names, sizes, durations, channel lists, and message counts. Use this first to see what data is available before loading. By default scans the project directory; pass an absolute 'path' to scan any directory on the filesystem. |
| get_recording_infoA | Get full metadata, channel details, and attachment list for a specific MCAP recording file. Does not require loading. Use this for detailed inspection before loading data. |
| get_schemaA | Inspect the SQL schema for a recording: topic names, table names, column names and DuckDB types. Does not require loading. Use this to plan SQL queries before running them. Returns a sql_hint with JOIN guidance. |
| load_recordingA | Decode an MCAP file and load its data into DuckDB for SQL querying. This decodes all messages and may take seconds to tens of seconds depending on file size. You must call this before running queries. For large files, use 'topics' to load only the topics you need and 'start_time'/'end_time' to narrow the time window — this significantly reduces both load time and memory usage. Set an alias for multi-recording comparison. |
| queryA | Execute a SQL query against loaded MCAP data. Supports full DuckDB SQL including JOINs, GROUP BY, window functions, and ASOF JOIN for time-series correlation. Data must be loaded first via load_recording. If a table is missing, call load_recording with the needed topic. |
| get_versionA | Return the server version, supported encodings, and upgrade command. Use this to check for updates or diagnose compatibility issues. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a clearly distinct purpose: listing, inspecting, schema inspection, version info, loading, and querying. There is no ambiguity or overlap.
All tool names follow a consistent verb_noun snake_case pattern (e.g., list_recordings, load_recording). Even 'query' fits as a single verb without a noun, maintaining uniformity.
With 6 tools, the server is well-scoped for its domain of MCAP recording management. Each tool serves a necessary step in the workflow without redundancy.
The tool surface covers the full lifecycle: discovery, inspection, loading, and querying. No obvious gaps exist for typical usage scenarios.