Skip to main content
Glama

mlb_statcast_abs_challenges

Read-only

Fetch Baseball Savant ABS challenge rankings for batters, catchers, pitchers, teams, or league totals with the supplied filters. Use mlb_discovery for accepted filter values.

Input Schema

NameRequiredDescriptionDefault
levelNoOptional competition level: mlb or aaa.
splitsNoOptional repeated split dimensions from mlb_discovery.statcast_abs_challenge_filters.splits.
seasonsNoOptional repeated season values from mlb_discovery.statcast_abs_challenge_filters.seasons.
leverageNoOptional leverage: empty, vlow, low, med, or high.
breakevenNoOptional challenge breakeven band: empty, low, med, high, or vhigh.
data_modeNoOptional view: for or against.
data_countNoOptional count basis: chal or runs.
game_typesNoOptional repeated game type codes: R, S, F, D, L, or W.
split_yearNoOptional split-season display: 1 or 0.
ball_strikeNoOptional pitch location: empty, in, or out.
pitch_typesNoOptional repeated pitch type codes from mlb_discovery.statcast_abs_challenge_filters.pitch_types.
shadow_zonesNoOptional repeated shadow-zone codes from mlb_discovery.statcast_abs_challenge_filters.shadow_zones.
challenge_typeNoOptional board group: batter, batting-team, catcher, pitcher, catching-team, team-summary, or league.
min_challengesNoOptional minimum challenges: 0, 1, 2, 5, 10, or 20.
opponent_team_idsNoOptional repeated MLB team ids from mlb_discovery.statcast_abs_challenge_filters.team_ids.
challenge_team_idsNoOptional repeated MLB team ids from mlb_discovery.statcast_abs_challenge_filters.team_ids.
min_opponent_challengesNoOptional minimum opponent challenges: 0, 1, 2, 5, 10, or 20.

Output Schema

NameRequiredDescriptionDefault
dataYesThe tool result payload (shape varies per tool; see each tool's docs resource).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / challenge_team_ids / items / description
      Added value: +"Documented values: 141, 110, 139, 111, 147, 114, 118, 116, 142, 145, 108, 117, 133, 136, 140, 144, 146, 121, 120, 143, 158, 138, 112, 134, 113, 109, 119, 137, 135, 115."
    • addedInput schema / properties / game_types / items / description
      Added value: +"Documented values: R, S, F, D, L, W."
    • addedInput schema / properties / opponent_team_ids / items / description
      Added value: +"Documented values: 141, 110, 139, 111, 147, 114, 118, 116, 142, 145, 108, 117, 133, 136, 140, 144, 146, 121, 120, 143, 158, 138, 112, 134, 113, 109, 119, 137, 135, 115."
    • addedInput schema / properties / pitch_types / items / description
      Added value: +"Documented values: FF, SI, FC, CH, FS, FO, SC, CU, SL, ST, SV, KN."
    • addedInput schema / properties / seasons / items / description
      Added value: +"Documented values: 2025, 2026."
    • addedInput schema / properties / shadow_zones / items / description
      Added value: +"Documented values: 11, 12, 13, 14, 16, 17, 18, 19."
    • addedInput schema / properties / splits / items / description
      Added value: +"Documented values: api_game_date_month_text, game_type, bat_position_code, lineup_cd, leverage_run_value_code, is_strike_calc, home_away, api_pitch_type_group03, gameday3_pitchzone_cd, abschallenge_breakeven_code."
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that filters are user-supplied and that accepted values live in mlb_discovery, but discloses nothing beyond that (no rate limits, caching, or data-freshness notes). Reasonable but thin against an already-covered annotation set.

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?

Two sentences, zero filler, with the core purpose front-loaded ahead of the discovery pointer. Every clause earns its place.

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?

With an output schema present, return values need no explanation, and the 17 parameters are fully documented in the schema. The description covers entity scope and points to mlb_discovery for accepted values, leaving it adequately complete, though it omits any mention of default behavior when no filters are supplied.

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 description coverage is 100%, so every parameter (level, splits, seasons, challenge_type, etc.) is already documented in the schema with enumerated values. The description adds no syntax or semantic detail beyond the entity-type framing, so the baseline of 3 applies.

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?

Names a specific verb ("Fetch") and a precise resource (Baseball Savant ABS challenge rankings) and enumerates the entity groupings covered (batters, catchers, pitchers, teams, league totals). An agent can tell what it returns without opening the schema, though it does not explicitly differentiate itself from the many sibling mlb_statcast_* tools.

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

Usage Guidelines3/5

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

The only routing guidance is "Use mlb_discovery for accepted filter values," which addresses how to populate filters, not when to choose this tool over sibling statcast tools. Usage is implied by the listed entity types and optional filters, but there are no when/when-not exclusions.

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.