FOOTBALL MCP TOOLS
MCP toolsEvery tool the MCP server gives an assistant, what it answers, its parameters and the endpoint it calls. Paging is left to the server, so a tool never asks for a page or a cursor.
list_competitionsComplimentary keyEvery league and competition in the collection with its country, its tier, the first season served, and whether your key reads it.
countrystringOnly this country, such as England.league_tableComplimentary keyA league table as it stands this morning, or as it stood on any date you pass, for home matches, away matches or both. Competitions played in groups return each group.
competitionrequiredstringA competition from /v1/competitions, such as premier-league. In the path.seasonrequiredintegerThe first year of the season: 2026 for 2026/27. In the path.From 2015, or the competition's first seasondatedateThe table on the morning of this day, YYYY-MM-DD.venuestringA table of home matches only, or away matches only.home or awayseason_statsComplimentary keyA season of a competition in figures: matches, goals, home and away wins, draws, clean sheets, scorelines and cards.
competitionrequiredstringA competition from /v1/competitions, such as premier-league. In the path.seasonrequiredintegerThe first year of the season: 2026 for 2026/27. In the path.From 2015, or the competition's first seasonfind_matchesComplimentary keyEvery match in the collection, played or still to come, found by competition, club, season, dates, status, result, surface or home and away, paged.
competitionstringA competition from /v1/competitions, such as premier-league. Leave it out for every competition your key reads.clubstringOnly this club's matches: a club id such as cl_a7vhnxhhh.seasonintegerThe first year of the season: 2026 for 2026/27.From 2015, or the competition's first seasondate_fromdateFrom this day, YYYY-MM-DD.date_todateUp to this day, YYYY-MM-DD.statusstringWhere the match stands.finished or scheduled or postponed or cancelled or abandonedresultstringHow it ended, from the home side: home, draw or away.home or draw or awaysurfacestringThe pitch.grass or artificial_turfvenuestringHome matches only, or away matches only.home or awayper_pageintegerRows to return. Default 25 here.From 1 to 1,000get_matchComplimentary keyEverything about a match: the score at every stage, both clubs' positions before kickoff, the ground, the referee and the conditions on the day.
match_idrequiredstringA match id from any result, fixture or match list, such as mt_e2hk79mn5. In the path.find_resultsComplimentary keySettled matches newest first, by day, by date range, by competition or by club, paged. Every season goes back to 2015/16, or to the league's start.
competitionstringA competition from /v1/competitions, such as premier-league. Leave it out for every competition your key reads.clubstringOnly this club's matches: a club id such as cl_a7vhnxhhh.datedateOne day, YYYY-MM-DD.date_fromdateFrom this day, YYYY-MM-DD.date_todateUp to this day, YYYY-MM-DD.per_pageintegerRows to return. Default 25 here.From 1 to 1,000upcoming_fixturesComplimentary keyMatches still to come in the competitions your key reads, soonest first, with kickoff in UTC and the local date.
competitionstringA competition from /v1/competitions, such as premier-league. Leave it out for every competition your key reads.date_fromdateFrom this day, YYYY-MM-DD.date_todateUp to this day, YYYY-MM-DD.per_pageintegerRows to return. Default 25 here.From 1 to 1,000live_scoresMembershipEvery match being played now, with the score and the minute. Answers refresh every 5 seconds.
competitionstringA competition from /v1/competitions, such as premier-league. Leave it out for every competition your key reads.find_clubsComplimentary keyEvery club in the collection with its ground and city, by competition and season, or by country, paged.
competitionstringA competition from /v1/competitions, such as premier-league. Leave it out for every competition your key reads.seasonintegerWith a competition: the clubs of that season, by its first year.From 2015, or the competition's first seasoncountrystringOnly this country's clubs, such as England.per_pageintegerRows to return. Default 25 here.From 1 to 1,000get_clubComplimentary keyA club: its ground, its city, where the ground is and how many of its matches the collection holds.
club_idrequiredstringA club id from any match, table or club list, such as cl_a7vhnxhhh. In the path.club_formComplimentary keyThe last results of a club, newest first, with a summary of goals, clean sheets and points.
club_idrequiredstringA club id from any match, table or club list, such as cl_a7vhnxhhh. In the path.lastintegerHow many matches, newest first. Default 5.From 1 to 50head_to_headComplimentary keyEvery meeting between two clubs since 2015/16, newest first, with the record of each side.
club_idrequiredstringA club id from any match, table or club list, such as cl_a7vhnxhhh. In the path.opponent_idrequiredstringThe other club's id. In the path.limitintegerHow many meetings to list, newest first. Default 20.From 1 to 100check_usageComplimentary keyYour plan, your calls today, your limits and when they reset. Calling it never counts against your allowance.
No parameters.
Calls GET /v1/usageWHEN A TOOL IS REFUSED
A refusal comes back as the tool's answer, marked as an error, so the assistant can say why: past your plan it names membership and links to it; past a limit it says when to try again. It is never reported as the server being down.