MCP Server

FPL Copilot

com.fplcopilot/fpl-copilot
Data & Analytics Gaming Public & reachable MCP 2025-11-25

What this MCP does

Analyzes Fantasy Premier League players, fixtures, teams, captain choices, transfers, mini-leagues, and expected-point outcomes.

compare_players
Compare FPL players
Use this when choosing between two or three FPL players (e.g. 'Saka or Palmer?'): expected points over the coming gameweeks, form, price and ownership side by side.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'compare_playersArguments', 'required': ['names'], 'properties': {'names': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'title': 'Names', 'maxItems': 3, 'minItems': 2, 'description': '2-3 player names'}, 'horizon': {'type': 'integer', 'title': 'Horizon', 'default': 5, 'maximum': 8, 'minimum': 1, 'description': 'How many gameweeks ahead to count (1-8).'}}}
create_share_link
Share this card
Creates a public fplcopilot.com page for an FPL Copilot card so it can be shared.
Open world
Input schema
{'type': 'object', 'title': 'create_share_linkArguments', 'required': ['component', 'data'], 'properties': {'data': {'type': 'object', 'title': 'Data', 'description': "The card's data object", 'additionalProperties': True}, 'token': {'anyOf': [{'type': 'string', 'maxLength': 64}, {'type': 'null'}], 'title': 'Token', 'default': None, 'description': "The card's share token (from the result's _meta)"}, 'component': {'type': 'string', 'title': 'Component', 'maxLength': 40, 'description': "The card's component, e.g. rating_card"}}}
find_players
Find FPL players by expected points
Use this to find the best Fantasy Premier League (fantasy football) players by FPL Copilot expected points (xPts), filtered by position, price, club or ownership, and sorted by points, value per £m, or as low-owned differentials.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'find_playersArguments', 'properties': {'sort': {'enum': ['xpts', 'value', 'differential'], 'type': 'string', 'title': 'Sort', 'default': 'xpts', 'description': 'xpts (default), value (xPts per £m) or differential (low-owned)'}, 'team': {'anyOf': [{'type': 'string', 'maxLength': 30, 'minLength': 1}, {'type': 'null'}], 'title': 'Team', 'default': None, 'description': 'Club, e.g. ARS or Arsenal'}, 'limit': {'type': 'integer', 'title': 'Limit', 'default': 10, 'maximum': 15, 'minimum': 1, 'description': 'How many players (max 15)'}, 'horizon': {'type': 'integer', 'title': 'Horizon', 'default': 5, 'maximum': 8, 'minimum': 1, 'description': 'How many gameweeks ahead to count (1-8).'}, 'position': {'anyOf': [{'enum': ['GK', 'DEF', 'MID', 'FWD'], 'type': 'string'}, {'type': 'null'}], 'title': 'Position', 'default': None, 'description': 'Position'}, 'max_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Max Price', 'default': None, 'description': 'Max price in £m, e.g. 8.0'}, 'min_price': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Min Price', 'default': None, 'description': 'Min price in £m'}, 'max_ownership': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Max Ownership', 'default': None, 'description': 'Max ownership %, e.g. 10 for differentials'}}}
get_best_chip_squad
Best FPL Wildcard or Free Hit team
Use this when someone wants the best FPL Wildcard or Free Hit squad for a gameweek, built by FPL Copilot's optimiser within £100m and FPL squad rules.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_best_chip_squadArguments', 'properties': {'gw': {'anyOf': [{'type': 'integer', 'maximum': 38, 'minimum': 1}, {'type': 'null'}], 'title': 'Gw', 'default': None, 'description': 'Gameweek (default: next)'}, 'chip': {'enum': ['wildcard', 'free_hit'], 'type': 'string', 'title': 'Chip', 'default': 'wildcard', 'description': 'wildcard or free_hit'}}}
get_captain_picks
FPL captain picks
Use this when someone asks who to captain in Fantasy Premier League (fantasy football) this gameweek. With a team ID it ranks their own players; without one it lists the best captain options in the game.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_captain_picksArguments', 'properties': {'team_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Team Id', 'default': None, 'description': "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."}}}
get_deadline
FPL deadline
Use this for the next Fantasy Premier League deadline time and gameweek.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_deadlineArguments', 'properties': {}}
get_fixture_ticker
FPL fixture difficulty
Use this for Fantasy Premier League fixture difficulty (FDR): each club's coming fixtures and their average difficulty, easiest runs first.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_fixture_tickerArguments', 'properties': {'gw_to': {'anyOf': [{'type': 'integer', 'maximum': 38, 'minimum': 1}, {'type': 'null'}], 'title': 'Gw To', 'default': None, 'description': 'Last gameweek. Leave empty for a 6-gameweek view (max 8 ahead)'}, 'teams': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 30, 'minLength': 1}, 'maxItems': 20}, {'type': 'null'}], 'title': 'Teams', 'default': None, 'description': 'Clubs to include (default: all 20)'}, 'gw_from': {'anyOf': [{'type': 'integer', 'maximum': 38, 'minimum': 1}, {'type': 'null'}], 'title': 'Gw From', 'default': None, 'description': 'First gameweek. Leave empty for the next gameweek; set only if the user names one'}}}
get_gameweek_review
FPL gameweek review
Use this to review an FPL manager's gameweek: points vs the average, captain result, bench points and transfers, plus how lucky their season has been against FPL Copilot's expected points.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_gameweek_reviewArguments', 'properties': {'gw': {'anyOf': [{'type': 'integer', 'maximum': 38, 'minimum': 1}, {'type': 'null'}], 'title': 'Gw', 'default': None, 'description': 'Gameweek (default: the last finished)'}, 'team_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Team Id', 'default': None, 'description': "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."}}}
get_mini_league
FPL mini-league standings
Use this for an FPL mini-league: standings, the gap to the leader, and rivals' captains and differential picks. Without a league ID it lists the manager's leagues to choose from.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_mini_leagueArguments', 'properties': {'team_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Team Id', 'default': None, 'description': "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."}, 'league_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'League Id', 'default': None, 'description': "Mini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues."}}}
get_mini_league_odds
FPL mini-league win chances
Use this when an FPL manager asks their chances (or odds) of winning their mini-league: each manager's win and top-3 probability from 5,000 simulations of the rest of the season.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_mini_league_oddsArguments', 'properties': {'team_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Team Id', 'default': None, 'description': "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."}, 'league_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'League Id', 'default': None, 'description': "Mini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues."}}}
get_my_team
Show my FPL team
Use this for start, bench and captain questions about an FPL manager's own squad: each player's FPL Copilot expected points for the next gameweek with fixtures, and the best XI and captain. It shows the squad and does not score it. Needs their team ID or FPL link, or player names from a screenshot.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_my_teamArguments', 'properties': {'players': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 15}, {'type': 'null'}], 'title': 'Players', 'default': None, 'description': "11-15 FPL player names (e.g. read from a screenshot of their team), used when there is no team ID. Add the club to disambiguate, e.g. 'Palmer CHE'."}, 'team_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Team Id', 'default': None, 'description': "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."}}}
get_penalty_takers
FPL penalty takers
Use this to find who takes penalties, corners and free kicks for Premier League clubs in FPL, with each taker's share of the club's penalties.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_penalty_takersArguments', 'properties': {'teams': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 30, 'minLength': 1}, 'maxItems': 20}, {'type': 'null'}], 'title': 'Teams', 'default': None, 'description': "Clubs, e.g. ['BHA'] (default: all 20)"}}}
get_player
FPL player card
Use this for one to five FPL players: expected points for each coming gameweek with fixtures, injury news, price and price-change progress, ownership, xG/xA and penalty share.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_playerArguments', 'required': ['names'], 'properties': {'names': {'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'title': 'Names', 'maxItems': 5, 'minItems': 1, 'description': "1-5 player names, e.g. ['Haaland']"}, 'horizon': {'type': 'integer', 'title': 'Horizon', 'default': 5, 'maximum': 8, 'minimum': 1, 'description': 'How many gameweeks ahead to count (1-8).'}}}
get_player_breakdown
Player card
The FPL Copilot player card's data for one player (for the card's own view).
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_player_breakdownArguments', 'required': ['player_id'], 'properties': {'player_id': {'type': 'integer', 'title': 'Player Id', 'maximum': 5000, 'minimum': 1, 'description': 'The FPL player (element) id'}}}
get_predicted_lineups
FPL predicted lineups
Use this for predicted Premier League starting XIs for the next FPL gameweek, from FPL Copilot's expected minutes, updated with team news.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_predicted_lineupsArguments', 'properties': {'teams': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 30, 'minLength': 1}, 'maxItems': 20}, {'type': 'null'}], 'title': 'Teams', 'default': None, 'description': "Clubs, e.g. ['ARS', 'Chelsea'] (default: all 20)"}}}
get_price_changes
FPL price changes
Use this for FPL price rises and falls: players likely to change price tonight, or changes already made this gameweek.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'get_price_changesArguments', 'properties': {'view': {'enum': ['tonight', 'recent'], 'type': 'string', 'title': 'View', 'default': 'tonight', 'description': 'tonight (default): likely changes tonight; recent: changes made this gameweek'}, 'names': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 10}, {'type': 'null'}], 'title': 'Names', 'default': None, 'description': 'Specific players to check'}}}
rate_my_team
Rate my FPL team
Use this when a Fantasy Premier League (FPL, fantasy football) manager wants their team rated or reviewed. Scores the squad 0-100 against the best possible squad over the next 5 gameweeks and lists the biggest fixes, naming the players; pass their team ID or FPL link, or the player names read from a screenshot of their team.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'rate_my_teamArguments', 'properties': {'captain': {'anyOf': [{'type': 'string', 'maxLength': 40, 'minLength': 1}, {'type': 'null'}], 'title': 'Captain', 'default': None, 'description': "Captain's name, if known"}, 'players': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'maxItems': 15}, {'type': 'null'}], 'title': 'Players', 'default': None, 'description': "11-15 FPL player names (e.g. read from a screenshot of their team), used when there is no team ID. Add the club to disambiguate, e.g. 'Palmer CHE'."}, 'team_id': {'anyOf': [{'type': 'integer'}, {'type': 'string', 'maxLength': 200}, {'type': 'null'}], 'title': 'Team Id', 'default': None, 'description': "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."}}}
read_guide
Read an FPL Copilot guide
Use this to read one FPL Copilot Fantasy Premier League guide in full, by its slug or its fplcopilot.com/blog/ link.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'read_guideArguments', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'title': 'Slug', 'maxLength': 200, 'description': "The guide's slug, or its fplcopilot.com/blog/ link"}}}
search_guides
Search FPL Copilot guides
Use this to find FPL Copilot's Fantasy Premier League guides: gameweek tips, chip guides (Wildcard, Free Hit, Bench Boost, Triple Captain), penalty takers, fixtures and how FPL scoring works.
Read only Idempotent
Input schema
{'type': 'object', 'title': 'search_guidesArguments', 'properties': {'gw': {'anyOf': [{'type': 'integer', 'maximum': 38, 'minimum': 1}, {'type': 'null'}], 'title': 'Gw', 'default': None, 'description': 'Prefer guides for this gameweek'}, 'query': {'anyOf': [{'type': 'string', 'maxLength': 100}, {'type': 'null'}], 'title': 'Query', 'default': None, 'description': "What to look for, e.g. 'bench boost' or 'GW7 tips'"}}}
Added
get_player_breakdown
Oct. 1, 2026, 2:40 a.m.
Added
create_share_link
Oct. 1, 2026, 2:40 a.m.
Added
read_guide
Oct. 1, 2026, 2:40 a.m.
Added
search_guides
Oct. 1, 2026, 2:40 a.m.
Added
get_predicted_lineups
Oct. 1, 2026, 2:40 a.m.
Added
get_deadline
Oct. 1, 2026, 2:40 a.m.
Added
get_gameweek_review
Oct. 1, 2026, 2:40 a.m.
Added
get_mini_league_odds
Oct. 1, 2026, 2:40 a.m.
Added
get_mini_league
Oct. 1, 2026, 2:40 a.m.
Added
get_best_chip_squad
Oct. 1, 2026, 2:40 a.m.
Added
get_penalty_takers
Oct. 1, 2026, 2:40 a.m.
Added
get_price_changes
Oct. 1, 2026, 2:40 a.m.
Added
get_fixture_ticker
Oct. 1, 2026, 2:40 a.m.
Added
compare_players
Oct. 1, 2026, 2:40 a.m.
Added
get_player
Oct. 1, 2026, 2:40 a.m.
Added
find_players
Oct. 1, 2026, 2:40 a.m.
Added
get_captain_picks
Oct. 1, 2026, 2:40 a.m.
Added
get_my_team
Oct. 1, 2026, 2:40 a.m.
Added
rate_my_team
Oct. 1, 2026, 2:40 a.m.