fpl-mcp
Provides tools for accessing and analyzing Fantasy Premier League data, including player statistics, fixtures, team news, transfer suggestions, and chip strategy.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fpl-mcpWho should I captain this gameweek?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ā½ FPL MCP ā Model Context Protocol Server for Fantasy Premier League
An asynchronous Model Context Protocol (MCP) server for Fantasy Premier League (FPL). Equips AI coding assistants and agent frameworks (Antigravity, Claude Desktop, Cursor, Custom Agents) with 33 dedicated tools to analyze fixtures, scout differentials, manage squads, track live scores, monitor price fluctuations, and optimize transfers and captaincy decisions.
š Key Features
š 33 Specialized Tools: Complete coverage of official FPL endpoints (Bootstrap, Fixtures, FDR, Squad, History, Chips, Live Gameweek Scores, Mini-Leagues, Set-Piece Takers, Differentials, and Price Movers).
š Safe & Read-Only: Focuses on deep analytics and AI recommendations without risky automated transfers.
ā” In-Memory TTL Caching: Intelligent per-endpoint caching prevents rate limiting from FPL servers while keeping live gameweek scores fresh.
š”ļø Public & Private Support: Works immediately for public data with just a team ID. Supports modern Bearer token authentication (
FPL_API_TOKEN/x-api-authorization) for private squad and live pick access.š Standard stdio Transport: Plug-and-play with any MCP-compliant client.
Related MCP server: MCP Eleven
šļø Architecture
fpl-mcp/
āāā src/fpl_mcp/
ā āāā server.py # MCP Server entrypoint (stdio transport)
ā āāā client.py # Async FPL HTTP client with TTL caching
ā āāā auth.py # Bearer token & session manager
ā āāā cache.py # In-memory thread-safe TTL cache
ā āāā constants.py # API endpoints, TTLs, positions & chip maps
ā āāā tools/
ā āāā registry.py # Aggregator & dynamic tool dispatcher
ā āāā bootstrap.py # Players, teams, and season status
ā āāā fixtures.py # Fixtures schedule & FDR matrix
ā āāā squad.py # Team picks, history, and manager info
ā āāā players.py # Deep player statistics (xG, xA, ICT, PPG)
ā āāā transfers.py # Transfer history, bank, and AI transfer scout
ā āāā chips.py # Chip tracker & Double/Blank GW strategy engine
ā āāā live.py # Real-time provisional GW scores & bonus points
ā āāā leagues.py # Classic & Head-to-Head mini-league tables
ā āāā news.py # Injury reports, bans, and set-piece takers
ā āāā picks.py # Algorithmically ranked captain picks & differentials
ā āāā prices.py # Predicted price risers/fallers & confirmed changes
āāā pyproject.toml
āāā README.mdš Quick Start
1. Prerequisites
Python 3.11+
uv (recommended) or
pip
2. Installation
# Clone the repository
git clone https://github.com/dexhamter/fpl-mcp.git
cd fpl-mcp
# Install dependencies into virtual environment
uv sync3. Configuration
Copy the example environment file:
cp .env.example .envEdit .env with your team information:
# Your FPL Team ID (found in the URL: https://fantasy.premierleague.com/entry/{ID}/event/1)
FPL_TEAM_ID=1234567
# Preferred auth: Bearer JWT copied from browser
FPL_API_TOKEN=eyJhbGciOi...
# Legacy fallbacks / optional persistence (cookie or session file)
# FPL_COOKIE=
# FPL_SESSION_FILE=fpl_session.jsonš How to Get Your FPL_API_TOKEN
FPL uses Bearer token authentication via the x-api-authorization header rather than legacy pl_profile login cookies. To authenticate for private squad and live unconfirmed team data:
Log in to fantasy.premierleague.com.
Open your browser DevTools (
F12or Right-Click -> Inspect) and switch to the Network tab.Refresh the page or click Pick Team / Transfers / Points.
Filter network requests by
api/orFetch/XHRand click any request (e.g.,my-team/...).Under Request Headers, find
x-api-authorization.Copy the token string (strip the leading
Bearerprefix).Paste it into your
.envfile asFPL_API_TOKEN=....
FPL_API_TOKEN typically expires every ~8 hours. If private endpoints return 401 Unauthorized, simply copy a fresh token from DevTools.
āļø Connecting to MCP Clients
š¤ Antigravity / Gemini CLI
Add the server to your ~/.gemini/config/mcp_config.json:
{
"mcpServers": {
"fpl": {
"command": "C:/Users/your_user/Documents/fpl/.venv/Scripts/python.exe",
"args": ["-m", "fpl_mcp.server"],
"env": {
"PYTHONPATH": "C:/Users/your_user/Documents/fpl/src",
"FPL_TEAM_ID": "1234567",
"FPL_API_TOKEN": "your_token_here"
}
}
}
}š£ Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"fpl": {
"command": "uv",
"args": [
"--directory",
"/path/to/fpl-mcp",
"run",
"fpl-mcp"
],
"env": {
"FPL_TEAM_ID": "1234567",
"FPL_API_TOKEN": "your_token_here"
}
}
}
}š» Cursor / Windsurf
In Settings -> Features -> MCP Servers:
Type:
commandCommand:
uv --directory /path/to/fpl-mcp run fpl-mcp
š ļø Tool Catalog (33 Tools)
1. General & Bootstrap Data
Tool | Arguments | Description |
|
| Query all active players with filtering & sorting |
|
| Search for players by partial or full name |
| None | Get all 20 Premier League teams with strength ratings |
| None | Gameweek deadline, average score, top managers |
2. Fixtures & Difficulty (FDR)
Tool | Arguments | Description |
|
| All or specific gameweek match schedules |
|
| Upcoming schedule for a team with FDR ratings |
|
| Comparative FDR grid across all teams |
3. Squad & Manager Overview
Tool | Arguments | Description |
| None | Current 15-player squad, starters, bench, captaincy |
|
| Overall rank, total points, bank balance, and team value |
|
| Squad lineup for any completed gameweek |
|
| Gameweek-by-gameweek rank and point trajectory |
4. Player Analytics
Tool | Arguments | Description |
|
| xG, xA, ICT index, bonus points, minutes, form |
|
| Detailed per-gameweek match log for a player |
|
| Ranked leaderboard by points, form, PPG, or ICT |
5. Transfers & Budget
Tool | Arguments | Description |
|
| Full season transfer log with buy/sell costs |
| None | Available in-the-bank funds, free transfers, team value |
|
| Composite algorithm scouting transfers by form & FDR |
6. Chips Strategy
Tool | Arguments | Description |
| None | Tracker for Wildcards, Free Hit, Bench Boost, Triple Captain |
|
| Double/Blank Gameweek detection and optimal chip timing |
7. Live Gameweek Scores
Tool | Arguments | Description |
|
| Real-time provisional player points, goals, assists |
|
| Real-time running total for your squad with active captain multiplier |
8. Mini-Leagues & Standings
Tool | Arguments | Description |
| None | All classic and head-to-head mini-leagues for your team |
|
| Full leaderboard table with ranks and event scores |
|
| Head-to-head records (W/D/L, match points) |
9. Team News & Set Pieces
Tool | Arguments | Description |
|
| Filter players with injuries, suspensions, or doubts |
|
| Designated penalty, free-kick, and corner takers |
| None | Health check across your 15 players with status alerts |
10. Captaincy & Differentials
Tool | Arguments | Description |
|
| Multi-factor weighted captain score (Form, ICT, FDR, Home) |
|
| High-potential low-ownership picks (<15% default) |
|
| Ownership %, transfer momentum, and net delta |
11. Price Movements
Tool | Arguments | Description |
|
| Imminent price risers based on net incoming transfers |
|
| Imminent price fallers based on net outgoing transfers |
|
| Confirmed price alterations this gameweek or season |
š” Example Assistant Prompts
Once configured with your agent, you can ask natural language questions like:
"Who should I captain for Gameweek 1? Compare my best options based on fixtures and expected goal involvement."
"Check my squad for any injury concerns before the deadline."
"I have £0.5m in the bank and need to replace a midfielder under £7.5m with easy upcoming fixtures. Who do you suggest?"
"Show me the top 5 differential forwards owned by less than 10% of managers."
"Who is on penalty duties for Arsenal and Liverpool this season?"
"What is our strategy for Double and Blank Gameweeks? When should I consider using my Bench Boost?"
ā±ļø Caching Policy
To preserve low latency and comply with FPL server etiquette, data is cached in-memory:
Endpoint Type | Default TTL |
Live Gameweek Scores ( | 60 seconds |
Squad & Entry Info ( | 120 - 300 seconds |
Bootstrap & Player Stats ( | 300 seconds (5 min) |
Fixtures & Schedule ( | 600 seconds (10 min) |
š License
This project is licensed under the MIT License.
ā½ Disclaimer
This tool is not officially affiliated with or endorsed by the Premier League or Fantasy Premier League. All data is fetched from public FPL API endpoints.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Nifty's MCP server ā exposes tasks, projects, messages, and files as tools for AI agents.
One AI endpoint to search and call 22k+ MCP servers; 50+ hosted tools work instantly, no key.
31- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol server that provides access to Fantasy Premier League data, allowing users to compare players, find team information, view gameweek data, and get FPL-related advice through Claude for Desktop and other MCP-compatible clients.2378MIT
- FlicenseNot gradedqualityDmaintenanceAn open-source MCP server that turns any AI assistant into a football data analytics and scouting platform, enabling natural language queries over 40+ stats, 20+ leagues, and 10,000+ players.1-
- FlicenseNot gradedqualityDmaintenanceMCP server for the Fantasy Premier League API, enabling querying of players, teams, fixtures, and your FPL team through any MCP-compatible client.-
- AlicenseAqualityCmaintenanceAn MCP server for Fantasy Premier League that allows querying gameweek info, player recommendations, squad management, and executing transfers via FPL's public API with optional cookie authentication.4271ISC
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/dexhamter/fpl-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server