Skip to content

Releases: fantasypl/mcp

v0.2.1

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 08 Oct 13:34
0b8bd52

Adds a Wildcard mode to optimal_transfers, in time for the international break.

Added

  • Wildcard mode (#21): set wildcard on optimal_transfers to find the best squad you can reach from your current one. It runs one search with unlimited transfers and no hit cost, budgeted at your bank plus the selling prices of your current 15. The result lists transfers out and in, the projected gain over keeping your squad, and the starting XI, formation, bench order and captain for the target gameweek. wildcard with allow_hits is an error.

Live runs against four top teams took 0.4s to 0.7s and were solved to optimality.

Rollout notes:

  • Selling prices are computed from your public transfer history. Check the total budget against the FPL site before you confirm a Wildcard.
  • Projections use this season's form and points per game only, so after five gameweeks cheap players on hot starts can rank above proven premiums. The Wildcard squad reflects that, and may leave money unspent.

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for setup and CHANGELOG.md for the complete history.

v0.2.0

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 08 Oct 13:04
428483b

The optimiser and budget numbers are now fit for Wildcard and transfer decisions. Squads are scored by their starting XI, budgets use selling prices, and optimal_transfers with hits finishes in seconds. Some responses gain fields; nothing existing is removed.

Fixed

  • Bench players no longer count as starters (#31): optimal_squad and optimal_transfers score a squad as its best XI in a valid formation over the 5-gameweek window, plus 0.1 of each bench player. The suggested XI is picked for the target gameweek, and both tools add projected_points_basis to say what projected_points sums. Under this scoring more optimal_transfers options hit the 8s search limit and are marked partial.
  • Selling prices (#18): fpl_manager_hub, transfer_suggestions, optimal_transfers and is_hit_worth_it budget with what FPL would actually pay you (purchase price plus half of any rise), not market prices. For the teams checked, the real budget came out 0.4m to 1.3m lower. Market prices stay in cost; selling_price sits beside it.
  • allow_hits timeouts (#22): the up to four searches run in parallel, and the FPL client no longer retries a 404 for next gameweek's picks before the deadline, which added 3.8s to every call. Live runs over 8 teams took 1.0s to 8.3s. The result adds partial when a search hits its limit.
  • One captain (#23): fpl_manager_hub adds captain_choice with a one-line reason. captain_score decides; within 5% of the leader, the higher ep_next breaks the tie, but only for a player with real attacking threat.
  • Prompts and resources (#27): every prompt and resource has a title, prompt arguments have descriptions, and mcpb/manifest.json now declares the prompts and the two tools it was missing. This may fix the missing "Add from" entry in Claude Desktop; it isn't confirmed yet, so #27 stays open.

Added

  • include_player_ids for optimal_squad (#20): force players in and see what it costs. Forcing Saka into a £100m squad cost 0.36 points.
  • captain_pick for any set of players (#7): pass player_ids, such as an optimal_squad result, or team_id.
  • Deadline in the hub (#19): gameweek_status gives the next deadline in UTC, time left, and current and next gameweek state. fpl://status uses the same helper.
  • manager_transfer_history (#18): every transfer this season with gameweek, price paid, sale price and current price.
  • Bookmaker odds in fixture_outlook (#29): with your own API-Football key, each fixture adds market_clean_sheet_pct and market_expected_goals. Over four seasons, odds predicted clean sheets better than FDR. Opt-in and informational only. Not yet tested against the live API for 2026-27.

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for setup and CHANGELOG.md for the complete history.

v0.1.5

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 08 Oct 11:42
4efdd56

Fixes remote weights silently falling back to defaults when a setting has stray whitespace.

Fixed

  • Whitespace in settings (#28): a .mcpb setting with a leading or trailing space, such as the weights URL, broke URL parsing, and the server ran on default weights without saying so. Every environment setting is now trimmed: remoteweights, remotecongestion, FPL_LOG_LEVEL, the cache TTLs, and fplctl's vaastav settings. A value that is only whitespace falls back to the default.

If you set the weights URL through Claude Desktop's extension settings, update to this release. Your server log should no longer show remoteweights: build request: parse.

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for setup and CHANGELOG.md for the complete history.

v0.1.4

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 21 Sep 02:43
d621394

Tool-output fixes for squad_scout, player_comparison, fpl_manager_hub, transfer_suggestions, optimal_transfers and optimal_squad. Responses gain new fields; nothing existing is removed.

Fixed

  • Player news is labelled (#1): news carries source, confidence (provisional for suspensions) and an absolute news_added date. squad_scout adds a provisional suspension_estimate derived from red-card data.
  • Name matching (#2): player_comparison ignores case and diacritics ("Joao Pedro" finds "João Pedro"), ranks prefix matches above substring matches, breaks ties by ownership, and adds warnings for non-exact or ambiguous matches.
  • Bench order (#3): fpl_manager_hub returns suggested_bench_order by projected points. squad is unchanged.
  • Flagged players (#4): the hub's transfer_suggestions covers every poor-form starter and injured or suspended player, not only the worst by value.
  • Confidence (#5): each optimal_transfers option has confidence, confidence_notes and a safest flag. best still means highest projection.
  • Starting XI (#6): optimal_squad returns starting_xi, formation, bench_order and a recommended captain and vice-captain.
  • Captain signals (#8): the hub adds captain_signal_note when captain_score and ep_next disagree.
  • Price risk (#9): transfer suggestions and optimal transfers show price_risk inline for players price_predictions flags.

See CHANGELOG.md for the full detail.

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for setup and CHANGELOG.md for the complete history.

v0.1.3

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 12 Sep 15:03
adb603e

Adds a self-hosted Champions League fixture-congestion signal, opt-in — no behavior change for the default install.

Added

  • internal/openfootball: fetches and parses openfootball/champions-league's free, public-domain match schedules. Covers Champions League only (verified live that Europa League/Conference League/domestic cups have no equivalent free source with confirmed accessible data).
  • fplctl congestion-capture: captures the parsed schedule, resolved to FPL teams, for a companion repo to commit.
  • internal/remotecongestion: reads that captured file and can replace the FPL-Core-Insights-backed congestion signal when FPL_MCP_CONGESTION_URL is set — unset by default.

See CHANGELOG.md for the full detail, including why Europa League/Conference League/domestic cups aren't covered.

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for setup and CHANGELOG.md for the complete history.

v0.1.2

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 12 Sep 14:07
25c394a

Adds self-hosting support for the two data sources that don't require any new infrastructure to replace — no behavior change for the default install.

Added

  • internal/vaastav.Corpus can now authenticate to a private, self-hosted vaastav-compatible mirror via an optional AuthToken — fplctl's six backtest/regression commands share a newVaastavCorpus() reading FPLCTL_VAASTAV_BASE_URL/FPLCTL_VAASTAV_TOKEN (both unset by default).
  • fplctl elo-capture: archives clubelo.com's current-season team Elo ratings to elo/teams.json, for a companion repo to version independently of FPL-Core-Insights.

See CHANGELOG.md for the full detail.

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for setup and CHANGELOG.md for the complete history.

v0.1.1

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 12 Sep 13:51
0a98a90

Adds an optional, opt-in data-driven scoring path and the MCPB config surface to enable it — no behavior change for the default install.

Added

  • internal/remoteweights: the live server can now fetch a centrally-computed optimized_weights.json from a private, Cloudflare Access-gated endpoint and use it in place of the hand-tuned defaults — entirely inert unless FPL_MCP_WEIGHTS_URL is set, which no public install has. See CHANGELOG.md for the full design.
  • .mcpb installs can now fill in that URL and the Cloudflare Access service-token credentials through Claude Desktop's extension settings UI (optional, blank by default).

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for setup and CHANGELOG.md for the complete history.

v0.1.0

Choose a tag to compare

@asahasrabuddhe asahasrabuddhe released this 12 Sep 10:56
965e560

First release of FPL Intelligence: an MCP server for Fantasy Premier League analysis, backed live by the official FPL API — no API keys, no hosted service, no per-request cost.

Tools

  • fpl_manager_hub — full manager intelligence report (best starting point)
  • captain_pick — top 5 captain recommendations for a gameweek
  • differential_finder — underowned players outperforming ownership, with finishing-regression and positional role-change signals
  • fixture_outlook — teams ranked by upcoming fixture difficulty, with cross-competition congestion flags
  • price_predictions — likely price rises/falls tonight
  • transfer_suggestions — heuristic single-swap transfer recommendations
  • optimal_squad — the highest-projected-points 15-man squad under a budget, via an exact branch-and-bound optimizer
  • optimal_transfers — combinatorially optimal transfers for your current squad, weighed against hit cost
  • player_comparison — head-to-head comparison of 2-4 players
  • live_points — live scoring during an active gameweek
  • is_hit_worth_it — whether a -4 transfer hit is worth taking
  • chip_strategy — when to use each remaining chip
  • rival_tracker / league_analyzer — mini-league analysis and win-probability predictions
  • squad_scout — deep scout report using FPL's less-visible data fields

Plus fpl://status/fpl://teams resources and five pre-built prompts.

Install

Download the .mcpb bundle for your platform below and install it in Claude Desktop, or:

go install github.com/fantasypl/mcp/cmd/fpl-mcp@latest

See README.md for full setup, and CHANGELOG.md for the complete list of what shipped, including measured-and-rejected experiments (Elo fixtures, recent-minutes rotation risk) alongside what made the cut.