Skip to main content
Glama

⚽ FPL MCP — Servidor de Model Context Protocol para Fantasy Premier League

Python 3.11+ MCP Standard License: MIT Built with uv

Un servidor asíncrono de Model Context Protocol (MCP) para Fantasy Premier League (FPL). Proporciona a los asistentes de codificación con IA y a los frameworks de agentes (Antigravity, Claude Desktop, Cursor, Custom Agents) 33 herramientas especializadas para analizar partidos, detectar diferenciales, gestionar plantillas, seguir las puntuaciones en vivo, supervisar las fluctuaciones de precios y optimizar los traspasos y las decisiones de capitanía.


🌟 Características principales

  • 🚀 33 herramientas especializadas: Cobertura completa de los endpoints oficiales de FPL (Bootstrap, Fixtures, FDR, Squad, History, Chips, Live Gameweek Scores, Mini-Leagues, Set-Piece Takers, Differentials y Price Movers).

  • 🔒 Seguro y de solo lectura: Se centra en análisis profundos y recomendaciones de IA sin traspasos automáticos arriesgados.

  • ⚡ Caché TTL en memoria: El caché inteligente por endpoint evita la limitación de la tasa de peticiones de los servidores de FPL y mantiene frescas las puntuaciones en vivo de la jornada.

  • 🛡️ Compatibilidad pública y privada: Funciona de inmediato con los datos públicos con solo un ID de equipo. Admite autenticación de sesión / cookies para el acceso privado a la plantilla.

  • 🔌 Transporte stdio estándar: Plug-and-play con cualquier cliente compatible con MCP.


Related MCP server: MCP Eleven

🏗️ Arquitectura

fpl-mcp/
├── src/fpl_mcp/
│   ├── server.py          # MCP Server entrypoint (stdio transport)
│   ├── client.py          # Async FPL HTTP client with TTL caching
│   ├── auth.py            # Session cookie & credential 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

🚀 Inicio rápido

1. Requisitos previos

  • Python 3.11+

  • uv (recomendado) o pip

2. Instalación

# Clone the repository
git clone https://github.com/dexhamter/fpl-mcp.git
cd fpl-mcp

# Install dependencies into virtual environment
uv sync

3. Configuración

Copia el archivo de entorno de ejemplo:

cp .env.example .env

Edita .env con la información de tu equipo:

# Your FPL Team ID (found in the URL: https://fantasy.premierleague.com/entry/{ID}/event/1)
FPL_TEAM_ID=1234567

# Optional: FPL login credentials or browser session cookie for private team data
FPL_EMAIL=your@email.com
FPL_PASSWORD=your_password
# FPL_COOKIE=pl_profile=...

⚙️ Conexión con clientes MCP

🤖 Antigravity / Gemini CLI

Añade el servidor a tu ~/.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"
      }
    }
  }
}

🟣 Claude Desktop

Añádelo a tu claude_desktop_config.json:

{
  "mcpServers": {
    "fpl": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/fpl-mcp",
        "run",
        "fpl-mcp"
      ]
    }
  }
}

💻 Cursor / Windsurf

En Ajustes -> Funciones -> Servidores MCP:

  • Tipo: command

  • Comando: uv --directory /path/to/fpl-mcp run fpl-mcp


🛠️ Catálogo de herramientas (33 herramientas)

1. Datos generales y de Bootstrap

Herramienta

Argumentos

Descripción

get_all_players

position, team, max_price, min_form

Consulta todos los jugadores activos con filtrado y ordenación

search_player

query (obligatorio)

Busca jugadores por nombre parcial o completo

get_all_teams

None

Obtén los 20 equipos de la Premier League con sus valoraciones de fuerza

get_game_settings

None

Fecha límite de la jornada, puntuación media, mejores entrenadores

2. Calendario y dificultad (FDR)

Herramienta

Argumentos

Descripción

get_fixtures

gameweek

Calendario de partidos de todas las jornadas o de una específica

get_team_fixtures

team_name (obligatorio), next_n

Próximos partidos de un equipo con valoraciones FDR

get_fdr_table

next_n

Cuadro comparativo de FDR de todos los equipos

3. Resumen de plantilla y mánager

Herramienta

Argumentos

Descripción

get_my_squad

None

Plantilla actual de 15 jugadores, titulares, banquillo y capitanía

get_entry_info

team_id

Clasificación general, puntos totales, saldo bancario y valor del equipo

get_gw_picks

gameweek (obligatorio), team_id

Alineación de la plantilla para cualquier jornada finalizada

get_season_history

team_id

Trayectoria de clasificación y puntos jornada a jornada

4. Análisis de jugadores

Herramienta

Argumentos

Descripción

get_player_stats

player_id, player_name

xG, xA, índice ICT, puntos de bonus, minutos, forma

get_player_history

player_id, player_name

Registro detallado de los partidos de un jugador jornada a jornada

