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.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    A
    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
    74
    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
    26
    1
    ISC

View all related MCP servers

Related MCP Connectors

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • MCP server for AI dialogue using various LLM models via AceDataCloud

  • An MCP server that integrates with Discord to provide AI-powered features.

View all MCP Connectors

Latest Blog Posts

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