MCP server for SportScore — live scores, match details, standings, top scorers, brackets and player stats across football, basketball, cricket and tennis. Free public API, CORS-open, no API key.
8 tools with complete input schemas and descriptions. Naming is clear and verb-driven (get_*). Descriptions are well-written (100-200 chars, within baseline 194 avg). All parameters have types and descriptions. Sport enum is properly constrained. However, output schemas are not documented, LLMs cannot see what fields to expect from responses. No error handling guidance. No tool annotations (readOnlyHint present in metadata but not in schema). Missing parameter descriptions for some fields (e.g., 'limit' lacks context on what it limits). No pagination guidance despite tools returning lists.
Get the knockout bracket for a tournament (e.g. 'uefa-champions-league', 'nba-playoffs').
Get detailed data for a single match by its slug (e.g. 'manchester-united-vs-liverpool'): score, status, timeline, lineups. Slugs come from get_matches results or match URLs on sportscore.com.
List live and recent matches for a sport. Returns up to `limit` matches with scores, status, kickoff time and team logos. Good default for 'what's happening in football right now?'.
Get player statistics and metadata by player slug (e.g. 'lionel-messi', 'lebron-james', 'virat-kohli').
Get the current standings table for a league or competition by slug (e.g. 'premier-league', 'la-liga', 'nba').
Get a team's past and upcoming fixtures by team slug (e.g. 'barcelona', 'manchester-united', 'los-angeles-lakers').
Output schemas not documented. LLMs cannot see what fields responses contain, forcing them to guess at downstream field names and risk broken tool chains.
No error handling guidance. Responses do not indicate what to do on failure (e.g., invalid sport, missing match slug, API timeout). LLMs cannot self-correct.
Pagination not documented. Tools return lists (matches, fixtures, scorers) but descriptions do not mention limits, offsets, or total counts. Large result sets risk context window exhaustion.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | <=2025-11-25 | v2 |
Get the top scorers (or top assisters) for a competition. Useful for 'who's leading the Premier League scoring charts?'.
Get live match tracker data (position, animation frames) for a match by numeric id. Usually only useful for football.
Tool annotations missing from schema. Risk metadata (READ_ONLY) is in the spec but not in inputSchema. LLMs cannot see which tools are safe to retry or have side effects.
Parameter 'id' in get_tracker lacks description context. Described as 'Numeric match id from the upstream provider' but does not explain how to obtain it or what format is expected.