get_top_performers

sort_by, position, max_price, limit

Clasificación ordenada por puntos, forma, PPG o ICT

5. Traspasos y presupuesto

Herramienta

Argumentos

Descripción

get_transfer_history

team_id

Registro completo de traspasos de la temporada con costes de compra y venta

get_bank_balance

None

Fondos disponibles en el banco, traspasos gratuitos y valor del equipo

get_transfer_suggestions

position, max_price, next_n_gws

Algoritmo compuesto que evalúa traspasos según forma y FDR

6. Estrategia de chips

Herramienta

Argumentos

Descripción

get_chip_status

None

Seguimiento de Wildcards, Free Hit, Bench Boost y Triple Captain

get_chip_advice

next_n

Detección de jornadas dobles/en blanco (Double/Blank Gameweek) y momento óptimo para usar los chips

7. Puntuaciones en vivo de la jornada

Herramienta

Argumentos

Descripción

get_live_gw_scores

gameweek, sort_by, limit

Puntos provisionales de los jugadores en tiempo real, goles y asistencias

get_my_live_score

gameweek

Total actualizado en tiempo real de tu plantilla con el multiplicador de capitán activo

8. Miniligas y clasificaciones

Herramienta

Argumentos

Descripción

get_my_leagues

None

Todas las miniligas clásicas y cara a cara (head-to-head) de tu equipo

get_classic_league_standings

league_id (obligatorio), page

Tabla de clasificación completa con posiciones y puntuaciones de la jornada

get_h2h_league_standings

league_id (obligatorio), page

Registros cara a cara (W/D/L, puntos de partido)

9. Noticias del equipo y jugadas a balón parado

Herramienta

Argumentos

Descripción

get_player_news

status

Filtra jugadores con lesiones, sanciones o dudas

get_set_piece_takers

team_name

Lanzadores designados de penaltis, tiros libres y córners

check_my_squad_news

None

Chequeo del estado de tus 15 jugadores con alertas de estado

10. Capitanía y diferenciales

Herramienta

Argumentos

Descripción

get_captain_suggestions

from_my_squad, gameweek, top_n

Puntuación de capitán ponderada por múltiples factores (forma, ICT, FDR, local)

get_differentials

max_ownership, position, max_price

Elecciones de alto potencial y baja propiedad (<15 % por defecto)

get_ownership_stats

position, sort_by, limit

Porcentaje de propiedad, impulso de traspasos y delta neto

11. Movimientos de precio

Herramienta

Argumentos

Descripción

get_price_risers

position, limit

Jugadores que subirán de precio próximamente según los traspasos netos recibidos

get_price_fallers

position, limit

Jugadores que bajarán de precio próximamente según los traspasos netos realizados

get_price_changes

direction, since

Cambios de precio confirmados en esta jornada o en la temporada


💡 Ejemplos de preguntas para el asistente

Una vez configurado con tu agente, puedes hacer preguntas en lenguaje natural como:

  • "¿A quién debería poner de capitán en la jornada 1? Compara mis mejores opciones según el calendario y la participación esperada en goles."

  • "Revisa mi plantilla por si hay problemas de lesiones antes de la fecha límite."

  • "Tengo £0.5m en el banco y necesito reemplazar a un centrocampista de menos de £7.5m con un calendario favorable. ¿A quién me sugieres?"

  • "Muéstrame los 5 delanteros diferenciales más destacados que estén en menos del 10 % de los equipos."

  • "¿Quién se encarga de los penaltis en el Arsenal y el Liverpool esta temporada?"

  • "¿Cuál es nuestra estrategia para las jornadas dobles y en blanco (Double y Blank Gameweek)? ¿Cuándo debería plantearme usar mi Bench Boost?"


⏱️ Política de caché

Para mantener una baja latencia y cumplir con la etiqueta de los servidores de FPL, los datos se guardan en caché en memoria:

Tipo de endpoint

TTL por defecto

Puntuaciones en vivo de la jornada (live.py)

60 segundos

Plantilla e información del equipo (squad.py)

120 - 300 segundos

Bootstrap y estadísticas de jugadores (bootstrap.py, players.py)

300 segundos (5 min)

Partidos y calendario (fixtures.py)

600 segundos (10 min)


📜 Licencia

Este proyecto está licenciado bajo la Licencia MIT.


⚽ Descargo de responsabilidad

Esta herramienta no está afiliada oficialmente a la Premier League ni a Fantasy Premier League, ni cuenta con su respaldo. Todos los datos se obtienen de los endpoints públicos de la API de FPL.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    A 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.
    23
    94 PyPI
    80
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An 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
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for the Fantasy Premier League API, enabling querying of players, teams, fixtures, and your FPL team through any MCP-compatible client.
    -
  • A
    license
    A
    quality
    C
    maintenance
    An 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.
    4
    10 npm
    1
    ISC