In-depth architectural comparison of the MCP Sports Hub and Sportsdata MCP MCP servers. Compare execution transports, security boundaries, tool capabilities, quality scores, and ready-to-paste client installation snippets for Claude, Cursor, Windsurf, and VS Code.
At a Glance & Executive Verdict
MCP Sports Hub
Sports · Local stdio
Quality: 64/100 (Good) | Auth: API Key required
Sportsdata MCP
Sports · Local stdio
Quality: 61/100 (Good) | Auth: No auth required
Verdict Summary: Choose MCP Sports Hub if you need specialized Sports tools running via a local process. Choose Sportsdata MCP if your workspace requires Sports integration with local subprocess execution. Both servers can be configured concurrently in your client's mcpServers manifest.
Which MCP Server Should You Choose?
Choose MCP Sports Hub when:
You need dedicated capabilities in the Sports domain.
You prefer local stdio subprocess transport architecture.
Your security boundary fits: API Key required (BYOK (Pay Provider Direct)).
You have access to required keys: ESPN_API_KEY, SPORTSRC_API_KEY, SLEEPER_API_KEY, OPENDOTA_API_KEY.
Unified server aggregating 41 sports-data providers (396 tools): live scores, standings, player stats, betting odds, F1/MotoGP/NASCAR, esports, chess, and more across NFL, NBA, MLB, NHL, soccer, tennis, cricket, golf, and MMA. 19 providers need no API key; provider filtering via presets. Also exposes MCP resources & prompts. npx mcp-sports-hub
Live sports data and cross-book betting odds as 500 tools across 28 providers — 10+ bookmakers (Sportsbet, TAB, Betfair, Pinnacle, FanDuel…), official league feeds (NBA, MLB, EPL, AFL, NRL, F1 telemetry), racing, and Kalshi/Polymarket prediction markets. Zero-config setup, no API keys for most providers. MIT.
Tools & Capabilities Breakdown
MCP Sports Hub Tools (165)
espn_get_scoreboard
Get live or date-specific scores for a sport/league. Returns current scoreboard with game status, scores, and basic game info.
espn_get_standings
Get league standings. Returns conference/division standings with team records, win/loss, and ranking info.
espn_get_teams
List all teams in a league. Returns team names, IDs, abbreviations, logos, and locations.
espn_get_team_details
Get detailed information about a specific team, including record, stats, venue, and next event.
espn_get_team_roster
Get the full roster for a specific team, including player names, positions, jersey numbers, and basic stats.
Ready-to-Paste Client Configurations
Paste either (or both) of these JSON server blocks into your client config file (e.g. claude_desktop_config.json or ~/.cursor/mcp.json).
MCP Sports Hub is categorized under Sports and uses a local stdio subprocess. In contrast, Sportsdata MCP belongs to Sports using local stdio subprocess. Select MCP Sports Hub when you need capabilities focused on sports and Sportsdata MCP when you require tools for sports.
Get a team's schedule for a season, including past results and upcoming games.
espn_get_event_summary
Get a detailed summary of a specific event/game, including play-by-play, box score, leaders, and game info.
espn_get_athlete
Get information about a specific athlete, including bio, stats, and career history.
espn_get_news
Get the latest news articles for a sport/league, including headlines, descriptions, and links.
espn_get_seasons
Get available seasons for a sport/league, including season types (preseason, regular, postseason) and date ranges.
nhl_get_schedule
Get the NHL schedule for a given date. Returns all games, start times, teams, and venues.
nhl_get_scores
Get live and final scores for today's NHL games.
+153 more tools listed on main page
Sportsdata MCP Tools (829)
list_available_groups
List every tool group across all providers, which are currently enabled,
and each provider's auth requirements (env-var names + required/optional).
On a fresh install (no groups enabled) this is the only functional tool, so
the model can guide the user to enable what they want in sportsdata-mcp.yaml.
list_tools_by_capability
Discover tools by capability — the unit of cross-provider comparison.
Given a slug like 'sport.event_markets', returns every enabled tool exposing
it across providers. Pass no argument for the full capability → tools map.
afl_competitions_list
List all AFL competitions (AFL, AFLW, VFL, SANFL, …).
Returns: {meta:{pagination}, competitions:[{id, providerId, code, name}]}
Example: All 16 competitions
{"pageSize": 50}
Auth: none needed.
afl_competition_get
Get a single competition by integer id.
Returns: {meta, competitions:[{id, providerId, code, name}]}
Auth: none needed.
afl_compseasons_list
List comp seasons across all competitions (2012–present).
Returns: {meta:{pagination}, compSeasons:[{id, providerId, name, competition, season}]}
Auth: none needed.
afl_competition_compseasons
List comp seasons within one competition.
Returns: {meta, compSeasons:[...]}
Auth: none needed.
afl_compseason_get
Get a single comp season (embeds its full rounds array + currentRoundNumber).
Returns: {meta, compSeasons:[{id, providerId, name, shortName, season, rounds:[...], currentRoundNumber}]}
Auth: none needed.
afl_rounds_list
List rounds for a comp season (incl. byes, start/end times).
Returns: {rounds:[{id, providerId, roundNumber, abbreviation, byes, utcStartTime, utcEndTime}]}
Auth: none needed.
afl_ladders_get
Competition ladder up to a comp season's current round.
Returns: {compSeason, round, ladders:[{entries:[{position, team, played, thisSeasonRecord}]}]}
Example: 2026 AFL ladder
{"compSeasonId": 85}
Auth: none needed.
afl_seasons_list
List calendar-year season records.
Returns: {meta, seasons:[{id, year}]}
Auth: none needed.
afl_season_get
Get a single calendar-year season by id.
Returns: {meta, seasons:[{id, year}]}
Auth: none needed.