chesscom_get_club
Get Chess.com club details by URL id (the slug after /club/ in the web URL).
Live scores, standings, rosters, race telemetry and betting odds across dozens of sports from one server — and most of it works before you sign up for anything.
LABSCO SUMMARY
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.
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 — npx mcp-sports-hub
USE CASES
One scoreboard call covers whichever league you name, and the league-specific tools give final scores with the detail behind them.
Lap timing and intervals show the race shape, stints show the tyre strategy, and race control and weather explain the rest.
Play-by-play plus the box score gives every at-bat or possession alongside the per-player numbers.
Trending adds and drops over a lookback window, this week's matchups, and every roster in the league with its record.
Per-variant ratings on Lichess and per-time-control stats on Chess.com, from the two public APIs, in one conversation.
footballdata_uk_get_matches returns past results together with the bookmaker prices, and the league table gives the context they sat in.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
chesscom_get_clubGet Chess.com club details by URL id (the slug after /club/ in the web URL).
chesscom_get_country_playersGet the list of titled Chess.com players from a country (returns usernames and titles).
chesscom_get_leaderboardsGet Chess.com global leaderboards across all categories (daily, daily960, live_rapid, live_blitz, live_bullet, tactics, rush, battle).
chesscom_get_playerGet a Chess.com player's public profile (name, country, joined date, last online, title, etc.).
chesscom_get_player_archivesList the YYYY/MM archive URLs containing a player's monthly game history.
chesscom_get_player_clubsGet the list of Chess.com clubs a player belongs to (with last-activity timestamps).
chesscom_get_player_statsGet a Chess.com player's stats by time control (daily, rapid, blitz, bullet) and chess960, with current ratings, best, and W/L/D records.
espn_get_athleteGet information about a specific athlete, including bio, stats, and career history.
espn_get_event_summaryGet a detailed summary of a specific event/game, including play-by-play, box score, leaders, and game info.
espn_get_newsGet the latest news articles for a sport/league, including headlines, descriptions, and links.
espn_get_scoreboardGet live or date-specific scores for a sport/league. Returns current scoreboard with game status, scores, and basic game info.
espn_get_seasonsGet available seasons for a sport/league, including season types (preseason, regular, postseason) and date ranges.
espn_get_standingsGet league standings. Returns conference/division standings with team records, win/loss, and ranking info.
espn_get_team_detailsGet detailed information about a specific team, including record, stats, venue, and next event.
espn_get_team_rosterGet the full roster for a specific team, including player names, positions, jersey numbers, and basic stats.
espn_get_team_scheduleGet a team's schedule for a season, including past results and upcoming games.
espn_get_teamsList all teams in a league. Returns team names, IDs, abbreviations, logos, and locations.
euroleague_get_clubsList the clubs participating in a EuroLeague/EuroCup season (names, codes, venues, country).
euroleague_get_game_boxscoreGet a game's full box score (per-player and team stats for both teams). Use a game code from euroleague_get_games.
euroleague_get_game_headerGet a game's header/summary: final and per-quarter scores, teams, coaches. Use a game code from euroleague_get_games.
euroleague_get_game_playbyplayGet a game's full play-by-play feed (every event by quarter). Use a game code from euroleague_get_games.
euroleague_get_gamesGet all EuroLeague/EuroCup games for a season (teams, scores, dates, round, status).
euroleague_get_roundsList the rounds (game days) of a EuroLeague/EuroCup season.
f1_get_circuitsList Formula 1 circuits for a given season or all-time. Returns circuit names, locations, and coordinates.
f1_get_constructor_standingsGet Formula 1 World Constructors' Championship standings for a given season.
f1_get_constructorsList Formula 1 constructors/teams for a given season or all-time.
f1_get_driver_resultsGet all race results for a specific driver in a given season. Use driver IDs like 'hamilton', 'max_verstappen', 'leclerc'.
f1_get_driver_standingsGet Formula 1 World Drivers' Championship standings for a given season.
f1_get_driversList Formula 1 drivers for a given season or all-time. Returns driver IDs, names, nationalities, and other info.
f1_get_lap_timesGet lap times for a specific race. Can return all laps or a specific lap number. Data available from 1996 onwards.
f1_get_pit_stopsGet pit stop data for a specific race. Can return all pit stops or a specific stop number. Data available from 2012 onwards.
f1_get_qualifyingGet Formula 1 qualifying results. Returns Q1/Q2/Q3 times for drivers in a specific qualifying session.
f1_get_race_resultsGet Formula 1 race results. Returns finishing positions, drivers, constructors, times, and status for a season or specific round.
f1_get_scheduleGet the Formula 1 race schedule/calendar for a given season, including circuit info and race dates.
f1_get_seasonsList all Formula 1 seasons from 1950 to present, including Wikipedia links.
f1_get_sprintGet Formula 1 sprint race results for a specific round.
footballdata_uk_get_matchesGet historical matches (results + bookmaker odds) for a league and season from football-data.co.uk. Returns the most recent matches first; filter by team and cap with limit.
footballdata_uk_list_leaguesList the football-data.co.uk league codes usable with footballdata_uk_get_matches, and how to form the season code.
formulae_get_championshipsList Formula E championships (one per season, from 2014-15 to the current season) with their ids and status. The id (championshipId) feeds the standings tools.
formulae_get_driver_standingsGet the Formula E drivers' championship standings for a championship (season). Pass a championshipId from formulae_get_championships.
formulae_get_raceGet details for a single Formula E race (sessions, circuit, schedule). Use a race id from formulae_get_races.
formulae_get_race_resultsGet the race results / classification for a Formula E race (driver, team, position, points). Use a race id from formulae_get_races.
formulae_get_racesList Formula E races / E-Prix with id, name, country, city, date and result-availability flags. Paginated — use page to advance. Each race id feeds formulae_get_race / formulae_get_race_results.
formulae_get_team_standingsGet the Formula E teams' championship standings for a championship (season). Pass a championshipId from formulae_get_championships.
formulae_get_teamsList Formula E teams with wins, podiums and race starts.
lichess_get_broadcastsList official Lichess broadcast tournaments (live coverage of OTB events). Returns up to ~20 most recent.
lichess_get_daily_puzzleGet the Lichess puzzle of the day, including the source game and the solution moves.
lichess_get_teamGet information about a Lichess team: description, member count, leader, open/closed status.
lichess_get_top_playersGet the top N players for a Lichess performance variant (bullet, blitz, rapid, classical, etc.).
lichess_get_tournamentsGet current Lichess Arena tournaments (created, started, and recently finished).
lichess_get_userGet a Lichess user's public profile, including per-variant ratings, played games, and account flags.
lichess_get_users_statusGet realtime online + streaming status for up to 100 Lichess users in a single call.
mlb_get_divisionsList all MLB divisions with their IDs, names, and associated leagues.
mlb_get_gameGet detailed game data from the live feed including plays, box score, and line score.
mlb_get_game_boxscoreGet the box score for a game with full batting and pitching stats for both teams.
mlb_get_game_linescoreGet the line score (inning-by-inning scoring summary) for a game.
mlb_get_game_play_by_playGet play-by-play data for a specific game including all at-bats and pitches.
mlb_get_league_leadersGet league stat leaders for categories like home runs, batting average, ERA, strikeouts, etc.
mlb_get_playerGet detailed player information including bio, position, and optionally hydrated stats.
mlb_get_player_statsGet detailed statistics for a player by stat type and group.
mlb_get_scheduleGet the MLB game schedule for a date or date range. Returns games with scores, status, and teams.
mlb_get_standingsGet league standings with win/loss records, division ranks, and streaks.
mlb_get_team_rosterGet a team's roster with player names, positions, jersey numbers, and status.
mlb_get_teamsList MLB teams with their IDs, names, venues, divisions, and leagues.
mlb_search_playersSearch for players by name. Returns matching players with their IDs, teams, and positions.
motogp_get_categoriesList the racing categories (MotoGP, Moto2, Moto3, MotoE) for a season, with their UUIDs. Use a seasonUuid from motogp_get_seasons; the returned categoryUuid feeds sessions and standings.
motogp_get_eventsList the events (Grands Prix) in a season with circuit, country and dates. Each event's UUID feeds motogp_get_sessions.
motogp_get_ridersList MotoGP riders with their profile data (name, number, country, team). Optionally filter by category UUID.
motogp_get_seasonsList MotoGP seasons with their UUIDs and year. The id (seasonUuid) feeds the categories/events/standings tools. current:true marks the live season.
motogp_get_session_classificationGet the full classification (results) of a session: rider, team, constructor, time/gap and points. Use a session id from motogp_get_sessions.
motogp_get_sessionsList the sessions (practice, qualifying, race, etc.) for an event and category. Pass eventUuid from motogp_get_events and categoryUuid from motogp_get_categories. Each session id feeds motogp_get_session_classification.
motogp_get_standingsGet the championship standings for a season and category (riders' or constructors' points table). Pass seasonUuid and categoryUuid.
nascar_get_lap_timesGet per-driver lap times and speeds for a specific race. Use the race_id from nascar_get_schedule.
nascar_get_liveGet the live race feed: current lap, flag state, laps to go, leader and per-vehicle running order. When no race is live, fields are in an idle state (flag_state 9, race_id -1).
nascar_get_scheduleGet the NASCAR race schedule for a season and series, including track, dates, winners and stage info for completed races.
ncaa_get_gameGet detailed information about a specific NCAA game, including play-by-play, box score, and stats.
ncaa_get_newsGet the latest NCAA news, optionally filtered by sport.
ncaa_get_rankingsGet NCAA rankings/polls (AP, Coaches, CFP, etc.) for a sport.
ncaa_get_scheduleGet a team's NCAA schedule for a season.
ncaa_get_scoreboardGet the NCAA scoreboard for a sport and division. Returns games with scores, status, and basic info.
ncaa_get_standingsGet NCAA standings for a sport and division, optionally for a specific year.
ncaa_get_statsGet player or team statistics for an NCAA sport/division.
ncaa_get_teamsGet NCAA teams in a division, optionally filtered by conference.
nhl_get_draftGet the current NHL draft rankings and prospect information.
nhl_get_game_boxscoreGet the box score for a specific NHL game. Includes goals, assists, shots, saves, and other stats.
nhl_get_game_landingGet the game landing page data for an NHL game. Includes summary, three stars, scoring plays, and more.
nhl_get_game_play_by_playGet the full play-by-play feed for an NHL game. Contains every event (shots, goals, penalties, faceoffs, etc.).
nhl_get_playerGet detailed information about an NHL player -- bio, career stats, current season stats, awards.
nhl_get_player_game_logGet the game-by-game stats log for an NHL player in a given season.
nhl_get_scheduleGet the NHL schedule for a given date. Returns all games, start times, teams, and venues.
nhl_get_scoresGet live and final scores for today's NHL games.
nhl_get_standingsGet NHL standings. Optionally filter by date or season.
nhl_get_stat_leadersGet the NHL stat leaders for a given category (points, goals, assists, wins, etc.).
nhl_get_team_rosterGet the roster for an NHL team. Returns forwards, defensemen, and goalies with jersey numbers and positions.
nhl_get_team_scheduleGet the monthly schedule for an NHL team.
nhl_get_team_statsGet current-season stats for an NHL team (goals, shots, power play, penalty kill, etc.).
opendota_get_hero_statsGet hero stats / current meta: per-bracket pick and win counts for every hero.
opendota_get_heroesList all Dota 2 heroes with id, name, primary attribute and roles.
opendota_get_matchGet full detail for a Dota 2 match: players, heroes, K/D/A, items, gold/xp, objectives.
opendota_get_playerGet a player's profile and aggregate stats by Steam32 account id (rank, MMR estimate, profile).
opendota_get_player_heroesGet a player's per-hero stats (games, win rate, last played).
opendota_get_player_matchesGet a player's recent matches (hero, result, K/D/A, duration). Use limit to cap the list.
opendota_get_player_win_lossGet a player's overall win/loss record.
opendota_get_pro_leaguesList Dota 2 leagues / tournaments with id, name and tier.
opendota_get_pro_matchesGet recent professional Dota 2 matches (teams, league, duration, winner). Use a match_id with opendota_get_match for full detail.
opendota_get_pro_teamsList professional Dota 2 teams with rating, wins/losses and last match time.
opendota_search_playersSearch for Dota 2 players by persona name. Returns account_id values for use with the player tools.
openf1_get_car_dataGet detailed car telemetry: speed, RPM, gear, throttle, brake, DRS. WARNING: This endpoint returns massive amounts of data (multiple samples per second per car). Always use date_gte and date_lte filters to limit the time window, ideally to a few seconds or a single lap.
openf1_get_driversGet driver information for a session or across sessions. Returns driver names, numbers, team names, and more.
openf1_get_intervalsGet interval data showing the gap between drivers and the leader during a session.
openf1_get_lapsGet lap timing data including sector times, lap duration, and more for a session.
openf1_get_meetingsGet meeting (race weekend/event) information. A meeting groups multiple sessions at one circuit.
openf1_get_pitGet pit stop data including pit lane time and duration for each stop.
openf1_get_positionsGet position/ranking data during a session. Shows how positions change over time.
openf1_get_race_controlGet race control messages: flags, safety cars, penalties, track status changes, and other official messages.
openf1_get_sessionsList Formula 1 sessions. A session is a single on-track period such as a practice, qualifying, sprint, or race.
openf1_get_stintsGet stint data including tire compound, stint number, lap counts, and tire age for each driver.
openf1_get_team_radioGet team radio message metadata for a session. Returns URLs to audio recordings of driver-engineer communications.
openf1_get_weatherGet weather data for a session: air/track temperature, humidity, pressure, wind speed/direction, rainfall.
openliga_get_available_leaguesList all available leagues and seasons in OpenLigaDB.
openliga_get_current_matchdayGet the matches for the current matchday of a league.
openliga_get_last_match_by_teamGet the last completed match for a team. Use get_teams to find team IDs.
openliga_get_match_dataGet detailed data for a specific match by its ID, including goals, results, and location.
openliga_get_matches_by_league_seasonGet all matches for a league and season. Known league shortcuts: bl1 (1. Bundesliga), bl2 (2. Bundesliga), bl3 (3. Liga), dfb (DFB-Pokal), ucl (Champions League).
openliga_get_matches_by_matchdayGet matches for a specific matchday in a league and season.
openliga_get_next_match_by_teamGet the next upcoming match for a team. Use get_teams to find team IDs.
openliga_get_tableGet the league table / standings for a league and season.
openliga_get_teamsGet the list of teams participating in a league for a given season.
openliga_get_top_scorersGet the top goal scorers for a league and season.
sleeper_get_draft_picksGet all picks for a draft (round, pick number, roster, player_id, metadata). Get a draft_id from sleeper_get_league (draft_id) or the league's drafts.
sleeper_get_leagueGet details for a Sleeper league (settings, scoring, roster positions, status).
sleeper_get_league_matchupsGet the matchups for a league in a given week (roster_id, points, starters).
sleeper_get_league_rostersGet all rosters in a league (owners, player_ids, wins/losses, points).
sleeper_get_league_usersGet all users (managers) in a league with display names and team names.
sleeper_get_nfl_stateGet the current NFL season, week, and season type (pre/regular/post/off) as tracked by Sleeper.
sleeper_get_trending_playersGet the most-added or most-dropped NFL players over a lookback window, enriched with names/teams/positions. Doubles as a crude buzz signal.
sleeper_get_userGet a Sleeper user (profile, user_id, display name) by username or numeric user id.
sleeper_get_user_leaguesList the NFL leagues a user belongs to for a given season. Use the user_id from sleeper_get_user.
sleeper_search_playersSearch the Sleeper NFL player database by name (and optionally team/position). Returns slim records with injury status, depth-chart order, team and position. The full player set is cached for 24h.
sportsdb_get_event_detailsGet full details for a specific event by its TheSportsDB ID. Includes scores, venue, thumbnails, and video highlights.
sportsdb_get_event_resultsGet past event results for a specific round of a league season.
sportsdb_get_events_by_dateGet sporting events on a specific date. Optionally filter by sport or league name.
sportsdb_get_last_eventsGet the last 15 completed events for a team. Includes scores and results.
sportsdb_get_league_listList all leagues, optionally filtered by country and/or sport.
sportsdb_get_next_eventsGet the next 15 upcoming events for a team.
sportsdb_get_player_detailsGet full details for a player by their TheSportsDB ID. Includes biography, position, stats, and images.
sportsdb_get_seasonsList all available seasons for a league.
sportsdb_get_sports_listList all available sports on TheSportsDB.
sportsdb_get_standingsGet league table / standings for a given league and season.
sportsdb_get_team_detailsGet full details for a team by its TheSportsDB ID. Includes description, stadium, badges, social links, and more.
sportsdb_search_playersSearch players by name, or list all players on a team. Provide either player_name or team_name (or both).
sportsdb_search_teamsSearch teams by name. Returns matching teams with basic info, badges, and stadium details.
sportsrc_get_league_scoresGet scores / recent results for a specific football league.
sportsrc_get_leaguesList football leagues/competitions supported by SportSRC. Returns league ids you can pass to scores and tables tools.
sportsrc_get_liveConvenience: get the matches feed for a sport. Filter the returned data array client-side by status for live games.
sportsrc_get_matchGet detailed match information including streams, venue, and lineups.
sportsrc_get_matchesList matches for a sport. Returns live, upcoming, and recently finished matches with team info.
sportsrc_get_sportsList sport categories supported by SportSRC. Returns ids you can pass to other tools.
sportsrc_get_tableGet the standings table for a specific football league.
squiggle_get_gamesGet AFL games with optional filters. Returns home/away teams, scores, completion status, venue, and time.
squiggle_get_ladderGet the projected AFL ladder for a given year and round, by prediction model. Each model gives its own projected wins / mean rank.
squiggle_get_sourcesList the prediction model sources contributing to Squiggle (Squiggle, MoS, FiveThirtyEight, etc.). Use the returned ids with tips and ladder tools.
squiggle_get_standingsGet the actual AFL ladder/standings (wins, losses, draws, points, percentage) for a year and round.
squiggle_get_teamsList all AFL teams in the Squiggle database (current and historic), with id, abbreviation, debut/retirement years, and logo path.
squiggle_get_tipsGet game-level tips/predictions from one or all Squiggle prediction models. Each tip includes margin, confidence, and post-hoc correctness when known.
BEFORE YOU INSTALL
165 tools when we connected; the project documents 396. SPORTS_HUB_PROVIDERS defaults to free, the 19 providers that need no key; set it to all to load 42 providers. The project's own total varies between 396 and 410 across its documents.
Node.js 18+
INSTALLATION
npx mcp-sports-hubClone and build the server
git clone https://github.com/lacausecrypto/mcp-sports-hub.git
cd mcp-sports-hub
npm install
npm run buildAdd this to claude_desktop_config.json
<YOUR_PATH_TO_MCP_SPORTS_HUB> is the folder you cloned into. Only include env vars for providers you need; omit env entirely for the free providers. SPORTS_HUB_PROVIDERS is set to all because, unset, only the free no-key preset loads and the keyed providers are never registered; set it to a preset (esports, odds, soccer…) or a comma-separated provider list to load less.
{
"mcpServers": {
"sports-hub": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_SPORTS_HUB>/dist/index.js"
],
"env": {
"SPORTS_HUB_PROVIDERS": "all",
"PANDASCORE_TOKEN": "<YOUR_PANDASCORE_TOKEN>",
"API_SPORTS_KEY": "<YOUR_API_SPORTS_KEY>",
"THE_ODDS_API_KEY": "<YOUR_THE_ODDS_API_KEY>"
}
}
}
}The configuration on this page does not set API_FOOTBALL_KEY, API_TENNIS_KEY, BALLDONTLIE_API_KEY, CRICKETDATA_API_KEY, ENTITY_SPORT_KEY, FOOTBALL_DATA_API_KEY and SPORTMONKS_API_KEY; the project's instructions set them with an export line. An app opened from its icon or dock does not see variables exported in a terminal, so to supply them, use the block's "env" section.
Clone and build the server
git clone https://github.com/lacausecrypto/mcp-sports-hub.git
cd mcp-sports-hub
npm install
npm run buildThen add the server to Claude Code
<YOUR_PATH_TO_MCP_SPORTS_HUB> is the folder you cloned into. SPORTS_HUB_PROVIDERS is set to all because, unset, only the free no-key preset loads and the keyed providers are never registered; set it to a preset (esports, odds, soccer…) or a comma-separated provider list to load less.
{
"mcpServers": {
"sports-hub": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_SPORTS_HUB>/dist/index.js"
],
"env": {
"SPORTS_HUB_PROVIDERS": "all",
"PANDASCORE_TOKEN": "<YOUR_PANDASCORE_TOKEN>"
}
}
}
}The configuration on this page does not set API_FOOTBALL_KEY, API_TENNIS_KEY, BALLDONTLIE_API_KEY, CRICKETDATA_API_KEY, ENTITY_SPORT_KEY, FOOTBALL_DATA_API_KEY and SPORTMONKS_API_KEY; the project's instructions set them with an export line. An app opened from its icon or dock does not see variables exported in a terminal, so to supply them, use the block's "env" section.
SPORTS_HUB_HTTP=1 SPORTS_HUB_PORT=3000 npx mcp-sports-hubClients then connect to http://localhost:3000/mcp — POST /mcp is the MCP endpoint (Streamable HTTP with SSE), and GET /health answers a health check.