The two questions people actually ask — what is happening right now, and how does that compare — usually mean two sources. Here the live play-by-play and a player's career splits come from one server, and teams can be named instead of looked up by ID.
A reader for NBA statistics and live game data. Live scoreboards, box scores and play-by-play come from games in progress; the historical side covers player careers, team game logs, standings and league-wide team statistics.
- Today's scoreboard with game IDs, start times, scores and broadcast details — and the scoreboard for any other date
- A live box score and live play-by-play for a game ID, including scoring plays, fouls, timeouts and substitutions
- Player biography, and career statistics per game, as totals or per 36 minutes
- A player's game logs across a date range, and the list of currently active players
- Team game logs and team statistics looked up by name, so the numeric ID is not needed
- Standings for a season and season type, and statistics for all teams across multiple seasons
- Game results for a team over a date range
Python, run as a local script — it calls the NBA API over the network. Requests carry a timeout, so a slow call fails rather than hangs.
One command — docker exec -i nba_mcp_server python nba_server.py
