by rishijatia
Provides programmatic access to Fantasy Premier League statistics, team information, gameweeks, and analysis tools via a Model Context Protocol server.
Offers a Model Context Protocol server that surfaces rich FPL data—player stats, team details, current and historic gameweeks, fixtures, and a suite of analytical tools—so LLM clients like Claude for Desktop can query and reason over real‑time fantasy football information.
pip install fpl-mcp
.fpl-mcp
python -m fpl_mcp
{
"mcpServers": {
"fantasy-pl": {
"command": "python",
"args": ["-m", "fpl_mcp"]
}
}
}
fpl-mcp-config setup
and follow the prompts.fpl://static/players
, fpl://gameweeks/current
, etc.) or invoke the provided tools (compare_players
, analyze_fixtures
, …).fpl://
resources to build real‑time visualizations.compare_players
) to generate weekly reports.Q: Which Python version is required? A: Python 3.10 or newer.
Q: Can I run the server on mobile devices? A: Mobile support is currently not available; the server is intended for desktop LLM clients.
Q: I get spawn fpl-mcp ENOENT
in Claude Desktop. What should I do?
A: Use the full path to the executable or, preferably, configure Claude Desktop to run the module with Python as shown above.
Q: How do I store my FPL credentials securely?
A: Run fpl-mcp-config setup
; the tool saves encrypted credentials in ~/.fpl-mcp/
or lets you create a .env
file.
Q: Are write operations (e.g., making transfers) supported? A: Currently only read‑only operations are implemented.
Q: How can I test the server locally?
A: Execute python -m fpl_mcp
in a terminal and use the MCP Inspector (mcp dev -m fpl_mcp
or npx @modelcontextprotocol/inspector python -m fpl_mcp
).
A Model Context Protocol (MCP) server that provides access to Fantasy Premier League (FPL) data and tools. This server allows you to interact with FPL data in Claude for Desktop and other MCP-compatible clients.
Demo of the Fantasy Premier League MCP Server in action
Mobile is currently not supported.
pip install fpl-mcp
pip install "fpl-mcp[dev]"
pip install git+https://github.com/rishijatia/fantasy-pl-mcp.git
git clone https://github.com/rishijatia/fantasy-pl-mcp.git
cd fantasy-pl-mcp
pip install -e .
After installation, you have several options to run the server:
fpl-mcp
python -m fpl_mcp
Configure Claude Desktop to use the installed package by editing your claude_desktop_config.json
file:
Method 1: Using the Python module directly (most reliable)
{
"mcpServers": {
"fantasy-pl": {
"command": "python",
"args": ["-m", "fpl_mcp"]
}
}
}
Method 2: Using the installed command with full path (if installed with pip)
{
"mcpServers": {
"fantasy-pl": {
"command": "/full/path/to/your/venv/bin/fpl-mcp"
}
}
}
Replace /full/path/to/your/venv/bin/fpl-mcp
with the actual path to the executable. You can find this by running which fpl-mcp
in your terminal after activating your virtual environment.
Note: Using just
"command": "fpl-mcp"
may result in aspawn fpl-mcp ENOENT
error since Claude Desktop might not have access to your virtual environment's PATH. Using the full path or the Python module approach helps avoid this issue.
For development and testing:
# If you have mcp[cli] installed
mcp dev -m fpl_mcp
# Or use npx
npx @modelcontextprotocol/inspector python -m fpl_mcp
fpl://static/players
- All player data with comprehensive statisticsfpl://static/players/{name}
- Player data by name searchfpl://static/teams
- All Premier League teamsfpl://static/teams/{name}
- Team data by name searchfpl://gameweeks/current
- Current gameweek datafpl://gameweeks/all
- All gameweeks datafpl://fixtures
- All fixtures for the current seasonfpl://fixtures/gameweek/{gameweek_id}
- Fixtures for a specific gameweekfpl://fixtures/team/{team_name}
- Fixtures for a specific teamfpl://players/{player_name}/fixtures
- Upcoming fixtures for a specific playerfpl://gameweeks/blank
- Information about upcoming blank gameweeksfpl://gameweeks/double
- Information about upcoming double gameweeksget_gameweek_status
- Get precise information about current, previous, and next gameweeksanalyze_player_fixtures
- Analyze upcoming fixtures for a player with difficulty ratingsget_blank_gameweeks
- Get information about upcoming blank gameweeksget_double_gameweeks
- Get information about upcoming double gameweeksanalyze_players
- Filter and analyze FPL players based on multiple criteriaanalyze_fixtures
- Analyze upcoming fixtures for players, teams, or positionscompare_players
- Compare multiple players across various metricscheck_fpl_authentication
- Check if FPL authentication is working correctlyget_my_team
- View your authenticated team (requires authentication)get_team
- View any team with a specific ID (requires authentication)get_manager_info
- Get manager details (requires authentication)player_analysis_prompt
- Create a prompt for analyzing an FPL player in depthtransfer_advice_prompt
- Get advice on player transfers based on budget and positionteam_rating_prompt
- Create a prompt for rating and analyzing an FPL teamdifferential_players_prompt
- Create a prompt for finding differential players with low ownershipchip_strategy_prompt
- Create a prompt for chip strategy adviceTo add new features:
fpl_mcp/fpl/resources/
fpl_mcp/fpl/tools/
__main__.py
file to register new resources and toolsTo use features requiring authentication (like accessing your team or private leagues), you need to set up your FPL credentials:
# Run the credential setup tool
fpl-mcp-config setup
This interactive tool will:
You can test your authentication with:
fpl-mcp-config test
Alternatively, you can manually configure authentication:
Create ~/.fpl-mcp/.env
file with:
FPL_EMAIL=your_email@example.com
FPL_PASSWORD=your_password
FPL_TEAM_ID=your_team_id
Or create ~/.fpl-mcp/config.json
:
{
"email": "your_email@example.com",
"password": "your_password",
"team_id": "your_team_id"
}
Or set environment variables:
export FPL_EMAIL=your_email@example.com
export FPL_PASSWORD=your_password
export FPL_TEAM_ID=your_team_id
This occurs because Claude Desktop cannot find the fpl-mcp
executable in its PATH.
Solution: Use one of these approaches:
Use the full path to the executable in your config file
{
"mcpServers": {
"fantasy-pl": {
"command": "/full/path/to/your/venv/bin/fpl-mcp"
}
}
}
Use Python to run the module directly (preferred method)
{
"mcpServers": {
"fantasy-pl": {
"command": "python",
"args": ["-m", "fpl_mcp"]
}
}
}
If the server starts but immediately disconnects:
~/Library/Logs/Claude/mcp*.log
(macOS) or %APPDATA%\Claude\logs\mcp*.log
(Windows)python -m fpl_mcp
to see any errorsIf the hammer icon doesn't appear:
claude_desktop_config.json
has correct JSON syntaxThis project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)For more details, please refer to the CONTRIBUTING.md file.
If you use this package in your research or project, please consider citing it:
@software{fpl_mcp,
author = {Jatia, Rishi and Fantasy PL MCP Contributors},
title = {Fantasy Premier League MCP Server},
url = {https://github.com/rishijatia/fantasy-pl-mcp},
version = {0.1.0},
year = {2025},
}
Please log in to share your review and rating for this MCP.
{ "mcpServers": { "fantasy-pl": { "command": "python", "args": [ "-m", "fpl_mcp" ], "env": {} } } }
Explore related MCPs that share similar capabilities and solve comparable challenges
by antvis
Offers over 25 AntV chart types for automated chart generation and data analysis, callable via MCP tools, CLI, HTTP, SSE, or streamable transports.
by reading-plus-ai
A versatile tool that enables interactive data exploration through prompts, CSV loading, and script execution.
by Canner
Provides a semantic engine that lets MCP clients and AI agents query enterprise data with contextual understanding, precise calculations, and built‑in governance.
by surendranb
Provides natural‑language access to Google Analytics 4 data via MCP, exposing over 200 dimensions and metrics for Claude, Cursor and other compatible clients.
by ergut
Provides secure, read‑only access to BigQuery datasets, allowing large language models to query and analyze data through a standardized interface.
by isaacwasserman
Provides an interface for LLMs to visualize data using Vega‑Lite syntax, supporting saving of data tables and rendering visualizations as either a full Vega‑Lite specification (text) or a base64‑encoded PNG image.
by vantage-sh
Fetch and explore cloud cost and usage data from a Vantage account using natural language through AI assistants and MCP clients.
by acryldata
Provides a Model Context Protocol server that enables searching, metadata retrieval, lineage traversal, and SQL query listing for DataHub entities.
by gomarble-ai
Provides seamless integration of the Google Ads API with Model Context Protocol clients, handling OAuth 2.0 authentication, automatic token refresh, GAQL query execution, account management, and keyword‑research capabilities.