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
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?"

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.6.0.tar.gz (222.0 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.6.0-py3-none-any.whl (52.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fpl_intelligence-0.6.0.tar.gz
  • Upload date:
  • Size: 222.0 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.6.0.tar.gz
Algorithm Hash digest
SHA256 b836d8d5832c6b16bb09a412c441bf62f7807f33bc3c76b160d6391660b2a443
MD5 2d3c8f5dfb9ef70dd539958d990ceacd
BLAKE2b-256 c8f061d39c723a870989aa8f8a6b3810d20328c715a54278448716ec57b69bb8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fpl_intelligence-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 248bd426d5c770481b96279933df6ff5175b02307f13bfb3b1dd1b0d4108df57
MD5 0c75ac8b764f2e15a7fdeb51ae847d36
BLAKE2b-256 a13eb1e0da1212d6d0e92ec7a5880429bd0ea6aa0aedc8501f8af417afddee60

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