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

Turn Claude into your FPL analyst. Captain picks, transfer advice, rival scouting, chip timing, league predictions — powered by real-time FPL data.

FPL Intelligence MCP server

Quick Start

Step 1 — Install

pip install fpl-intelligence

Step 2 — Find the install path

which fpl-intelligence                                 # macOS/Linux
where fpl-intelligence                                  # Windows

Copy the path it prints (e.g. /Users/you/.local/bin/fpl-intelligence). If nothing shows up:

find ~ -name "fpl-intelligence" -type f 2>/dev/null     # macOS/Linux

Step 3 — Add to Claude Desktop

Open your config file and paste in the full path from Step 2:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "fpl": {
      "command": "/Users/you/.local/bin/fpl-intelligence"
    }
  }
}

Common mistake: Using just "fpl-intelligence" instead of the full path. Claude Desktop doesn't share your terminal's PATH, so it won't find the command without the full path.

Step 4 — Restart Claude Desktop

Fully quit (Cmd+Q on macOS, not just close the window) and reopen. You should see fpl under the MCP servers icon (hammer icon).

Step 5 — Ask Claude anything about FPL

"Analyze my FPL team 5456980 — who should I captain, who should I transfer in, and when should I use my chips?"

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

Where's my team ID?

Go to fantasy.premierleague.com → click Points → grab the number from the URL:

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

Your league ID is in the mini-league URL:

https://fantasy.premierleague.com/leagues/YOUR_LEAGUE_ID/standings/c

14 Tools

Tool What it does
fpl_manager_hub Full personalized analysis — captain, transfers, differentials, fixtures, price risks
captain_pick Top 5 captain picks scored by form, xG, fixtures, and ICT index
transfer_suggestions Who to bring in and ship out based on your squad and budget
player_comparison Head-to-head compare 2-4 players across every metric
is_hit_worth_it Should you take a -4? Projects net points over N gameweeks
chip_strategy Optimal gameweek for each chip — factors in DGW predictions
differential_finder Hidden gems outperforming their ownership
fixture_outlook Teams ranked by upcoming fixture difficulty
price_predictions Who's rising and falling tonight
live_points Live score, projected bonus, auto-sub scenarios
rival_tracker Spy on mini-league rivals — differentials, weaknesses, predicted moves
league_analyzer Win probabilities for your league — who's the favourite and why
squad_scout Deep scout using FPL's hidden data — ep_next, set pieces, suspension risks
community_consensus What are FPL YouTubers saying? Captain picks, transfers, and chip advice from top creators

Example Prompts

"Give me the full breakdown on team 5456980 — captain, transfers, everything"

"I have 2 free transfers and 1.5m in the bank. Who should I bring in?"

"Salah vs Palmer vs Saka — who's the best pick for the next 5 gameweeks?"

"I want to bring in Haaland for a -4. Is it worth the hit?"

"I still have my bench boost and triple captain. When should I use them?"

"Find me some differentials under 3% ownership that are actually returning points"

"It's 60 minutes into the games — how's my team doing? Any auto-subs?"

"Show me everything about mini-league 1189955 — who's going to win?"

"How do I beat my rivals in league 1189955? I'm team 5456980"

"Which players are about to drop in price tonight? I need to sell before the deadline"

"What are FPL YouTubers saying about this gameweek? Who are they captaining?"

"Get the community consensus on transfers — who are the experts bringing in?"

How It Works

FPL Intelligence connects to the official FPL API — the same free, public data that powers the FPL website. All data is real-time. See the full FPL API reference on Postman for endpoint documentation.

The server runs locally on your machine and talks to Claude Desktop via MCP. No API keys, no accounts, no data leaves your machine except FPL API calls.

Install from Source

git clone https://github.com/dohyung1/x402-fpl-api.git
cd x402-fpl-api
uv sync

Then use the full absolute path to uv and the repo in your Claude Desktop config:

{
  "mcpServers": {
    "fpl": {
      "command": "/full/path/to/uv",
      "args": ["run", "--directory", "/full/path/to/x402-fpl-api", "mcp_server.py"]
    }
  }
}

Find your uv path with which uv (e.g. /Users/you/.cargo/bin/uv).

Troubleshooting

FPL API calls are blocked / 403 errors

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

Test if the API is reachable:

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/

Returns 200? The API works — the issue is likely Claude Desktop's sandbox (see below). Returns 403? Your network is blocking it.

Claude Desktop sandbox: Claude Desktop may prompt you to approve network access to fantasy.premierleague.com. If you dismissed this, restart Claude Desktop and watch for the prompt. Check logs at ~/Library/Logs/Claude/ (macOS).

VPN / corporate network: Some networks block *.premierleague.com. Try disconnecting from VPN or switching to a personal network.

FPL API downtime: The API goes down around deadline time and between seasons (June-July). Test in your browser: fantasy.premierleague.com/api/bootstrap-static/

Server won't start / "Failed to spawn process" / command not found

This is the most common issue. Claude Desktop can't find the fpl-intelligence binary.

Step 1 — Find the binary:

find ~ -name "fpl-intelligence" -type f 2>/dev/null

Step 2 — Use the full path in your config:

{
  "mcpServers": {
    "fpl": {
      "command": "/full/path/to/fpl-intelligence"
    }
  }
}

Step 3 — Make sure you're editing the right config file:

# macOS — open the file directly
open ~/Library/Application\ Support/Claude/claude_desktop_config.json

# Windows
notepad %APPDATA%\Claude\claude_desktop_config.json

Step 4 — Fully quit and reopen Claude Desktop (Cmd+Q on macOS, not just close the window).

Still not working? Check Claude Desktop's logs for errors:

  • macOS: ~/Library/Logs/Claude/
  • Windows: %APPDATA%\Claude\logs\

Python version error: Requires Python 3.12+. Check with python3 --version.

Invalid team_id errors

Use your FPL team ID (a number like 5456980), not your username. Find it at fantasy.premierleague.comPoints → check the URL.

Still stuck?

Open an issue with your OS, Python version, the error message, and the 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.12.1.tar.gz (236.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.12.1-py3-none-any.whl (83.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fpl_intelligence-0.12.1.tar.gz
  • Upload date:
  • Size: 236.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fpl_intelligence-0.12.1.tar.gz
Algorithm Hash digest
SHA256 400c964be2f23c4b4fac9abffe3b8ebc5bcc3d8b50db2a1764cec59c031b6e16
MD5 f921ad5d88b1e7a60dec8b178f146264
BLAKE2b-256 0dc8ec1517904d5dbd8a78f92793d530cbd2e1d9963f9a5b0ade43006a47fc5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for fpl_intelligence-0.12.1.tar.gz:

Publisher: publish.yml on dohyung1/x402-fpl-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for fpl_intelligence-0.12.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8d3fdc9508a5acb13114ba4be82ebe1d3b5608c3d3b7c35884e787f429ce1a0c
MD5 4b2bb6db80f71727127b445295f0e059
BLAKE2b-256 ab0775193e36bb48538b2ad160a16c3dce7b658443f069ca2c8a35a2228fa0e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for fpl_intelligence-0.12.1-py3-none-any.whl:

Publisher: publish.yml on dohyung1/x402-fpl-api

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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