OpenLigaDB MCP — community-run, keyless football / soccer match data. Covers German football leagues (Bundesliga, 2. Bundesliga, 3. Liga, DFB-Pokal) and others: match results / scores, fixtures, and league table / standings.
Server has 4 tools with complete input schemas and descriptions. Naming follows verb_noun convention (list_, get_, current_). Descriptions are adequate (100-200 chars) but lack actionable context for LLM selection. Parameters have type definitions and descriptions, but lack enums for constrained inputs (league, season). Output schemas are not documented, LLMs cannot predict response structure. No error handling guidance. Missing pagination for list_leagues despite potentially large result sets.
Get the current matchday's football / soccer matches (results / scores) for a league (e.g. this week's Bundesliga fixtures) in the current season.
Get football / soccer match results / scores and fixtures for a league and season (e.g. Bundesliga). Optionally narrow to a single matchday. Returns teams, kickoff datetime, final score, and whether each match is finished.
Get the league table / standings for a football / soccer league and season (e.g. the Bundesliga table). Returns each team's position, played, won, draw, lost, goals, goal difference, and points.
List all available football / soccer leagues and seasons in OpenLigaDB (German football leagues like the Bundesliga, plus others). Returns league id, name, shortcut, season, and sport.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting). Responses are inferred from code only.
League and season parameters accept free-form strings instead of enums. LLMs may hallucinate invalid league codes (e.g. 'bundesliga' instead of 'bl1'). No validation or recovery guidance.
No pagination support. list_leagues may return hundreds of league-season combinations. No limit, offset, or cursor parameters. Large responses risk context window exhaustion.
Error handling returns raw HTTP status and truncated message text. No guidance on recovery (e.g. 'Invalid league code. Call list_leagues to see valid options'). LLM cannot self-correct.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Descriptions lack dependency hints and selection context. E.g. get_matches does not explain when to call list_leagues first or how matchday relates to season structure.