Skip to main content
Glama

Historical Baseball

Baseball Season Leaders

baseball_season_leaders
Read-onlyIdempotent

Top players in one MLB season for one statistic, from the SABR Lahman Baseball Database. Batting stats: HR, AVG, RBI, R, H, SB, BB, SO, 2B, 3B (AVG = hits/at-bats, qualified at a simple AB>=100 floor -- NOT MLB's official plate-appearance qualifying rule, so this can include players who would not qualify for an official batting title). Pitching stats: W, ERA, SO_P, SV, L, WHIP (SO_P = pitcher strikeouts, to avoid colliding with batting SO; ERA and WHIP are qualified at a simple IPouts>=100 i.e. ~33 innings floor, also not the official rule). Pass stat exactly as listed (case-sensitive). Optionally scope to one league ("AL" or "NL"; pre-1901 leagues like "NA", "AA", "UA", "PL" also appear in the data). limit caps how many rows come back (default 10, max 50). An unrecognized stat name is refused with the list of valid ones, never an empty success.

Input Schema

NameRequiredDescriptionDefault
statYesOne of: HR, AVG, RBI, R, H, SB, BB, SO, 2B, 3B, W, ERA, SO_P, SV, L, WHIP.
yearYesSeason year, e.g. 1998.
limitNoMax rows to return, 1-50. Default 10.
leagueNoOptional: scope to one league code ("AL", "NL", or an historical league code).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them: exact qualification floors (AB>=100, IPouts>=100), the explicit warning that these are NOT official MLB rules, case-sensitivity of stat, and the refusal behavior for unrecognized stats (never an empty success). This is unusually rich behavioral disclosure.

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?

Front-loaded with the core purpose, then constraints. The stat enumeration partially duplicates schema content, and the long parenthetical qualification clauses make it dense, but nearly every sentence carries information an agent needs.

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?

No output schema exists, and the description only implies the return shape via 'limit caps how many rows come back' without describing row fields (player name, value, team?). Given the tool's simplicity and the otherwise thorough stat/qualification docs, this is a minor gap.

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 coverage is 100%, so baseline is 3, but the description adds real meaning: it explains SO_P disambiguation from batting SO, notes that AVG is hits/at-bats, lists historical league codes (NA, AA, UA, PL) beyond the schema's vague 'historical league code', and restates the default/max for limit.

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?

States a specific verb and resource: top players in one MLB season for one statistic, from the SABR Lahman database. This is clearly distinguishable from siblings like baseball_player_history (career/multi-season) and baseball_team_season (team-scoped).

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 single-season, single-stat framing gives clear implicit conditions for use, and league scoping is explained. However, it never explicitly says when to prefer a sibling (e.g. baseball_player_history for career totals), so the agent must infer the boundary.

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.