# Fantasy Premier League (FPL) [Health: Active]

**Category:** 🏃 Sports  
**Repository:** https://github.com/GilbertKamau/fpl_mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/fantasy-premier-league-fpl

## Description
FPL data, points predictions, and transfer, captain and chip advice for any team.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "fantasy-premier-league-fpl": {
    "command": "npx",
    "args": ["-y","fpl-mcp-server"],
    "env": {
      "DATABASE_URL": ""
    }
  }
}
```

**Requires environment variables:** `DATABASE_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What Fantasy Premier League (FPL) does

Fantasy Premier League (FPL) MCP server exposes Fantasy Premier League data and decision-support tools to MCP-compatible AI applications. It reads current-season information from the official FPL API, including players, prices, injuries, teams, fixtures, gameweeks, and per-match statistics. Historical player and match data from the 2016-17 season onward comes from the vaastav dataset.

The Fantasy Premier League (FPL) MCP server can answer player and fixture questions, inspect a manager's public squad, compare players, and summarize team performance. It also uses a LightGBM model to estimate each player's points for the next one to five gameweeks. Those estimates feed squad selection, transfer, captain, and chip recommendations.

This belongs in the 🏃 Sports category and is intended for managers who want current FPL analysis inside an AI client rather than manually combining the official site, fixture lists, and historical data.

## How it works

The server can run locally over stdio or be reached through HTTP at a deployed MCP URL. Local operation keeps the process on the user's computer; remote operation is needed for clients such as claude.ai, ChatGPT, and Grok that cannot start a local program. The project also documents a hosted endpoint and an npm command for applications that launch local servers.

Data is stored in SQLite by default, with Supabase available as an alternative. Synchronization jobs load the live snapshot, current-season match records, and selected or complete historical seasons. Model jobs train, evaluate, compare, and generate predictions. A weekly workflow can refresh live and current data before retraining and updating predictions.

Predictions use player form, minutes and starts, attacking and defensive statistics, ownership and transfers, price and position, home or away status, rest time, team strength, and fixture context. Injury or suspension availability adjusts the next gameweek estimate. Double gameweeks contribute multiple fixtures. The optimizer applies squad size, formation, club-limit, budget, and transfer-cost rules, while reducing the weight of predictions farther into the future.

## Setup and configuration

Running from source requires Python 3.12 or later. A typical local setup creates a virtual environment, installs the project with its Supabase and development extras, synchronizes data, and trains the model. Initial synchronization and training take several minutes, depending on the destination and data selected.

SQLite uses `data/fpl.db` by default. Supabase requires a `DATABASE_URL` containing a Session pooler connection string; tables are created automatically. The repository keeps the database, cache, logs, trained models, and environment file outside version control. After reloading historical data, the cache can be rebuilt with the refresh-cache option.

The documented alternatives are the remote URL, `npx -y fpl-mcp-server` for local-server clients, Smithery, and the official MCP Registry. The hosted free-plan deployment may have a slow first response after a period without requests.

## Tools and capabilities

Available MCP tools include:

- Check the current or upcoming gameweek and deadline with `gameweek_status`.
- Search, inspect, and compare players with `search_players`, `get_player`, and `compare_players`.
- Review fixtures and team performance with `get_fixtures` and `team_summary`.
- Retrieve a player's season-by-season record with `player_season_history`.
- Read a public manager squad with `get_my_team`; no login is used.
- Rank expected points with `predict_points` and inspect model results with `model_report`.
- Build a budget-constrained squad with `optimal_squad`.
- Receive transfer or roll advice with `suggest_transfers`, captain choices with `pick_captain`, and chip recommendations with `chip_advice`.
- Pull a new live snapshot with `refresh_data`.

## Limitations and notes

The server uses public manager endpoints, so transfers made after the last deadline are not visible. Selling prices and available free transfers are estimated from public transfer and gameweek history. Predictions are not guarantees: FPL scoring is noisy, and historical evaluations lack historical injury information. Data also has known quirks, including unusual 2019-20 gameweek numbering and assistant-manager rows in 2024-25 that the model ignores. xG and xA are available only from 2022-23 onward.

_Full upstream README: https://allmcps.com/mcp/fantasy-premier-league-fpl/readme_

