io.github.christianclaudio/espn
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ESPN_BASE_URL | No | Target ESPN REST CDN base URL (bypasses Akamai TLS filter) | https://site.web.api.espn.com |
| ESPN_MAX_RETRIES | No | Maximum retry attempts with jittered exponential backoff | 3 |
| ESPN_MCP_PROFILE | No | Domain sub-server profile: full, games, teams, news, readonly | full |
| ESPN_MCP_READONLY | No | Restrict server strictly to read-only inspection tools | 0 |
| ESPN_MCP_AUTH_TOKEN | No | Shared bearer token required on HTTP transports (stdio ignores it). Set to require Authorization: Bearer <token> on every HTTP request. | |
| ESPN_TIMEOUT_SECONDS | No | HTTP request timeout in seconds | 30.0 |
| ESPN_MCP_ENABLE_TOOL_SEARCH | No | Replace flat tool catalog with dynamic search transform (search_tools + call_tool) | 0 |
| ESPN_MCP_TOOL_SEARCH_BACKEND | No | Tool Search backend: bm25 (BM25SearchTransform, natural-language ranking; search_tools takes query) or regex (RegexSearchTransform, regex patterns; search_tools takes pattern) | bm25 |
| FASTMCP_HTTP_SESSION_IDLE_TIMEOUT | No | Session idle timeout in seconds for stateful HTTP mode, or none to never expire | |
| ESPN_MCP_ALLOW_UNAUTHENTICATED_BIND | No | Set to 1 to accept a tokenless HTTP bind to a non-localhost host | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| games_get_scoreboardB | Fetch final scores and results for any date, including postseason games such as the Super Bowl, World Series, or NBA Finals, plus live scores, game status, periods/innings, clocks/outs, TV broadcasts, and probable starters. Returns each game's event ID. Filter by date, week, season type, or Top 25 group. Sports: football, basketball, baseball, hockey, soccer, golf, mma. |
| games_get_game_summaryA | Fetch comprehensive game summary for an event ID, including consensus betting lines (spread, moneyline, over/under from DraftKings/Caesars/ESPN BET), matchup predictor (FPI/BPI win probabilities), live win probability curve, season head-to-head series, last 5 games momentum, team statistics, and in-game injuries. |
| games_get_team_scheduleA | Fetch a team's season schedule and results: opponents, scores, dates, home/away, and event IDs. Regular season by default; season_type=3 for postseason games (e.g. the World Series, NBA Finals, or Super Bowl). |
| games_get_standingsA | Fetch current or historical regular-season division, conference, and league standings (e.g. which team had the best record): win-loss records, win percentages, games back, streaks, and differential. Echoes the season ESPN returned. |
| games_get_rankingsA | Fetch Top 25 national polls and rankings (AP Top 25, Coaches Poll, College Football Playoff rankings) for college sports like NCAAF and NCAAB, including current and previous ranks, votes, and records. |
| games_get_transactionsA | Fetch recent league player transactions (trades, free agent signings, waiver claims, roster activations, and injury reserve designations). |
| games_get_leaders_by_athleteB | Fetch statistical leaderboards across a league for individual athletes (e.g. passing yards, rushing, points, strikeouts). |
| games_get_leaders_by_teamB | Fetch team statistical leaderboards across a league (e.g. total offense, defensive points allowed, efficiency). |
| games_get_league_groupsB | Fetch league conference, division, and structural group hierarchies. |
| games_get_league_eventsA | Fetch the league's current scheduled events. Date filtering is not supported here: for games on a date or range, use games_get_scoreboard with date. |
| games_get_league_draftB | Fetch league draft rounds, team selections, and pick results for a draft year (e.g. the first overall pick). |
| games_get_scoreboard_headerB | Fetch live ticker scoreboard header data across games for a sport and league. |
| games_get_event_oddsB | Fetch sports betting odds, point spreads, over/under, and moneylines across sportsbooks via ESPN Core API. |
| games_get_play_by_playB | Fetch granular play-by-play sequence with clock, downs, distances, yardage, and scoring flags via ESPN Core API. |
| games_get_game_situationA | Fetch real-time game situation (down, distance, yardline, possession, red zone, clock) via ESPN Core API. |
| games_get_win_probabilitiesC | Fetch high-density win probability timeline curve samples across an entire game. |
| games_get_game_predictorB | Fetch ESPN predictive matchup model win percentages, projected margins, and ratings. |
| games_get_calendarB | Fetch league schedule calendar and active event dates across a season. |
| games_get_futuresA | Fetch season futures betting markets (championship odds, conference champions, win totals). |
| games_get_power_indexB | Fetch league team power index (FPI / BPI) ratings and efficiency metrics. |
| teams_get_team_rosterB | Fetch active team roster and injury designations grouped by position, including jersey numbers, experience, position abbreviations, and coaching staff. |
| teams_get_team_depth_chartB | Fetch team depth chart showing positional starter and backup hierarchies (e.g. QB1, QB2, RB1, RB2) to evaluate starting status and backup substitution impacts. |
| teams_get_player_statsA | Extract detailed individual player boxscores and performance metrics for a game (e.g., Strikeouts and Innings Pitched for MLB pitchers; Points, Rebounds, Assists for NBA/WNBA; Passing, Rushing, Receiving for NFL/NCAAF; Goals and Assists for Soccer/NHL). |
| teams_get_athlete_overviewB | Fetch athlete biographical information, season/career statistical splits, recent individual game logs, rotowire fantasy notes, and next upcoming match. |
| teams_searchA | Search ESPN's entity index by name to find an athlete ID or team ID, or a league. Returns IDs, display names, and metadata needed to call other tools. |
| teams_list_teamsA | Fetch all active teams in a given sport and league, returning team IDs, names, abbreviations, locations, and colors. |
| teams_get_teamB | Fetch detailed information for a single team including standing summary, overall record, venue, and next scheduled event. |
| teams_get_team_statisticsB | Fetch team and opponent season statistics across offensive, defensive, and special teams categories. |
| teams_get_athlete_bioB | Fetch detailed athlete biography including birthplace, college, draft round and pick, experience, physical measurements, and background. |
| teams_get_athlete_statsA | Fetch an athlete's season totals (e.g. a quarterback's passing yards for a season) and career totals and averages. Find the athlete_id with teams_search. |
| teams_get_athlete_gamelogA | Fetch game-by-game statistical performance log for an athlete across an entire season. |
| teams_get_athlete_splitsA | Fetch situational split statistics for an athlete (home vs away, monthly performance, opponents, and win/loss splits). |
| news_get_newsB | Fetch recent news headlines, injury updates, breaking analysis, and roster moves for a given sport and league. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| games_game_analysis | Generate prompt template for performing comprehensive sports market and matchup analysis. |
| teams_team_evaluation | Generate prompt template for evaluating a team's roster, depth, form, and schedule. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_supported_leagues | Return JSON mapping of all supported sports, leagues, and aliases. |
| get_capabilities | Return static system capabilities reference. |
TDQS
Scored across 33 tools
Several overlapping clusters exist: scoreboard vs league_events vs calendar, game_summary vs the many granular game tools, and athlete_overview vs bio/stats/gamelog/splits. Descriptions often clarify intended use, but an agent still has to choose carefully among similar data surfaces.
Most tools follow a predictable snake_case pattern with resource/action naming and games_/teams_/news_ prefixes. Minor inconsistencies include mixing 'player' and 'athlete' terminology and placing team schedule under games_ while other team resources are under teams_.
At 33 tools, the surface is heavy for an MCP server and exceeds the typical well-scoped range. The broad ESPN domain justifies many endpoints, but the count still creates a large selection space and some aggregation tools duplicate data available through narrower tools.
Coverage is extensive: scores, schedules, standings, news, teams, rosters, depth charts, player stats, game logs, splits, odds, futures, draft, rankings, play-by-play, and live situations are represented. Only minor gaps exist, such as no clearly standalone team injury or league metadata endpoint.