Skip to main content
Glama

Get caliber market snapshot

get_market_snapshot
Read-only

Caliber-level price distribution (median, p25, p75, min, max) over a rolling window. Purely descriptive statistics with methodology and sample counts; never a forecast or recommendation. Returns error_v1 NOT_FOUND when no snapshot exists for the caliber/window. When extremaSuppressedByPolicy is true, min, max and both segments.*.min / segments.*.max are null BY POLICY rather than for lack of data: that caliber's published extremes are withheld pending revalidation. The median, quartiles, p95, segment medians and counts remain valid and complete — p95 is a percentile over the whole window rather than a single observation, so it is not withheld. Do not infer or substitute a floor for those calibers, and do not treat p95 as a stand-in for the withheld max. This is distinct from dataStatus: "INSUFFICIENT_DATA", which means the sample was too thin to compute anything.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
caliberYesCanonical caliber, e.g. "9mm".
windowDaysNoRolling window in days. 7 or 30; defaults to 30.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint. The description adds substantial behavioral detail: the null-by-policy semantics for min/max when extremaSuppressedByPolicy is true, that p95 is not withheld, the NOT_FOUND error code, and the distinction from INSUFFICIENT_DATA. This goes far beyond the annotation baseline and fully discloses edge-case behaviors.

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 relatively long but every sentence earns its place: it covers the result set, methodology, error handling, policy caveats, and edge-case distinctions. It is front-loaded with the core purpose and does not contain filler or redundancy. The complexity of the tool justifies the length.

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

Completeness5/5

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

With no output schema, the description takes on the burden of explaining return values and behavior. It thoroughly describes the statistics, the null semantics, the error code, and the dataStatus variants. An agent can accurately anticipate the response shape and handle all documented cases, leaving almost no ambiguity.

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%: both parameters (caliber and windowDays) already have descriptive comments. The description adds no direct parameter-level details beyond what the schema provides, though it does clarify how the rolling window and caliber affect the snapshot. Since the schema carries the full burden, baseline 3 is appropriate.

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 states a specific resource (market snapshot) and the exact statistics returned (median, p25, p75, min, max) over a rolling window. It explicitly notes this is 'purely descriptive statistics' and 'never a forecast', clearly distinguishing it from any predictive or recommendation tool. Although it doesn't name a sibling, the clarity of the resource and scope makes it distinct from get_product, list_calibers, list_retailers, and search_offers.

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 gives a clear when-not: 'never a forecast or recommendation' and clarifies that the tool is for descriptive statistics only. It also distinguishes between the 'extremaSuppressedByPolicy' and 'INSUFFICIENT_DATA' states, helping agents interpret results correctly. However, it does not explicitly mention alternative tools for other needs (e.g., search_offers for individual listings), so it stops short of a full 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: market statistics, product lookup, caliber directory, retailer directory, and offer search. There is no meaningful overlap between get_product and search_offers because one is a direct single-item fetch and the other is a multi-result search.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern: get_ for single-item fetches, list_ for enumerations, and search_ for queries. The naming is uniform and predictable.

Tool Count5/5

Five tools is well-scoped for a read-only market data service. Each tool covers a necessary capability without redundancy or bloat.

Completeness5/5

The tool set provides full coverage for its descriptive market-intelligence purpose: listing reference data (calibers, retailers), searching/fetching products and offers, and retrieving aggregate price statistics. No obvious CRUD or operational gaps exist because the service is explicitly read-only.

Resources