That prefix is the design decision worth noticing: espn_, nhl_, openf1_, lichess_ — you always know where a number came from, and when two sources disagree you can see which is which. The default load is the keyless preset, so it is useful before you register anywhere; keys extend it into odds, esports and the larger soccer feeds. The matching caveat is that several of the free sources are unofficial endpoints, so one going quiet is an expected failure rather than a bug in the server.
An aggregator that puts many sports data providers behind a single server, each tool prefixed with the source it came from. Left unconfigured it loads the free preset: the providers that need no key at all.
- US leagues in depth — espn_ tools spanning 20+ sports, nhl_ down to play-by-play, box scores and per-player game logs, mlb_ down to at-bat-by-at-bat plays, line scores and league leaders
- College sports through ncaa_: scoreboard, AP and Coaches polls, standings, team schedules and player or team stats
- Formula 1 twice over — f1_ for results, qualifying, sprints, championship standings, lap times and pit stops back through the archive, and openf1_ for live-session telemetry: speed, RPM, gear, throttle, brake and DRS, tyre stints, intervals to the leader, race-control flags, weather and team radio
- Other motorsport: MotoGP sessions and classifications, Formula E races and both championship tables, and NASCAR schedule, live race feed and per-driver lap times
- Football from three angles — openliga_ for Bundesliga matchdays, tables and top scorers, sportsrc_ for live matches, tables and lineups, and footballdata_uk_ for historical results carrying bookmaker odds
- Chess from both sites: Lichess profiles, top players by variant, arena tournaments, official broadcasts and the daily puzzle; Chess.com profiles, stats per time control, clubs, monthly game archives and leaderboards
- Esports through opendota_ — pro matches and leagues, full match detail with items and gold, player profiles, per-hero win rates and the current meta
- Fantasy NFL through sleeper_: current week and season type, player search, trending adds and drops, leagues, rosters, weekly matchups and draft picks
- EuroLeague basketball down to box score and play-by-play, AFL through Squiggle including its prediction models and projected ladder, and TheSportsDB for teams, players and events across 40+ sports
- Keyed providers extend the same surface — API-Sports, PandaScore for esports, The Odds API — and a missing key never blocks startup: only the tools that need it fail, and only when called
Published as mcp-sports-hub and launched over stdio, on Node.js 18 or newer. SPORTS_HUB_PROVIDERS decides what loads: a comma-separated list of provider names, or one of the presets free, us-major, soccer, f1, motorsport, esports, odds, cricket, golf, chess and all. Unset, it loads the free preset — the no-key providers. Keys are per provider and free to obtain: API_SPORTS_KEY, PANDASCORE_TOKEN and THE_ODDS_API_KEY. Several of the keyless sources are unofficial endpoints, and each carries its own rate limit.
One command plus a key — npx mcp-sports-hub, then supply credentials
