Skip to main content
Glama

Agentic Dealer Network

Count and summarize network inventory

inventory_stats
Read-onlyIdempotent

Aggregate available inventory across the network in ONE call: counts, effective-price min/median/max and the top values per facet. Example: {"dimensions": ["make_model", "body_style"], "condition": "used", "rooftop_slugs": ["mms"]}. Geo (latitude and longitude, optional radius_miles) and oem_program_slug scope exactly as network_search. Pivot mode (group_by, up to 2 of the facets plus state, dealer_group, price_band, age_band) returns one row per group with count and medians; dimensions and group_by are mutually exclusive; format csv returns the rows as CSV. Pass country=CA for Canadian dealers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
makeNo
trimNo
modelNo
formatNo
countryNoMarket to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles.US
group_byNo
latitudeNo
conditionNo
fuel_typeNo
longitudeNo
price_maxNoMaximum expiry-gated effective price.
price_minNoMinimum expiry-gated effective price.
body_styleNo
dimensionsNoOne to four unique facets. make_model values join nonblank make and model with one space; rooftop values are rooftop slugs.
drivetrainNo
is_certifiedNo
odometer_maxNo
radius_milesNo
transmissionNo
rooftop_slugsNoRestrict the single-snapshot aggregation to these network rooftops.
exterior_colorNo
interior_colorNo
model_year_maxNo
model_year_minNo
oem_program_slugNo
passenger_capacity_minNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / country
      Added value: +{
      +  "default": "US",
      +  "description": "Market to search; rooftops in the other country are excluded. Prices are in that country's currency; the radius stays in miles.",
      +  "enum": [
      +    "US",
      +    "CA"
      +  ],
      +  "type": "string"
      +}
  2. Changed8 schema fields changed
    • changedInput schema / description
      Previous value: -"Categorical arrays are ORed within their field; separate filter fields are ANDed together. Aggregation has no pagination or sorting input."New value: +"Categorical arrays are ORed within their field; separate filter fields are ANDed together. Aggregation has no pagination or sorting input. Server-enforced: latitude requires longitude; longitude requires latitude; radius_miles requires latitude and longitude. Exactly one of dimensions | group_by is required. Additional argument rules are enforced server-side."
    • addedInput schema / properties / format
      Added value: +{
      +  "enum": [
      +    "json",
      +    "csv"
      +  ]
      +}
    • addedInput schema / properties / group_by
      Added value: +{
      +  "items": {
      +    "enum": [
      +      "make",
      +      "model",
      +      "make_model",
      +      "condition",
      +      "body_style",
      +      "fuel_type",
      +      "drivetrain",
      +      "exterior_color",
      +      "model_year",
      +      "rooftop",
      +      "state",
      +      "dealer_group",
      +      "price_band",
      +      "age_band"
      +    ]
      +  },
      +  "maxItems": 2,
      +  "minItems": 1,
      +  "type": "array",
      +  "uniqueItems": true
      +}
    • addedInput schema / properties / latitude
      Added value: +{
      +  "maximum": 90,
      +  "minimum": -90,
      +  "type": "number"
      +}
    • addedInput schema / properties / longitude
      Added value: +{
      +  "maximum": 180,
      +  "minimum": -180,
      +  "type": "number"
      +}
    • addedInput schema / properties / oem_program_slug
      Added value: +{
      +  "maxLength": 80,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / radius_miles
      Added value: +{
      +  "exclusiveMinimum": 0,
      +  "maximum": 500,
      +  "type": "number"
      +}
    • removedInput schema / required
      Removed value: -[
      -  "dimensions"
      -]
  3. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds meaningful behavioral context beyond that: the single-call aggregation semantics, the mutually exclusive dimensions/group_by modes, the CSV format behavior, and the country-specific currency/radius behavior. It doesn't disclose every server-side rule, but the schema's description covers those. The only minor gap is not stating what happens when no inventory matches, but that's a small omission given the annotation coverage.

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?

The description is dense but well-structured: it front-loads the core purpose, then gives an example, then explains pivot mode, then the format option, then the country note. Every sentence adds information. It's slightly long, but for a 26-parameter aggregation tool with two modes, the density is justified. The example JSON is a good use of space.

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 complex aggregation tool with 26 parameters, no output schema, and two mutually exclusive modes, the description covers the key decision points: what the tool returns, how to switch modes, how to get CSV, how to scope to Canada, and how geo scoping relates to network_search. The schema's own description covers the AND/OR filter semantics and server-enforced rules. The only notable omission is a description of the output shape for the non-CSV case, but the description's mention of 'counts, effective-price min/median/max and the top values per facet' gives a reasonable picture.

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?

Schema description coverage is only 19%, so the description must compensate, and it does. It explains the dimensions facet semantics (make_model joins make+model, rooftop values are slugs), the group_by facet list, the mutual exclusivity of dimensions and group_by, the CSV output behavior, and the country/currency/radius behavior. It also gives a concrete JSON example. It doesn't enumerate all 26 parameters, but the schema's own descriptions cover country, price_min/max, dimensions, and rooftop_slugs, and the description adds the most important cross-parameter semantics.

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 opens with a specific verb ('Aggregate'), a clear resource ('available inventory across the network'), and the exact outputs (counts, effective-price min/median/max, top values per facet). It also distinguishes itself from siblings by noting geo and oem_program_slug scope 'exactly as network_search' and by describing pivot mode, which no sibling name suggests. An agent can tell this is the aggregation/summary counterpart to network_search and inventory_get without opening the schema.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: 'in ONE call' for aggregate inventory stats, and it contrasts with network_search by saying geo and oem_program_slug scope 'exactly as network_search' — implying network_search is the row-level search while this is the aggregate. It also gives concrete usage examples, explains the mutually exclusive dimensions/group_by modes, and notes the country=CA variant. This is strong routing guidance.

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.

Resources