Skip to main content
Glama

flash-props-api

Market metadata (stat vocabulary) for a sport

get_market_metadata
Read-onlyIdempotent

Return the machine-readable stat vocabulary for a sport: for each live market, its label, family, scope (map1/maps13/full_game), unit, display order, and whether a Flash projection is supported (with a reason when not). Read-only. No side effects. Rate-limited per your tier. Returns { sport, count, markets: Array<{ statKey, label, family, scopeKind, scope, scopeLabel, unit, displayOrder, uiGroup, projection: { supported, reason }, contextSupported, lineOnly, alternateLine }> }. This is what turns a raw stat key like "kills_on_game_1" into a labeled, scoped market so you can group props without guessing. Projection support is provider-driven per market, so partially modeled sports stay honest. When to use: after scan_props / get_game_props, to explain or group the raw stat keys you got back. When not to use: if you only need one sport's existence/access, list_sports already carries marketFamilies.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sportNoSport id (cod, nba, mlb, ...). Omit for the current in-season sport.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark the tool as read-only, idempotent, and non-destructive, but the description adds crucial context beyond those: it states 'Read-only. No side effects. Rate-limited per your tier.' It also discloses that projection support is provider-driven per market, so partially modeled sports stay honest, which is a behavioral nuance not captured in annotations. No contradiction exists.

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 longer than the average tool description but every sentence earns its place. It leads with the primary purpose, then lists return fields, then provides a concrete use case, then usage guidelines, then an exclusion. The structure is logical and front-loaded with the most decision-relevant information. A small cut could be made to the detailed field list, but it serves as a contract for the return shape and is not redundant.

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?

Given that this is a read-only metadata tool with a single optional parameter and no output schema, the description provides a complete picture: the full return shape, the purpose, the usage context, the rate-limit caveat, and the exclusion criterion. An agent has everything needed to decide when to call this tool and what to expect from the response, without needing to open the schema or infer anything.

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?

The single parameter 'sport' is already fully described in the schema ('Sport id (cod, nba, mlb, ...). Omit for the current in-season sport.'), and schema description coverage is 100%. The description does not add additional semantics about the parameter beyond the schema, which meets the baseline of 3 for full schema coverage. It does not hinder usage, but also does not add value beyond what the schema provides.

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-resource-scope triad: 'Return the machine-readable stat vocabulary for a sport.' It then enumerates exactly what is returned (label, family, scope, unit, display order, projection support) and provides a concrete example of its purpose: turning a raw stat key like 'kills_on_game_1' into a labeled, scoped market. It explicitly differentiates from the sibling list_sports by stating that list_sports already carries marketFamilies, so the agent knows exactly what this tool adds.

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 gives explicit usage guidance: 'When to use: after scan_props / get_game_props, to explain or group the raw stat keys you got back. When not to use: if you only need one sport's existence/access, list_sports already carries marketFamilies.' This directly answers when to use this tool versus alternatives, with a clear exclusion condition and a named alternative.

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.