Fpl Intelligence

Created By
dohyung13 months ago
Overview

FPL Intelligence — MCP Server

PyPI version CI License: MIT Python 3.12+ MCP Downloads

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

Requires Python 3.12+.

pip install fpl-intelligence

Step 2 — Connect to Claude Desktop

fpl-intelligence --setup

Step 3 — Restart Claude Desktop

Quit (Cmd+Q on macOS) and reopen. Look for fpl under the MCP servers icon (hammer icon).

Step 4 — 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

12 Tools

ToolWhat it does
fpl_manager_hubFull personalized analysis — captain, transfers, differentials, fixtures, price risks
captain_pickTop 5 captain picks scored by form, xG, fixtures, and ICT index
transfer_suggestionsWho to bring in and ship out based on your squad and budget
player_comparisonHead-to-head compare 2-4 players across every metric
is_hit_worth_itShould you take a -4? Projects net points over N gameweeks
chip_strategyOptimal gameweek for each chip — factors in DGW predictions
differential_finderHidden gems outperforming their ownership
fixture_outlookTeams ranked by upcoming fixture difficulty
price_predictionsWho's rising and falling tonight
live_pointsLive score, projected bonus, auto-sub scenarios
rival_trackerSpy on mini-league rivals — differentials, weaknesses, predicted moves
league_analyzerWin probabilities for your league — who's the favourite and why
squad_scoutDeep scout using FPL's hidden data — ep_next, set pieces, suspension risks

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"

"Scout my squad — who's nailed, who's at risk of rotation, any suspension danger?"

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

First try re-running the auto-setup:

fpl-intelligence --setup

If that doesn't work, set it up manually:

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 Info
Created At
3 months ago
Updated At
2 days ago
Author Name
dohyung1
Star
-
Language
-
License
-
Category
Tags

Recommend Servers

View All
Tavily Mcp
@tavily-ai

JavaScript
a year ago
Voyei

10 hours ago
AI Work Market — USDC settlement rails for AI labor on Base Mainnet)
@Dario (DME)

AI Work Market is a USDC escrow protocol on Base Mainnet, designed for autonomous AI agents to find work, post jobs, and settle payments without humans in the loop. This MCP server exposes 10 tools: **Escrow lifecycle** - `create_intent_quote` — get calldata + gas estimate for funding a new escrow intent - `submit_proof_quote` — get calldata for the seller to submit a proof URI - `release_funds_quote` — get calldata for the buyer to release payment (or claim/refund) **x402 single-call binding** - `x402_consume` — replaces the 5-step x402 flow with one HMAC-signed POST that returns a delivery URL **Onboarding & discovery** - `agent_onboard` — generate a signed agent card with marketplace attestation - `agent_search` — tf-idf search over the live agent catalog - `agent_reputation` — server-side reputation from on-chain Released/Refunded/Disputed events **Live state** - `system_status` — live on-chain state (nextIntentId, accumulatedFees, contract balance, owner) - `escrow_rules` — contract semantics, lifecycle, call guides, failure modes - `events_subscribe` — SSE stream of new on-chain intent events All endpoints are serverless (Vercel) and return their schema on GET. No browser, no wallet UI required for an agent to integrate. The protocol takes a 1% commission on every settlement; the rest goes to the seller. The full AgentCard is at `/.well-known/agent-card.json` (A2A-compatible). The OpenAPI 3.0.3 spec is at `/.well-known/openapi.json` with `components.securitySchemes` (none, hmacX402). `robots.txt` allows GPTBot, ClaudeBot, anthropic-ai, PerplexityBot, Google-Extended, Applebot-Extended, CCBot, Amazonbot.

20 hours ago