Skip to main content
Glama

records

Read-only

List decoded stream transactions as a table with start/end times and fields, then filter, group, or count them to inspect protocol activity.

Instructions

Records of a decoded stream, or of several in start order (a decode's name: its results), as a table: n, start (the rising edge that starts the record's first clock cycle), end (the edge that samples its last) and the fields; where, group_by, count_only (help records).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "stream": "<stream>"
    },
    "name": "records"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoRecords starting at or before this time; default the end.
fromNoRecords starting at or after this time; default the start.
unitNoThe unit of the answer's times, `ns`, `us` (`help times`).
countNoHow many records to list; default 20.
radixNohex, dec, ... for every field (`help radix`); `len:dec` for one, several with commas.
whereNoOnly the records this holds for: `resp != 0`, `n == 138`, `req_addr != resp_addr` (`help records`).
streamYesA stream, e.g. `bus.wr`; a decode's name for its results, `bus`; a pattern, `/^bus\./`; or several, space-separated (`help records`).
group_byNoFields to group by: a line per distinct value, with its count.
count_onlyNoOnly count the records; no list.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.4.0
    • changedInput schema / properties / stream / description
      Previous value: -"A stream, e.g. `bus.wr`; a decode's name for its results, `bus`; a glob, `bus.*`; or\nseveral, space-separated (`help records`)."New value: +"A stream, e.g. `bus.wr`; a decode's name for its results, `bus`; a pattern, `/^bus\\./`;\nor several, space-separated (`help records`)."
    • changedInput schema / properties / unit / description
      Previous value: -"As for `values`."New value: +"The unit of the answer's times, `ns`, `us` (`help times`)."
  2. First observedv0.3.0

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare this a safe, closed read (readOnlyHint=true, openWorldHint=false), so the description's job is to add output and ordering context — and it does, describing the result as a table with named columns and noting the ordering when multiple streams are named. With no output schema present, this return-shape detail is genuinely useful. It says nothing about result size limits beyond the schema's count default.

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?

A single front-loaded sentence that spends no words on filler; the resource and the output shape come first, with filtering levers after. The nested parentheticals ('a decode's name: its results') make it dense and slightly hard to parse, but each clause carries information.

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 nine-parameter, no-output-schema query tool with minimal annotations, the definition covers the two things structured data cannot: what the returned table looks like and how records are ordered. Remaining gaps (time-unit format details, what happens on ambiguous stream names) are delegated to the schema and to `help records`, which is a reasonable division of labor.

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

Parameters3/5

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

Schema coverage is 100%, so every parameter (from, to, unit, radix, where, stream, group_by, count_only, count) is already documented in the schema. The description restates where, group_by, and count_only but adds no new syntax or semantic detail beyond what those schema strings already say. Baseline 3 is appropriate.

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

Purpose4/5

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

The description names a concrete resource (records of a decoded stream, or of several streams in start order) and even enumerates the returned table's columns (n, start, end, fields), so an agent knows exactly what it fetches. The tool name alone ('records') is vague, but the sentence compensates. It stops short of differentiating itself from siblings like values, view, or find.

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

Usage Guidelines2/5

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

Usage is only implied: the description says what records are and mentions the where/group_by/count_only levers, plus a pointer to `help records`. There is no statement of when to prefer this over retrieving values or a view, and no exclusions or prerequisites.

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