Fantasy Premier League
Accede a datos y herramientas de Fantasy Premier League (FPL), incluyendo información de jugadores, detalles de equipos y datos de jornadas.
Documentación
Servidor MCP de Fantasy Premier League
Un servidor de Model Context Protocol (MCP) que proporciona acceso a datos y herramientas de Fantasy Premier League (FPL). Este servidor te permite interactuar con los datos de FPL en Claude for Desktop y otros clientes compatibles con MCP.
Demostración del servidor MCP de Fantasy Premier League en acción
Plataformas compatibles
- Claude Desktop
- Cursor
- Windsurf
- Otros LLM de escritorio compatibles con MCP
Actualmente no se admite la versión móvil.
Características
- Datos completos de jugadores: Accede a estadísticas exhaustivas de jugadores desde la API de FPL
- Información de equipos: Obtén detalles sobre los equipos de la Premier League
- Datos de jornadas: Consulta información de jornadas actuales y pasadas
- Búsqueda de jugadores: Encuentra jugadores por nombre o equipo
- Comparación de jugadores: Compara estadísticas detalladas entre dos jugadores cualesquiera
Requisitos
- Python 3.10 o superior
- Claude Desktop (para la integración con IA)
Instalación
Opción 1: Instalar desde PyPI (recomendado)
pip install fpl-mcp
Opción 1b: Instalar con dependencias de desarrollo
pip install "fpl-mcp[dev]"
Opción 2: Instalar desde GitHub
pip install git+https://github.com/rishijatia/fantasy-pl-mcp.git
Opción 3: Clonar e instalar localmente
git clone https://github.com/rishijatia/fantasy-pl-mcp.git
cd fantasy-pl-mcp
pip install -e .
Ejecutar el servidor
Después de la instalación, tienes varias opciones para ejecutar el servidor:
1. Usando el comando CLI
fpl-mcp
2. Usando el módulo de Python
python -m fpl_mcp
3. Usando con Claude Desktop
Configura Claude Desktop para usar el paquete instalado editando tu archivo claude_desktop_config.json:
Método 1: Usar el módulo de Python directamente (el más fiable)
{
"mcpServers": {
"fantasy-pl": {
"command": "python",
"args": ["-m", "fpl_mcp"]
}
}
}
Método 2: Usar el comando instalado con la ruta completa (si se instaló con pip)
{
"mcpServers": {
"fantasy-pl": {
"command": "/full/path/to/your/venv/bin/fpl-mcp"
}
}
}
Reemplaza /full/path/to/your/venv/bin/fpl-mcp con la ruta real al ejecutable. Puedes encontrarla ejecutando which fpl-mcp en tu terminal después de activar tu entorno virtual.
Nota: Usar solo
"command": "fpl-mcp"puede provocar un error despawn fpl-mcp ENOENTya que Claude Desktop podría no tener acceso al PATH de tu entorno virtual. Usar la ruta completa o el enfoque del módulo de Python ayuda a evitar este problema.
Uso
En Claude for Desktop
- Inicia Claude for Desktop
- Deberías ver las herramientas de FPL disponibles mediante el icono de martillo
- Ejemplos de consultas:
- "Compara a Mohamed Salah y Erling Haaland en las últimas 5 jornadas"
- "Encuentra todos los centrocampistas del Arsenal"
- "¿Cuál es el estado de la jornada actual?"
- "Muéstrame los 5 delanteros con más puntos"
Instrucciones de uso de Fantasy-PL MCP
Comandos básicos:
- Comparar jugadores: "Compara a [Jugador1] y [Jugador2]"
- Encontrar jugadores: "Encuentra jugadores de [Equipo]" o "Busca a [Nombre del jugador]"
- Dificultad de los partidos: "Muestra los próximos partidos de [Equipo]"
- Consejo de capitán: "¿A quién debería poner de capitán entre [Jugador1] y [Jugador2]?"
Funciones avanzadas:
- Análisis estadístico: "Compara las estadísticas subyacentes de [Jugador1] y [Jugador2]"
- Comprobación de forma: "Muéstrame jugadores en forma ahora mismo"
- Selecciones diferenciales: "Sugiere diferenciales con menos del 10% de propiedad"
- Optimización de equipo: "Evalúa mi equipo y sugiere fichajes"
Consejos:
- Sé específico con los nombres de los jugadores para obtener resultados precisos
- Incluye posiciones al buscar (DEL, MED, DEF, POR)
- Para obtener el mejor consejo de capitán, pregunta sobre forma, partidos y estadísticas subyacentes
- Solicita la comparación de métricas específicas (xG, disparos en el área, etc.
MCP Inspector para desarrollo
Para desarrollo y pruebas:
# If you have mcp[cli] installed
mcp dev -m fpl_mcp
# Or use npx
npx @modelcontextprotocol/inspector python -m fpl_mcp
Recursos disponibles
fpl://static/players- Todos los datos de jugadores con estadísticas exhaustivasfpl://static/players/{name}- Datos de jugadores por búsqueda de nombrefpl://static/teams- Todos los equipos de la Premier Leaguefpl://static/teams/{name}- Datos de equipos por búsqueda de nombrefpl://gameweeks/current- Datos de la jornada actualfpl://gameweeks/all- Datos de todas las jornadasfpl://fixtures- Todos los partidos de la temporada actualfpl://fixtures/gameweek/{gameweek_id}- Partidos de una jornada específicafpl://fixtures/team/{team_name}- Partidos de un equipo específicofpl://players/{player_name}/fixtures- Próximos partidos de un jugador específicofpl://gameweeks/blank- Información sobre las próximas jornadas en blancofpl://gameweeks/double- Información sobre las próximas jornadas dobles
Herramientas disponibles
Jugadores
search_fpl_players- Busca jugadores por nombre, con filtros opcionales de posición y equipoget_player_information- Obtén información detallada e historial de jornadas de un jugadoranalyze_players- Filtra y analiza jugadores de FPL según múltiples criterioscompare_players- Compara varios jugadores en diversas métricasget_price_changes- Obtén jugadores cuyo precio subió o bajó en la jornada actual
Partidos y jornadas
get_gameweek_status- Obtén información precisa sobre las jornadas actual, anterior y siguienteanalyze_player_fixtures- Analiza los próximos partidos de un jugador con calificaciones de dificultadanalyze_fixtures- Analiza los próximos partidos de jugadores, equipos o posicionesget_blank_gameweeks- Obtén información sobre las próximas jornadas en blancoget_double_gameweeks- Obtén información sobre las próximas jornadas dobles
Jornada en vivo
get_gameweek_live_scores- Puntos y estadísticas en vivo de los jugadores mientras se disputan los partidosget_dream_team- El once oficial con mayor puntuación de una jornada
Tu equipo y consejos
suggest_captain- Clasifica tu plantilla por puntuación de capitán con razonamiento por componentecheck_fpl_authentication- Comprueba si la autenticación de FPL funciona correctamenteupdate_fpl_credentials- Actualiza tus credenciales de FPL almacenadas desde un chatget_my_team- Consulta tu equipo autenticado (requiere autenticación)get_my_current_team- Consulta tu equipo actual para la jornada activa (requiere autenticación)get_team- Consulta cualquier equipo con un ID específico (requiere autenticación)get_manager- Obtén los detalles del mánager para un ID de equipo específico (requiere autenticación)get_manager_info- Obtén los detalles del mánager (requiere autenticación)get_manager_transfer_history- Obtén el historial completo de fichajes de un mánager
Ligas
get_league_standings- Obtén la clasificación de una liga clásica (requiere autenticación)get_league_analytics- Analiza los mánagers de una liga, las tendencias de propiedad y el rendimiento
Plantillas de prompts
player_analysis_prompt- Crea un prompt para analizar en profundidad a un jugador de FPLtransfer_advice_prompt- Obtén consejos sobre fichajes de jugadores según presupuesto y posiciónteam_rating_prompt- Crea un prompt para evaluar y analizar un equipo de FPLdifferential_players_prompt- Crea un prompt para encontrar jugadores diferenciales con baja propiedadchip_strategy_prompt- Crea un prompt para obtener consejos sobre estrategia de comodines
Desarrollo
Añadir funciones
Para añadir nuevas funciones:
- Añade los manejadores de recursos en el archivo correspondiente dentro de
fpl_mcp/fpl/resources/ - Añade los manejadores de herramientas en el archivo correspondiente dentro de
fpl_mcp/fpl/tools/ - Actualiza el archivo
__main__.pypara registrar nuevos recursos y herramientas - Prueba con MCP Inspector antes de implementarlo en Claude for Desktop
Autenticación
FPL migró su inicio de sesión a PingOne (Ping Identity) OIDC, por lo que la autenticación ahora usa un
token de actualización OIDC en lugar de tu correo electrónico y contraseña. El token de actualización se intercambia
automáticamente por tokens de acceso de corta duración, y las solicitudes se envían con un
encabezado X-API-Authorization: Bearer.
Para usar funciones que requieren autenticación (como acceder a tu equipo o ligas privadas), configura tu token de actualización:
# Run the credential setup tool
fpl-mcp-config setup
Esta herramienta interactiva:
- Te mostrará cómo copiar tu token de actualización OIDC desde el navegador
- Te pedirá el token de actualización y tu ID de equipo
- Los guardará (cifrados) en
~/.fpl-mcp/credentials.enc
Cómo obtener tu token de actualización:
- Inicia sesión en https://fantasy.premierleague.com en tu navegador.
- Abre la consola de DevTools (F12 → Consola) y ejecuta:
(Si Chrome lo rechaza, escribecopy(JSON.parse(localStorage.getItem(Object.keys(localStorage).find(k=>k.startsWith('oidc.user:')))).refresh_token)allow pastingen la consola primero). El token de actualización ya está en tu portapapeles: pégalo cuando se te solicite. - Alternativa: DevTools → Application → Local storage →
https://fantasy.premierleague.com, copia el valor JSON completo de la clave que comienza conoidc.user:y pégalo en su lugar: la configuración extrae el camporefresh_tokenautomáticamente.
Ejecuta fpl-mcp-config test justo después de la configuración: el primer intercambio reclama el token
antes de que tu sesión del navegador pueda reemplazarlo, y lo rota para que la copia en tu
navegador quede retirada; esto es lo esperado, y tu sesión del navegador se recupera por sí sola.
Puedes probar tu autenticación con:
fpl-mcp-config test
Alternativamente, puedes configurar la autenticación manualmente:
-
Crea el archivo
~/.fpl-mcp/.envcon:FPL_REFRESH_TOKEN=your_refresh_token FPL_TEAM_ID=your_team_id -
O crea
~/.fpl-mcp/config.json:{ "refresh_token": "your_refresh_token", "team_id": "your_team_id" } -
O establece variables de entorno:
export FPL_REFRESH_TOKEN=your_refresh_token export FPL_TEAM_ID=your_team_id
Nota: los tokens de actualización pueden rotarse o revocarse por FPL. Si la autenticación empieza a fallar, vuelve a ejecutar
fpl-mcp-config setupcon un token recién copiado.
Avanzado: anular los endpoints OIDC
Si FPL cambia su cliente o endpoints OIDC, puedes anular los valores predeterminados con variables de entorno (todas opcionales):
| Variable | Valor predeterminado |
|---|---|
FPL_OIDC_CLIENT_ID | 1f243d70-a140-4035-8c41-341f5af5aa12 |
FPL_OIDC_AUTHORITY | https://account.premierleague.com/as |
FPL_TOKEN_URL | <FPL_OIDC_AUTHORITY>/token |
Limitaciones
- La API de FPL no está documentada oficialmente y puede cambiar sin previo aviso
- Actualmente solo se admiten operaciones de lectura
Solución de problemas
Problemas comunes
1. Error "spawn fpl-mcp ENOENT" en Claude Desktop
Esto ocurre porque Claude Desktop no puede encontrar el ejecutable fpl-mcp en su PATH.
Solución: Usa uno de estos enfoques:
-
Usa la ruta completa al ejecutable en tu archivo de configuración
{ "mcpServers": { "fantasy-pl": { "command": "/full/path/to/your/venv/bin/fpl-mcp" } } } -
Usa Python para ejecutar el módulo directamente (método preferido)
{ "mcpServers": { "fantasy-pl": { "command": "python", "args": ["-m", "fpl_mcp"] } } }
2. El servidor se desconecta inmediatamente
Si el servidor se inicia pero se desconecta de inmediato:
- Revisa los registros en
~/Library/Logs/Claude/mcp*.log(macOS) o%APPDATA%\Claude\logs\mcp*.log(Windows) - Asegúrate de que todas las dependencias estén instaladas
- Intenta ejecutar el servidor manualmente con
python -m fpl_mcppara ver cualquier error
3. El servidor no aparece en Claude Desktop
Si el icono de martillo no aparece:
- Reinicia Claude Desktop por completo
- Verifica que tu
claude_desktop_config.jsontenga una sintaxis JSON correcta - Asegúrate de que la ruta a Python o al ejecutable sea absoluta, no relativa
Licencia
Este proyecto está licenciado bajo la Licencia MIT: consulta el archivo LICENSE para más detalles.
Contribuciones
¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request.
- Haz un fork del repositorio
- Crea tu rama de funciones (
git checkout -b feature/amazing-feature) - Haz commit de tus cambios (
git commit -m 'Add some amazing feature') - Haz push a la rama (
git push origin feature/amazing-feature) - Abre una Pull Request
Para más detalles, consulta el archivo CONTRIBUTING.md.
Agradecimientos
- Fantasy Premier League API por proporcionar los datos
- Model Context Protocol por el estándar de conectividad
- Claude por las capacidades del asistente de IA
Cita
Si usas este paquete en tu investigación o proyecto, considera citarlo:
@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},
}
