MCP server providing tools to query OpenLigaDb sports data (leagues, teams, seasons)
Server has 4 tools with basic descriptions and parameter documentation, but significant gaps prevent higher scores. Tool names follow verb_noun convention (getAvailableLeagues, getFilteredLeagues, getAllTeams, echo). Descriptions exist but are minimal (10-50 chars), below the 50-200 char LLM-optimized baseline. Parameter descriptions are present but lack constraints (enums, ranges, formats). Output schemas are not documented, LLMs cannot infer what fields to expect from responses. The 'echo' tool is a test utility, not domain-relevant. No error handling guidance, no pagination support despite potential for large result sets, no idempotency hints. Tool composition is reasonable (single responsibility), but parameter naming could be more explicit (e.g., 'leagueShortcut' vs 'league_shortcut' breaks convention).
Echoes the given message.
Gets all teams for the given league in the given season
Gets all available leagues
Gets all available leagues that match the given filter
Output schemas not documented. LLMs cannot infer what fields League, Team objects contain or how to chain results to downstream tools.
Descriptions are too brief (10-50 chars vs 50-200 char baseline). 'Gets all available leagues' lacks context on when to use this vs getFilteredLeagues, what structure is returned, or prerequisites.
Parameter 'filter' in getFilteredLeagues lacks constraints. Description says 'Contains, case-insensitive' but no min/max length, no guidance on special characters or regex support.
No pagination support. getAllTeams and getAvailableLeagues may return large result sets with no limit, offset, or cursor parameters. Large responses blow context windows.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Parameter naming inconsistency: 'leagueShortcut' and 'leagueSeason' use camelCase, violating verb_noun convention. Should be 'league_shortcut', 'league_season' for consistency with tool names.