fantasy-pl-mcp 是一个 Model Context Protocol(MCP)服务器,提供对 Fantasy Premier League(FPL)数据和工具的访问。它允许你在 Claude for Desktop 以及其他兼容 MCP 的客户端中与 FPL 数据进行交互。
用途
该项目面向 Fantasy Premier League 玩家和数据分析者,目标是在支持 MCP 的桌面 LLM 客户端中直接查询、分析和比较 FPL 数据,辅助做出阵容、转会、队长等决策。
主要能力
- 丰富的球员数据:访问 FPL API 提供的全面球员统计数据。
- 球队信息:获取英超球队详情。
- 比赛周数据:查看当前和过往比赛周信息。
- 球员搜索:按姓名或球队查找球员。
- 球员对比:比较任意两名球员的详细统计。
- 赛程与比赛周:分析球员、球队或位置的未来赛程及难度评级,获取空白比赛周和双赛周信息,查看实时比赛周得分和官方梦幻阵容。
- 个人球队与建议:队长评分与建议、查看已认证球队、经理详情、转会历史、经典联赛排名与联赛分析。
- 提示模板:球员分析、转会建议、球队评分、差异球员、芯片策略等提示模板。
使用方式
支持平台包括 Claude for Desktop 及其他兼容 MCP 的桌面 LLM,目前不支持移动端。需要 Python 3.10 或更高版本,以及 Claude Desktop(用于 AI 集成)。
安装方式:
- 从 PyPI 安装(推荐)
- 安装开发依赖
- 从 GitHub 安装
- 克隆并本地安装
运行服务器:
- 使用 CLI 命令
- 使用 Python 模块
- 与 Claude Desktop 配合使用:编辑 claude_desktop_config.json 文件进行配置。方法一:直接使用 Python 模块(最可靠);方法二:使用已安装命令的完整路径(若通过 pip 安装)。注意仅使用 "command": "fpl-mcp" 可能因 Claude Desktop 无法访问虚拟环境 PATH 而出现 spawn fpl-mcp ENOENT 错误,使用完整路径或 Python 模块方式可避免。
在 Claude for Desktop 中:启动后应能看到通过锤子图标提供的 FPL 工具。示例查询包括:"Compare Mohamed Salah and Erling Haaland over the last 5 gameweeks"、"Find all Arsenal midfielders"、"What's the current gameweek status?"、"Show me the top 5 forwards by points"。
身份验证:FPL 已将登录迁移至 PingOne(Ping Identity)OIDC,因此认证使用 OIDC 刷新令牌而非邮箱和密码。刷新令牌会自动换取短期访问令牌,请求通过 X-API-Authorization: Bearer 头发送。使用需要认证的功能(如访问个人球队或私人联赛)时,需设置刷新令牌。运行 fpl-mcp-config 交互工具可引导从浏览器复制 OIDC 刷新令牌,并提示输入刷新令牌和球队 ID,将其加密保存到 ~/.fpl-mcp/credentials.enc。获取刷新令牌的方法:在浏览器登录 https://fantasy.premierleague.com,打开 DevTools 控制台(F12 → Console)并运行指定代码;或通过 DevTools → Application → Local storage 复制以 oidc.user: 开头的键的完整 JSON 值。设置后运行 fpl-mcp-config test 测试认证。也可手动配置:创建 ~/.fpl-mcp/.env 文件、~/.fpl-mcp/config.json 或设置环境变量。注意刷新令牌可能被 FPL 轮换或撤销,若认证失败需重新运行 fpl-mcp-config setup 并使用新复制的令牌。
可用资源包括:fpl://static/players、fpl://static/players/{name}、fpl://static/teams、fpl://static/teams/{name}、fpl://gameweeks/current、fpl://gameweeks/all、fpl://fixtures、fpl://fixtures/gameweek/{gameweek_id}、fpl://fixtures/team/{team_name}、fpl://players/{player_name}/fixtures、fpl://gameweeks/blank、fpl://gameweeks/double。
可用工具包括:search_fpl_players、get_player_information、analyze_players、compare_players、get_price_changes、get_gameweek_status、analyze_player_fixtures、analyze_fixtures、get_blank_gameweeks、get_double_gameweeks、get_gameweek_live_scores、get_dream_team、suggest_captain、check_fpl_authentication、update_fpl_credentials、get_my_team、get_my_current_team、get_team、get_manager、get_manager_info、get_manager_transfer_history、get_league_standings、get_league_analytics。
提示模板包括:player_analysis_prompt、transfer_advice_prompt、team_rating_prompt、differential_players_prompt、chip_strategy_prompt。
适用场景
适合在 Claude for Desktop 等 MCP 兼容客户端中进行 FPL 球员对比、球队筛选、赛程难度分析、队长选择、转会建议、联赛排名分析等操作。
限制
- 目前不支持移动端。
- FPL API 没有官方文档,可能随时更改。
- 目前仅支持读取操作。
- 需要 Python 3.10 或更高版本。
- 认证依赖 OIDC 刷新令牌,令牌可能被轮换或撤销。
- 项目采用 MIT 许可证。