bundesliga-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Unofficial read-only MCP server for German football via the free OpenLigaDB API (api.openligadb.de) — no key, no login. Leagues: 1. Bundesliga (bl1), 2. Bundesliga (bl2), 3. Liga (bl3), DFB-Pokal (dfb), Deutsche Eishockey Liga (del), Basketball Bundesliga (bbl) and Handball-Bundesliga (hbl). A season defaults to the current one (resolved live from the league list); a matchday defaults to the current matchday. Scores come from the match results (half-time and final); top scorers are aggregated from the per-match goal events, because the API's own goalscorer endpoint returns 404. Data is under the Open Database License (ODbL). Built by Mohammad Abbasi (mohammad-abbasi-sh) — Germany MCP factory.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| bundesliga_list_leaguesA | Leagues this server knows, with their current season (bl1, bl2, bl3, dfb, del, bbl, hbl). |
| bundesliga_get_fixturesA | Fixtures/results of one matchday. league: bl1/bl2/bl3/dfb/del/bbl/hbl. season: e.g. "2026" (default: current). matchday: 1..34 (default: current). |
| bundesliga_get_live_scoresA | Current matchday: scores and status (finished/live/scheduled) for each match. league: bl1/bl2/bl3/dfb/del/bbl/hbl. |
| bundesliga_get_tableC | League table. league: bl1/bl2/bl3/dfb/del/bbl/hbl. season: e.g. "2026" (default: current). |
| bundesliga_get_top_scorersA | Top scorers of a season, aggregated from match goal events (own goals excluded). league: bl1/bl2/bl3/dfb/del/bbl/hbl. season: e.g. "2026" (default: current). limit: 1..50. |
| bundesliga_get_match_detailA | Full detail of one match: score, goals with minutes and scorers, venue. match_id: from get_fixtures / get_live_scores. league: bl1/bl2/bl3/dfb/del/bbl/hbl. season: e.g. "2026" (default: current). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool targets a distinct output: league listing, matchday fixtures, live scores/status, table, top scorers, and single-match detail. The main overlap is between get_fixtures and get_live_scores, since both concern the current matchday, but the descriptions differentiate schedule/results from live status reasonably well.
All six tools use a uniform bundesliga_ prefix followed by a snake_case verb_noun pattern (list_leagues, get_fixtures, get_live_scores, get_table, get_top_scorers, get_match_detail). No deviations in style or casing.
Six tools is well-scoped for a league-data server, with each tool covering a clear facet (leagues, fixtures, live scores, table, scorers, match detail). Nothing feels redundant or missing at the count level.
Core lifecycle coverage is solid: leagues, fixtures, live scores, standings, scorers, and per-match detail are all present. Minor gaps exist, such as team-level lookups or player/team profile queries, but agents can work around them via existing tools.