Skip to main content
Glama

capture_frames

Read-only

Re-frame a recorded capture's byte stream into timestamped frames by applying a device profile or explicit framing, with pagination—no hardware needed.

Instructions

Re-frame a recorded capture's byte stream: tx and rx each run through a deframer and come back as timestamped frames, paginated by cursor/max_frames. Framing comes from the explicit framing object or the named device's profile — one of the two is required, nothing is assumed. Idle-gap framing is driven by the recorded timestamps, so boundaries match what a live session would have produced. Reads captures/.obcap — no hardware. The result declares view:{kind:"capture"} for show_result.

Input Schema

NameRequiredDescriptionDefault
pathYesCapture file directly under captures/
to_msNoOnly frames at or before this wall-clock ms
cursorNoContinue a previous page: the next_cursor it returned
deviceNoWorkspace device whose profile framing to deframe with
framingNoOne of {delimiter}|{idle_ms}|{length_prefix:{header_len,len_at,len_size,endian,extra}}; overrides device
from_msNoOnly frames at or after this wall-clock ms
max_framesNo
max_inline_bytesNoResult JSONs longer than this many bytes are written in full to .openbaud/out/ and returned as a summary carrying a full_result path — keeps huge payloads out of your context. Raise it to force large results inline.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/non-destructive annotations: it discloses pagination (cursor/max_frames), that idle-gap boundaries mirror a live session, that framing is required and never assumed, and that oversized JSON is offloaded to .openbaud/out/ with a summary plus full_result path. It also declares the view:{kind:"capture"} routing for show_result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded, leading with the core operation before constraints. Every sentence carries information (framing requirement, no hardware, timestamp-driven boundaries, view routing), though the density borders on terse for an 8-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nested-object, 8-param tool with no output schema, the description covers the key return behaviors (paginated timestamped frames, offload-to-file summaries, view hint) and the framing resolution rule. A little more on the shape of each frame could help, but the essential calling context is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 88% schema coverage the baseline is 3, but the description adds real value: the framing-overrides-device precedence, the idle-gap/timestamp semantics that drive from_ms/to_ms boundaries, and the cursor-based pagination intent. These clarify how the documented params interact rather than merely restating them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: re-framing a recorded capture's byte stream into timestamped frames, split by tx and rx. This clearly distinguishes it from capture_start/capture_stop (live capture) and diagnose_frame (single frame analysis). An agent knows exactly what operation this is.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives strong context: it reads captures/<file>.obcap with no hardware, and requires either an explicit framing object or a named device profile ('one of the two is required, nothing is assumed'). This tells the agent when it applies (post-capture, file-based) but stops short of explicitly naming which sibling to use instead for live capture.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.