Skip to main content
Glama
DanielTomaro13

sportsdata-mcp

balldontlie_nba_stats

Read-onlyIdempotent

Retrieve NBA player per-game box-score statistics for specific players, seasons, dates, or games.

Instructions

Per-player, per-game NBA box-score lines.

Returns: {data:[{id, min:'34:12', fgm, fga, fg_pct, fg3m, fg3a, ftm, fta, oreb, dreb, reb, ast, stl, blk, turnover, pf, pts, player:{…}, team:{…}, game:{…}}], meta:{next_cursor}} — SHAPE FROM VENDOR DOCS. min is a 'MM:SS' STRING, not a number.

NOTE: this shape is from the vendor's documentation and has NOT been verified against a live response (we hold no key for this provider). Treat it as approximate — inspect the actual payload before relying on a field name.

Example: A player's game lines {"player_ids": ["115"], "seasons": ["2023"]}

Auth: needs your own key in BALLDONTLIE_API_KEY.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
datesNoYYYY-MM-DD.
cursorNoCursor from the previous page.
seasonsNoSeason start years.
game_idsNoGame ids.
per_pageNoPage size (max 100).
player_idsNoPlayer ids.
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, and the description adds substantial context beyond that: the full response shape with field names, the specific gotcha that `min` is a 'MM:SS' string not a number, an honest warning that the shape is unverified vendor documentation and should be inspected against a live payload, and the auth requirement for BALLDONTLIE_API_KEY. No contradiction with annotations.

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 front-loaded with the purpose, followed by a dense but useful return-shape block, a crucial unverified-data caveat, an example, and an auth note. It is longer than minimal descriptions, but every section earns its place given the lack of an output schema and the need to warn about payload reliability.

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?

With no output schema, the description fully carries the burden of explaining return values: it provides a detailed data shape, explicitly flags the unverified nature of that shape, covers the min field type quirk, gives an example invocation, and states auth requirements. This is complete for a read-only data-fetching tool with a well-documented schema.

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% with each of the 6 parameters already described (dates, cursor, seasons, game_ids, per_page, player_ids). The description adds marginal value via the example showing player_ids and seasons used together and the return-shape note linking cursor to meta.next_cursor, but the schema carries the heavy lifting.

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 'Per-player, per-game NBA box-score lines' — a specific resource (NBA box-score lines) with clear per-player/per-game scoping. This distinguishes it from sibling balldontlie tools like balldontlie_nba_games, balldontlie_nba_players, balldontlie_nba_season_averages, and balldontlie_nba_standings.

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 description gives clear context for use via the purpose statement and a concrete example query ({"player_ids": ["115"], "seasons": ["2023"]}), which implicitly shows how to filter for a player's game lines. However, it does not explicitly name alternatives or state when not to use this tool versus sibling balldontlie tools.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DanielTomaro13/sportsdata-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server