feat: implement MCP server and dashboard for football data platform
Add complete Nike football data platform with: - FastMCP server exposing football data tools over HTTP - RapidAPI client for free-api-live-football-data integration - Bootstrap web dashboard with live match/standings views - REST API endpoints for dashboard consumption - Docker support with multi-stage build - Comprehensive README with architecture docs - Minimal .gitignore replacing verbose Python template
This commit is contained in:
424
docs/api_samples/sportsdb/06_v1_standings_epl.json
Normal file
424
docs/api_samples/sportsdb/06_v1_standings_epl.json
Normal file
@@ -0,0 +1,424 @@
|
||||
{
|
||||
"table": [
|
||||
{
|
||||
"idStanding": "8825962",
|
||||
"intRank": "1",
|
||||
"idTeam": "133604",
|
||||
"strTeam": "Arsenal",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/uyhbfe1612467038.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WWWDD",
|
||||
"strDescription": "Promotion - Champions League (League phase)",
|
||||
"intPlayed": "30",
|
||||
"intWin": "20",
|
||||
"intLoss": "3",
|
||||
"intDraw": "7",
|
||||
"intGoalsFor": "59",
|
||||
"intGoalsAgainst": "22",
|
||||
"intGoalDifference": "37",
|
||||
"intPoints": "67",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825963",
|
||||
"intRank": "2",
|
||||
"idTeam": "133613",
|
||||
"strTeam": "Manchester City",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/vwpvry1467462651.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "DWWWW",
|
||||
"strDescription": "Promotion - Champions League (League phase)",
|
||||
"intPlayed": "29",
|
||||
"intWin": "18",
|
||||
"intLoss": "5",
|
||||
"intDraw": "6",
|
||||
"intGoalsFor": "59",
|
||||
"intGoalsAgainst": "27",
|
||||
"intGoalDifference": "32",
|
||||
"intPoints": "60",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825964",
|
||||
"intRank": "3",
|
||||
"idTeam": "133612",
|
||||
"strTeam": "Manchester United",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/xzqdr11517660252.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LWWDW",
|
||||
"strDescription": "Promotion - Champions League (League phase)",
|
||||
"intPlayed": "29",
|
||||
"intWin": "14",
|
||||
"intLoss": "6",
|
||||
"intDraw": "9",
|
||||
"intGoalsFor": "51",
|
||||
"intGoalsAgainst": "40",
|
||||
"intGoalDifference": "11",
|
||||
"intPoints": "51",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825965",
|
||||
"intRank": "4",
|
||||
"idTeam": "133601",
|
||||
"strTeam": "Aston Villa",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/jykrpv1717309891.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LLDWD",
|
||||
"strDescription": "Promotion - Champions League (League phase)",
|
||||
"intPlayed": "29",
|
||||
"intWin": "15",
|
||||
"intLoss": "8",
|
||||
"intDraw": "6",
|
||||
"intGoalsFor": "39",
|
||||
"intGoalsAgainst": "34",
|
||||
"intGoalDifference": "5",
|
||||
"intPoints": "51",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825966",
|
||||
"intRank": "5",
|
||||
"idTeam": "133610",
|
||||
"strTeam": "Chelsea",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/yvwvtu1448813215.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WLDDW",
|
||||
"strDescription": "Promotion - Europa League (League phase)",
|
||||
"intPlayed": "29",
|
||||
"intWin": "13",
|
||||
"intLoss": "7",
|
||||
"intDraw": "9",
|
||||
"intGoalsFor": "53",
|
||||
"intGoalsAgainst": "34",
|
||||
"intGoalDifference": "19",
|
||||
"intPoints": "48",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825967",
|
||||
"intRank": "6",
|
||||
"idTeam": "133602",
|
||||
"strTeam": "Liverpool",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/kfaher1737969724.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LWWWL",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "14",
|
||||
"intLoss": "9",
|
||||
"intDraw": "6",
|
||||
"intGoalsFor": "48",
|
||||
"intGoalsAgainst": "39",
|
||||
"intGoalDifference": "9",
|
||||
"intPoints": "48",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825968",
|
||||
"intRank": "7",
|
||||
"idTeam": "134355",
|
||||
"strTeam": "Brentford",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/grv1aw1546453779.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "DWLDW",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "13",
|
||||
"intLoss": "11",
|
||||
"intDraw": "5",
|
||||
"intGoalsFor": "44",
|
||||
"intGoalsAgainst": "40",
|
||||
"intGoalDifference": "4",
|
||||
"intPoints": "44",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825969",
|
||||
"intRank": "8",
|
||||
"idTeam": "133615",
|
||||
"strTeam": "Everton",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/eqayrf1523184794.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WWLLW",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "12",
|
||||
"intLoss": "10",
|
||||
"intDraw": "7",
|
||||
"intGoalsFor": "34",
|
||||
"intGoalsAgainst": "33",
|
||||
"intGoalDifference": "1",
|
||||
"intPoints": "43",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825970",
|
||||
"intRank": "9",
|
||||
"idTeam": "134301",
|
||||
"strTeam": "Bournemouth",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/y08nak1534071116.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "DDDWD",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "9",
|
||||
"intLoss": "7",
|
||||
"intDraw": "13",
|
||||
"intGoalsFor": "44",
|
||||
"intGoalsAgainst": "46",
|
||||
"intGoalDifference": "-2",
|
||||
"intPoints": "40",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825971",
|
||||
"intRank": "10",
|
||||
"idTeam": "133600",
|
||||
"strTeam": "Fulham",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/xwwvyt1448811086.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LWWLL",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "12",
|
||||
"intLoss": "13",
|
||||
"intDraw": "4",
|
||||
"intGoalsFor": "40",
|
||||
"intGoalsAgainst": "43",
|
||||
"intGoalDifference": "-3",
|
||||
"intPoints": "40",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825972",
|
||||
"intRank": "11",
|
||||
"idTeam": "133603",
|
||||
"strTeam": "Sunderland",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/tprtus1448813498.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WDLLL",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "10",
|
||||
"intLoss": "9",
|
||||
"intDraw": "10",
|
||||
"intGoalsFor": "30",
|
||||
"intGoalsAgainst": "34",
|
||||
"intGoalDifference": "-4",
|
||||
"intPoints": "40",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825973",
|
||||
"intRank": "12",
|
||||
"idTeam": "134777",
|
||||
"strTeam": "Newcastle United",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/lhwuiz1621593302.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WLLWL",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "11",
|
||||
"intLoss": "12",
|
||||
"intDraw": "6",
|
||||
"intGoalsFor": "42",
|
||||
"intGoalsAgainst": "43",
|
||||
"intGoalDifference": "-1",
|
||||
"intPoints": "39",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825974",
|
||||
"intRank": "13",
|
||||
"idTeam": "133632",
|
||||
"strTeam": "Crystal Palace",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/ia6i3m1656014992.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WLWLW",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "10",
|
||||
"intLoss": "11",
|
||||
"intDraw": "8",
|
||||
"intGoalsFor": "33",
|
||||
"intGoalsAgainst": "35",
|
||||
"intGoalDifference": "-2",
|
||||
"intPoints": "38",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825975",
|
||||
"intRank": "14",
|
||||
"idTeam": "133619",
|
||||
"strTeam": "Brighton and Hove Albion",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/ywypts1448810904.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LWWLL",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "9",
|
||||
"intLoss": "10",
|
||||
"intDraw": "10",
|
||||
"intGoalsFor": "38",
|
||||
"intGoalsAgainst": "36",
|
||||
"intGoalDifference": "2",
|
||||
"intPoints": "37",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825976",
|
||||
"intRank": "15",
|
||||
"idTeam": "133635",
|
||||
"strTeam": "Leeds United",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/jcgrml1756649030.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LLDDW",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "7",
|
||||
"intLoss": "12",
|
||||
"intDraw": "10",
|
||||
"intGoalsFor": "37",
|
||||
"intGoalsAgainst": "48",
|
||||
"intGoalDifference": "-11",
|
||||
"intPoints": "31",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825977",
|
||||
"intRank": "16",
|
||||
"idTeam": "133616",
|
||||
"strTeam": "Tottenham Hotspur",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/dfyfhl1604094109.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LLLLL",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "7",
|
||||
"intLoss": "14",
|
||||
"intDraw": "8",
|
||||
"intGoalsFor": "39",
|
||||
"intGoalsAgainst": "46",
|
||||
"intGoalDifference": "-7",
|
||||
"intPoints": "29",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825978",
|
||||
"intRank": "17",
|
||||
"idTeam": "133720",
|
||||
"strTeam": "Nottingham Forest",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/bk4qjs1546440351.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "DLLDL",
|
||||
"strDescription": "",
|
||||
"intPlayed": "29",
|
||||
"intWin": "7",
|
||||
"intLoss": "15",
|
||||
"intDraw": "7",
|
||||
"intGoalsFor": "28",
|
||||
"intGoalsAgainst": "43",
|
||||
"intGoalDifference": "-15",
|
||||
"intPoints": "28",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825979",
|
||||
"intRank": "18",
|
||||
"idTeam": "133636",
|
||||
"strTeam": "West Ham United",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/yutyxs1467459956.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WLDDW",
|
||||
"strDescription": "Relegation - Championship",
|
||||
"intPlayed": "29",
|
||||
"intWin": "7",
|
||||
"intLoss": "15",
|
||||
"intDraw": "7",
|
||||
"intGoalsFor": "35",
|
||||
"intGoalsAgainst": "54",
|
||||
"intGoalDifference": "-19",
|
||||
"intPoints": "28",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825980",
|
||||
"intRank": "19",
|
||||
"idTeam": "133623",
|
||||
"strTeam": "Burnley",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/ql7nl31686893820.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "LLDWL",
|
||||
"strDescription": "Relegation - Championship",
|
||||
"intPlayed": "29",
|
||||
"intWin": "4",
|
||||
"intLoss": "18",
|
||||
"intDraw": "7",
|
||||
"intGoalsFor": "32",
|
||||
"intGoalsAgainst": "58",
|
||||
"intGoalDifference": "-26",
|
||||
"intPoints": "19",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
},
|
||||
{
|
||||
"idStanding": "8825981",
|
||||
"intRank": "20",
|
||||
"idTeam": "133599",
|
||||
"strTeam": "Wolverhampton Wanderers",
|
||||
"strBadge": "https://r2.thesportsdb.com/images/media/team/badge/u9qr031621593327.png/tiny",
|
||||
"idLeague": "4328",
|
||||
"strLeague": "English Premier League",
|
||||
"strSeason": "2025-2026",
|
||||
"strForm": "WWLDD",
|
||||
"strDescription": "Relegation - Championship",
|
||||
"intPlayed": "30",
|
||||
"intWin": "3",
|
||||
"intLoss": "20",
|
||||
"intDraw": "7",
|
||||
"intGoalsFor": "22",
|
||||
"intGoalsAgainst": "52",
|
||||
"intGoalDifference": "-30",
|
||||
"intPoints": "16",
|
||||
"dateUpdated": "2026-03-10 07:00:37"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user