MCP server for accessing ESPN sports data including search, news, rankings, scores, standings, teams, rosters, schedules, game summaries, odds, athlete profiles, and live scoreboards
ESPN server has 12 tools with basic Zod schemas and descriptions, but significant gaps prevent higher scores. All tools are READ_ONLY and properly named with action verbs (espn_search, espn_news, etc.). Descriptions exist but are terse (avg ~60 chars, below the 194-char baseline). Critical issue: NO output schemas documented anywhere, LLMs cannot plan downstream calls or extract structured data. Parameters lack enums for constrained values (sport, league accept free-form strings despite known valid sets). No error handling guidance, no pagination support despite tools returning lists, no per-item success/failure for batch operations. Tool composition is reasonable (each does one thing), but missing chaining IDs in responses and no recovery guidance.
Athlete profiles, game logs, splits, career stats
Betting odds from multiple providers
Full boxscore, player stats, venue, officials, attendance and scoring summary
CDN-optimized live scoreboard with real-time updates
Latest sports news headlines and articles from ESPN
College, UFC, and tennis rankings
No output schemas documented. LLMs cannot infer response structure, plan chaining calls, or extract required fields. Every tool lacks return type documentation.
Parameters accept free-form strings instead of enums. 'sport' and 'league' parameters list valid values in descriptions but lack enum constraints. LLMs hallucinate invalid values (e.g. 'american_football' instead of 'football').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Live and recent scores for any sport/league
Search ESPN for players, teams, and leagues
Current league standings with W/L records
Full team roster with player details
Team game schedule (past & upcoming)
List all teams or get detailed team info
No pagination support documented. Tools returning lists (espn_news, espn_teams, espn_team_roster) lack limit, offset, page, or cursor parameters. No total_count or next_cursor in responses. Large result sets will exhaust context.
Descriptions are terse (avg 60 chars vs 194-char baseline). Missing WHEN to use each tool and dependencies. E.g. espn_game_summary lacks guidance on when to call it vs espn_scoreboard.
No error handling guidance. No recovery hints (e.g. 'If team not found, try espn_search first'). No categorization of errors as retryable vs user-fixable.