Skip to main content

AI-powered Fantasy Premier League MCP server — captain picks, transfer suggestions, player comparison, chip strategy, and more

Project description

FPL Intelligence — MCP Server

PyPI version CI License: MIT Python 3.12+ MCP

AI-powered Fantasy Premier League assistant for Claude Desktop. Get personalized captain picks, transfer suggestions, differentials, fixture analysis, price predictions, and live points — all from real FPL data.

FPL Intelligence MCP server

Quick Start

1. Install:

pip install fpl-intelligence

2. Add to Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "fpl": {
      "command": "fpl-intelligence"
    }
  }
}

3. Restart Claude Desktop and ask:

"Analyze FPL team YOUR_TEAM_ID and give me your full recommendation."

That's it. Bank balance, free transfers, and chips are all auto-detected — just provide your team ID.

Install from Source

git clone https://github.com/dohyung1/x402-fpl-api.git
cd x402-fpl-api
uv sync
{
  "mcpServers": {
    "fpl": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/x402-fpl-api", "mcp_server.py"]
    }
  }
}

Find Your FPL Team ID

Go to the FPL website, click "Points", and look at the URL:

https://fantasy.premierleague.com/entry/YOUR_TEAM_ID/event/<gw>

What Can It Do?

Tool What it does
fpl_manager_hub Start here. Full personalized analysis — captain, transfers, differentials, fixtures, price risks
captain_pick Top 5 captain recommendations scored by xG, form, fixtures, and ICT index
transfer_suggestions Transfer in/out recommendations based on your squad and budget
player_comparison Head-to-head compare 2-4 players (e.g. "Salah vs Palmer vs Saka")
is_hit_worth_it Should you take a -4 hit? Projects points over N gameweeks to decide
chip_strategy When to use your remaining chips — optimal GW for each based on fixtures
differential_finder Underowned players outperforming their ownership %
fixture_outlook Teams ranked by upcoming fixture difficulty + best players to target
price_predictions Players likely to rise or fall in price tonight
live_points Live score, projected bonus, and auto-sub scenarios
rival_tracker Mini-league rival analysis — compare squads, find differentials, predict rival moves, get strategies to overtake
league_analyzer NEW. Who's going to win your league? Win probabilities based on form, squad quality, chips, momentum
squad_scout Deep scout using FPL's hidden data — expected points, blank GW warnings, set piece duties, suspension risks

Example Prompts

Try these in Claude Desktop:

  • "Analyze FPL team 5456980 and give me your full recommendation"
  • "Who should I captain this gameweek?"
  • "Compare Salah, Palmer, and Saka"
  • "Is it worth taking a -4 hit to bring in Haaland?"
  • "When should I use my bench boost?"
  • "Find me some differentials under 5% ownership"
  • "Which teams have the easiest fixtures for the next 6 weeks?"
  • "Analyze my mini-league 1189955 for team 5456980 — how do I beat my rivals?"
  • "Who's going to win mini-league 1189955?"

How It Works

FPL Intelligence connects directly to the FPL API — the same free, public data source used by the FPL website. All data is real-time. The server runs locally on your machine and communicates with Claude Desktop via the Model Context Protocol (MCP).

No API keys. No accounts. No data leaves your machine except FPL API calls.

Troubleshooting

"FPL API calls are blocked" / 403 errors

The most common issue. The FPL API blocks requests that don't look like they come from a browser.

1. Test if the API is reachable from your machine:

curl -s -o /dev/null -w "%{http_code}" \
  -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)" \
  https://fantasy.premierleague.com/api/bootstrap-static/

If this returns 200, the API is reachable and the issue is likely Claude Desktop's sandbox (see below). If it returns 403, your network may be blocking the request.

2. Claude Desktop network permissions:

Claude Desktop runs MCP servers in a sandbox. The first time the server calls the FPL API, Claude Desktop may prompt you to approve network access to fantasy.premierleague.com. If you dismissed this prompt, the domain stays blocked.

  • Restart Claude Desktop and watch for the network approval prompt
  • Check Claude Desktop logs: ~/Library/Logs/Claude/ (macOS)

3. Corporate network / VPN / firewall:

Some corporate networks block *.premierleague.com. Try:

  • Disconnecting from VPN
  • Switching to a personal network
  • Asking your IT team to allowlist fantasy.premierleague.com

4. FPL API is down or in maintenance:

The FPL API occasionally goes down during gameweek updates (usually around deadline time) or between seasons (June–July). Check if the API responds in your browser: fantasy.premierleague.com/api/bootstrap-static/

Server won't start

command not found: fpl-intelligence

The fpl-intelligence binary isn't on your PATH. Try:

# Find where pip installed it
pip show fpl-intelligence

# Use the full path in claude_desktop_config.json
which fpl-intelligence

Or use pipx for isolated installs:

pipx install fpl-intelligence

Python version error:

FPL Intelligence requires Python 3.12+. Check your version:

python3 --version

"Invalid team_id" errors

Make sure you're using your FPL team ID (a number like 5456980), not your FPL username. Find it by going to the FPL website, clicking Points, and checking the URL:

https://fantasy.premierleague.com/entry/YOUR_TEAM_ID/event/30

Still stuck?

Open an issue with:

  • Your OS and Python version
  • The error message (from Claude Desktop or terminal)
  • Output of the curl test above

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fpl_intelligence-0.8.0.tar.gz (231.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fpl_intelligence-0.8.0-py3-none-any.whl (63.5 kB view details)

Uploaded Python 3

File details

Details for the file fpl_intelligence-0.8.0.tar.gz.

File metadata

  • Download URL: fpl_intelligence-0.8.0.tar.gz
  • Upload date:
  • Size: 231.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for fpl_intelligence-0.8.0.tar.gz
Algorithm Hash digest
SHA256 b6426de782f20ea376e5f56acf35d9b7fef64d88f4dff9d0a3f4877d77288bef
MD5 de5cb1f449c79b67aec8540d3c26a169
BLAKE2b-256 25c0087e96ad9dbb4a03cb30da7faadcd0e1d6c820648c5bd82f28cad5fd9d7a

See more details on using hashes here.

File details

Details for the file fpl_intelligence-0.8.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fpl_intelligence-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3f3222bd0ae9af7f03700d9a8be2f8d4e86b958887d6f0dc8ce17e879623a1a0
MD5 8696d65b7e813c7b361237e17a8fe401
BLAKE2b-256 8927ed295939f4b5a09a91531433292510e589549b09a76383cf8a7bee7d4300

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page