Skip to main content
Glama

stl_rt_schema_census

Read-onlyIdempotent

Analyze stored feed snapshots to census which protobuf fields are populated and their fill rates, guiding Kotlin model decisions.

Instructions

Which protobuf fields this feed actually populates, and at what rate, across N stored snapshots.

Decides what to model in Kotlin: low-rate fields can be skipped in v1, and any path reported as unmodelled is present in the bytes but missing from the schema map, which needs investigating before porting.

Args: samples: how many recent snapshots to census.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entityNotrip_updates
samplesNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Beyond the read-only annotation, the description discloses key behavioral nuances, such as reporting population rates and distinguishing unmodelled paths that are present in bytes but missing from the schema map. It does not describe the output shape, but an output schema is present.

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

Conciseness5/5

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

The description is concise and well structured, with the purpose stated first followed by the practical decision context and parameter explanation. No unnecessary fluff is present.

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

Completeness3/5

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

The description covers the core purpose, decision context, and one of two parameters. However, it omits the 'entity' parameter and does not clarify how the output should be interpreted beyond the unmodelled-path note.

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

Parameters2/5

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

Only 'samples' is explained in the description, as 'how many recent snapshots to census.' The 'entity' parameter is left undocumented, despite having a default value of 'trip_updates' and likely controlling which feed entity is analysed.

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?

The description clearly identifies the tool's purpose: determining which protobuf fields a feed actually populates and at what rate across stored snapshots. This is distinct from the sibling RT tools (decode, wire, reference, stop_arrivals), which focus on other aspects of real-time data.

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?

The description explains when to use the tool by framing it around Kotlin modeling decisions: low-rate fields can be skipped and unmodelled paths need investigation. It does not explicitly compare against alternatives, but the intended workflow use is clear.

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