Fantasy Premier League expected points, team ratings, captaincy and mini-league win chances.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when choosing between two or three FPL players (e.g. 'Saka or Palmer?', one transfer for another, or whether a -4 hit is worth it): expected points over the coming gameweeks, form, price and ownership side by side.
2-3 player names
How many gameweeks ahead to count (1-8).
Use this when choosing between two or three FPL players (e.g. 'Saka or Palmer?', one transfer for another, or whether a -4 hit is worth it): expected points over the coming gameweeks, form, price and ownership side by side.
| Argument | Type | Description |
|---|---|---|
| names* | array | 2-3 player names |
| horizon | integer | How many gameweeks ahead to count (1-8). |
{
"type": "object",
"title": "compare_playersArguments",
"required": [
"names"
],
"properties": {
"names": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"title": "Names",
"maxItems": 10,
"description": "2-3 player names"
},
"horizon": {
"type": "integer",
"title": "Horizon",
"default": 5,
"description": "How many gameweeks ahead to count (1-8)."
}
}
}App-only. The FPL Copilot card's Share button calls this with the card's share token; it publishes that card, as this server made it, to a public fplcopilot.com page and returns the link. Nothing else can be published.
| Argument | Type | Description |
|---|---|---|
| token* | string | The share token of a card this server made |
{
"type": "object",
"title": "create_share_linkArguments",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"title": "Token",
"pattern": "^[0-9a-f]{40}$",
"description": "The share token of a card this server made"
}
}
}Use this to find the best Fantasy Premier League (fantasy football) players to pick or buy, by FPL Copilot expected points (xPts, also called predicted or projected points), filtered by position, price, club or ownership, and sorted by points, value per £m, or as low-owned differentials. Classic FPL, not FPL Draft.
| Argument | Type | Description |
|---|---|---|
| sort | string | xpts (default), value (xPts per £m) or differential (low-owned) |
| team | any | Club, e.g. ARS or Arsenal |
| limit | integer | How many players (1-15) |
| horizon | integer | How many gameweeks ahead to count (1-8). |
| position | any | Position: GK, DEF, MID or FWD |
| max_price | any | Max price in £m, e.g. 8.0 |
| min_price | any | Min price in £m |
| max_ownership | any | Max ownership %, e.g. 10 for differentials |
{
"type": "object",
"title": "find_playersArguments",
"properties": {
"sort": {
"type": "string",
"title": "Sort",
"default": "xpts",
"maxLength": 24,
"description": "xpts (default), value (xPts per £m) or differential (low-owned)"
},
"team": {
"anyOf": [
{
"type": "string",
"maxLength": 30,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Team",
"default": null,
"description": "Club, e.g. ARS or Arsenal"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 10,
"description": "How many players (1-15)"
},
"horizon": {
"type": "integer",
"title": "Horizon",
"default": 5,
"description": "How many gameweeks ahead to count (1-8)."
},
"position": {
"anyOf": [
{
"type": "string",
"maxLength": 24
},
{
"type": "null"
}
],
"title": "Position",
"default": null,
"description": "Position: GK, DEF, MID or FWD"
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Price",
"default": null,
"description": "Max price in £m, e.g. 8.0"
},
"min_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Price",
"default": null,
"description": "Min price in £m"
},
"max_ownership": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Ownership",
"default": null,
"description": "Max ownership %, e.g. 10 for differentials"
}
}
}Use this when someone wants the best FPL Wildcard or Free Hit squad for any gameweek, or the best FPL team right now, built by FPL Copilot's optimiser within £100m and FPL squad rules. Not for a Bench Boost team or when to play a chip: the result links FPL Copilot's Chip Strategies for that.
| Argument | Type | Description |
|---|---|---|
| gw | any | Gameweek (default: next) |
| chip | string | wildcard or free_hit (bench_boost and triple_captain, played on the manager's own team, return where to plan them) |
{
"type": "object",
"title": "get_best_chip_squadArguments",
"properties": {
"gw": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"title": "Gw",
"default": null,
"description": "Gameweek (default: next)"
},
"chip": {
"type": "string",
"title": "Chip",
"default": "wildcard",
"maxLength": 24,
"description": "wildcard or free_hit (bench_boost and triple_captain, played on the manager's own team, return where to plan them)"
}
}
}Use this when someone asks who to captain (or Triple Captain) in Fantasy Premier League (fantasy football) this gameweek. Call it even without their team: it then lists the best captain options in the game. With a team ID (or their team from an earlier chat) it ranks their own players; scope "all" ranks the game.
| Argument | Type | Description |
|---|---|---|
| scope | any | all: the best captains in the game, for general asks; squad: from the user's own team |
| team_id | any | The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown. |
{
"type": "object",
"title": "get_captain_picksArguments",
"properties": {
"scope": {
"anyOf": [
{
"type": "string",
"maxLength": 24
},
{
"type": "null"
}
],
"title": "Scope",
"default": null,
"description": "all: the best captains in the game, for general asks; squad: from the user's own team"
},
"team_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Team Id",
"default": null,
"description": "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."
}
}
}Use this for the next Fantasy Premier League deadline time and gameweek.
No arguments.
{
"type": "object",
"title": "get_deadlineArguments",
"properties": {}
}Use this for Fantasy Premier League fixture difficulty (FDR) and which teams have the easiest or hardest fixtures: each club's coming fixtures and their average difficulty, easiest runs first.
| Argument | Type | Description |
|---|---|---|
| gw_to | any | Last gameweek. Leave empty for a 6-gameweek view (max 8 ahead) |
| teams | any | Clubs to include (default: all 20) |
| gw_from | any | First gameweek. Leave empty for the next gameweek; set only if the user names one |
{
"type": "object",
"title": "get_fixture_tickerArguments",
"properties": {
"gw_to": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"title": "Gw To",
"default": null,
"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": 40
},
{
"type": "null"
}
],
"title": "Teams",
"default": null,
"description": "Clubs to include (default: all 20)"
},
"gw_from": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"title": "Gw From",
"default": null,
"description": "First gameweek. Leave empty for the next gameweek; set only if the user names one"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| gw | any | Gameweek (default: the last finished) |
| team_id | any | The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown. |
{
"type": "object",
"title": "get_gameweek_reviewArguments",
"properties": {
"gw": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"title": "Gw",
"default": null,
"description": "Gameweek (default: the last finished)"
},
"team_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Team Id",
"default": null,
"description": "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."
}
}
}App-only. The mini-league card calls this when the user taps a rival, to show that manager's squad on a pitch.
| Argument | Type | Description |
|---|---|---|
| gw | any | A played gameweek (default: the last) |
| entry_id* | integer | The rival's FPL team (entry) id |
{
"type": "object",
"title": "get_manager_squadArguments",
"required": [
"entry_id"
],
"properties": {
"gw": {
"anyOf": [
{
"type": "integer",
"maximum": 38,
"minimum": 1
},
{
"type": "null"
}
],
"title": "Gw",
"default": null,
"description": "A played gameweek (default: the last)"
},
"entry_id": {
"type": "integer",
"title": "Entry Id",
"maximum": 99999999,
"minimum": 1,
"description": "The rival's FPL team (entry) id"
}
}
}Use this for an FPL mini-league or a manager's rivals in it: 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.
| Argument | Type | Description |
|---|---|---|
| team_id | any | The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown. |
| league_id | any | Mini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues. |
{
"type": "object",
"title": "get_mini_leagueArguments",
"properties": {
"team_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Team Id",
"default": null,
"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": null,
"description": "Mini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| team_id | any | The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown. |
| league_id | any | Mini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues. |
{
"type": "object",
"title": "get_mini_league_oddsArguments",
"properties": {
"team_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Team Id",
"default": null,
"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": null,
"description": "Mini-league ID, or the FPL league standings link. Leave empty to list the manager's leagues."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| players | any | 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 | any | The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown. |
{
"type": "object",
"title": "get_my_teamArguments",
"properties": {
"players": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20
},
{
"type": "null"
}
],
"title": "Players",
"default": null,
"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": null,
"description": "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."
}
}
}Use this to find who takes penalties, corners and free kicks for Premier League clubs in FPL, with each penalty taker's chance of being his club's main taker.
| Argument | Type | Description |
|---|---|---|
| teams | any | Clubs, e.g. ['BHA'] (default: all 20) |
{
"type": "object",
"title": "get_penalty_takersArguments",
"properties": {
"teams": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"maxItems": 40
},
{
"type": "null"
}
],
"title": "Teams",
"default": null,
"description": "Clubs, e.g. ['BHA'] (default: all 20)"
}
}
}Use this for one to five FPL players, e.g. whether to buy, sell or start them: expected points for each coming gameweek with fixtures, injury news, price and price-change progress, ownership, xG/xA and his chance of being the main penalty taker.
| Argument | Type | Description |
|---|---|---|
| names* | array | 1-5 player names, e.g. ['Haaland'] |
| horizon | integer | How many gameweeks ahead to count (1-8). |
{
"type": "object",
"title": "get_playerArguments",
"required": [
"names"
],
"properties": {
"names": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"title": "Names",
"maxItems": 15,
"description": "1-5 player names, e.g. ['Haaland']"
},
"horizon": {
"type": "integer",
"title": "Horizon",
"default": 5,
"description": "How many gameweeks ahead to count (1-8)."
}
}
}App-only. The FPL Copilot card calls this when the user taps a player, to open that player's card: expected points by gameweek and by source (minutes, goals, assists, clean sheets, bonus), fixtures and news.
| Argument | Type | Description |
|---|---|---|
| player_id* | integer | The FPL player (element) id |
{
"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"
}
}
}App-only. The FPL Copilot card calls this as it opens, to load the player cards of the players it shows, so a tap opens one at once.
| Argument | Type | Description |
|---|---|---|
| player_ids* | array | FPL player (element) ids |
{
"type": "object",
"title": "get_player_breakdownsArguments",
"required": [
"player_ids"
],
"properties": {
"player_ids": {
"type": "array",
"items": {
"type": "integer",
"maximum": 5000,
"minimum": 1
},
"title": "Player Ids",
"maxItems": 45,
"minItems": 1,
"description": "FPL player (element) ids"
}
}
}Use this for predicted Premier League starting XIs and team news for the next FPL gameweek (who starts, who is injured or rotated), from FPL Copilot's expected minutes.
| Argument | Type | Description |
|---|---|---|
| teams | any | Clubs, e.g. ['ARS', 'Chelsea'] (default: all 20) |
{
"type": "object",
"title": "get_predicted_lineupsArguments",
"properties": {
"teams": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 30,
"minLength": 1
},
"maxItems": 40
},
{
"type": "null"
}
],
"title": "Teams",
"default": null,
"description": "Clubs, e.g. ['ARS', 'Chelsea'] (default: all 20)"
}
}
}Use this for FPL price rises and falls: players likely to change price tonight, or changes already made this gameweek.
| Argument | Type | Description |
|---|---|---|
| view | string | tonight (default): likely changes tonight; recent: changes made this gameweek |
| names | any | Specific players to check |
{
"type": "object",
"title": "get_price_changesArguments",
"properties": {
"view": {
"type": "string",
"title": "View",
"default": "tonight",
"maxLength": 24,
"description": "tonight (default): likely changes tonight; recent: changes made this gameweek"
},
"names": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20
},
{
"type": "null"
}
],
"title": "Names",
"default": null,
"description": "Specific players to check"
}
}
}Use this when a Fantasy Premier League (FPL, fantasy football) manager wants their team rated or reviewed, or shares their team ID or FPL link without saying more. 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.
| Argument | Type | Description |
|---|---|---|
| captain | any | Captain's name, if known |
| players | any | 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 | any | The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown. |
{
"type": "object",
"title": "rate_my_teamArguments",
"properties": {
"captain": {
"anyOf": [
{
"type": "string",
"maxLength": 60,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Captain",
"default": null,
"description": "Captain's name, if known"
},
"players": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"minLength": 1
},
"maxItems": 20
},
{
"type": "null"
}
],
"title": "Players",
"default": null,
"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": null,
"description": "The manager's FPL team ID (entry ID), or any FPL link containing /entry/<id>/. Leave empty if unknown."
}
}
}Use this to read one FPL Copilot Fantasy Premier League guide in full, by its slug or its fplcopilot.com/blog/ link.
| Argument | Type | Description |
|---|---|---|
| slug* | string | The guide's slug, or its fplcopilot.com/blog/ link |
{
"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"
}
}
}Use this for Fantasy Premier League rules and how-to questions (scoring, free transfers, chips and when to play them, DefCon, FDR) and FPL Copilot's guides: gameweek tips, chip guides, penalty takers, fixtures. FPL's rules change each season (free transfers now roll over up to 5), so use these, not memory.
| Argument | Type | Description |
|---|---|---|
| gw | any | Prefer guides for this gameweek |
| query | any | What to look for, e.g. 'bench boost' or 'GW7 tips' |
{
"type": "object",
"title": "search_guidesArguments",
"properties": {
"gw": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string",
"maxLength": 12
},
{
"type": "null"
}
],
"title": "Gw",
"default": null,
"description": "Prefer guides for this gameweek"
},
"query": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
],
"title": "Query",
"default": null,
"description": "What to look for, e.g. 'bench boost' or 'GW7 tips'"
}
}
}