Skip to main content
Glama
christianclaudio

io.github.christianclaudio/espn

Teams Get Athlete Stats

teams_get_athlete_stats
Read-onlyIdempotent

Fetch an athlete's season and career totals and averages by sport, league, and athlete ID; use teams_search to find the ID.

Instructions

Fetch an athlete's season totals (e.g. a quarterback's passing yards for a season) and career totals and averages. Find the athlete_id with teams_search.

Input Schema

NameRequiredDescriptionDefault
sportYese.g. basketball
leagueYese.g. nba, eng.1
seasonNoEchoed only; ESPN returns every season's totals.
athlete_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv2.0.0
    • addedInput schema / properties / league / description
      Added value: +"e.g. nba, eng.1"
    • addedInput schema / properties / season / description
      Added value: +"Echoed only; ESPN returns every season's totals."
    • addedInput schema / properties / sport / description
      Added value: +"e.g. basketball"
  2. First observedv1.2.9

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered and the description adds nothing there. What it does add is a rough sketch of the returned payload (season totals, career totals, averages), which matters since there is no output schema, but it omits notable behavior such as the season parameter being echo-only.

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 tight sentences, front-loaded with the scope and return content, followed immediately by the prerequisite. Nothing is wasted and there is no boilerplate.

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?

Absent an output schema, the description usefully states what comes back, and it closes the athlete_id discovery gap. It stops short of explaining how season affects results or clarifying overlap with the gamelog/splits siblings, but nothing essential for a correct single call is missing.

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 75%, and the description compensates for the one undocumented parameter by telling the agent how to obtain athlete_id through teams_search. It adds real operational meaning beyond the schema for that gap, though it says nothing about sport/league value formats (which the schema does cover with examples).

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?

Clear specific verb+resource with an illustrative example ('a quarterback's passing yards for a season') and explicit scope (season totals plus career totals and averages). It distinguishes itself from stat siblings like teams_get_athlete_gamelog or teams_get_athlete_splits by naming the aggregate scope, though it never names those siblings directly.

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?

It provides one piece of actionable setup guidance -- resolve athlete_id via teams_search -- which is genuinely useful. However, it gives no when-to-use vs when-not guidance against the many stat-related siblings (teams_get_player_stats, teams_get_athlete_splits, teams_get_athlete_gamelog), leaving the agent to infer which stats tool fits.

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