Fantasy PL 数据服务
一种模型上下文协议(MCP)服务器,提供对梦幻英超联赛(Fantasy Premier League)数据的访问,允许用户比较球员、查找球队信息、查看比赛周数据,并通过桌面版克劳德(Claude for Desktop)和其他与MCP兼容的客户端获取与FPL相关的建议。
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"fantasy-pl": {
"args": [
"-m",
"fpl_mcp"
],
"command": "python"
}
}
}
服务介绍
Fantasy Premier League MCP 服务器
这是一个提供 Fantasy Premier League (FPL) 数据和工具的 Model Context Protocol (MCP) 服务器。该服务器允许您在 Claude for Desktop 和其他兼容 MCP 的客户端中与 FPL 数据进行交互。
Fantasy Premier League MCP 服务器演示
支持的平台
- Claude Desktop
- Cursor
- Windsurf
- 其他兼容 MCP 的桌面 LLM
目前不支持移动设备。
功能
- 丰富的球员数据:从 FPL API 获取全面的球员统计数据
- 球队信息:获取英超球队的详细信息
- 比赛周数据:查看当前和过去的比赛周信息
- 球员搜索:按姓名或球队查找球员
- 球员比较:比较任意两名球员的详细统计数据
要求
- Python 3.10 或更高版本
- Claude Desktop(用于 AI 集成)
安装
选项 1:从 PyPI 安装(推荐)
pip install fpl-mcp
选项 1b:安装开发依赖项
pip install "fpl-mcp[dev]"
选项 2:从 GitHub 安装
pip install git+https://github.com/rishijatia/fantasy-pl-mcp.git
选项 3:克隆并本地安装
git clone https://github.com/rishijatia/fantasy-pl-mcp.git
cd fantasy-pl-mcp
pip install -e .
运行服务器
安装完成后,您可以选择以下几种方式运行服务器:
1. 使用 CLI 命令
fpl-mcp
2. 使用 Python 模块
python -m fpl_mcp
3. 与 Claude Desktop 一起使用
通过编辑 claude_desktop_config.json 文件来配置 Claude Desktop 使用已安装的包:
方法 1:直接使用 Python 模块(最可靠)
{
"mcpServers": {
"fantasy-pl": {
"command": "python",
"args": ["-m", "fpl_mcp"]
}
}
}
方法 2:使用带有完整路径的已安装命令(如果使用 pip 安装)
{
"mcpServers": {
"fantasy-pl": {
"command": "/full/path/to/your/venv/bin/fpl-mcp"
}
}
}
将 /full/path/to/your/venv/bin/fpl-mcp 替换为实际的可执行文件路径。您可以在激活虚拟环境后,在终端中运行 which fpl-mcp 来找到这个路径。
注意:仅使用
"command": "fpl-mcp"可能会导致spawn fpl-mcp ENOENT错误,因为 Claude Desktop 可能无法访问您的虚拟环境的 PATH。使用完整路径或 Python 模块的方法可以避免这个问题。
使用
在 Claude for Desktop 中使用
- 启动 Claude for Desktop
- 您应该可以通过锤子图标看到可用的 FPL 工具
- 示例查询:
- "比较 Mohamed Salah 和 Erling Haaland 在过去 5 个比赛周的表现"
- "查找所有阿森纳中场球员"
- "当前比赛周的状态是什么?"
- "显示按积分排名前五的前锋"
Fantasy-PL MCP 使用说明
基本命令:
- 比较球员:
"比较 [球员1] 和 [球员2]" - 查找球员:
"查找 [球队] 的球员"或"搜索 [球员名称]" - 赛程难度:
"显示 [球队] 即将到来的比赛" - 队长建议:
"在 [球员1] 和 [球员2] 之间我应该选择谁作为队长?"
高级功能:
- 统计分析:
"比较 [球员1] 和 [球员2] 的基础数据" - 状态检查:
"显示目前状态良好的球员" - 差异化选择:
"建议拥有率低于 10% 的差异化球员" - 球队优化:
"评估我的球队并建议转会"
小贴士:
- 为了获得准确的结果,请具体指明球员的名字
- 在搜索时包括位置(FWD, MID, DEF, GK)
- 为了获得最佳的队长建议,请询问关于状态、赛程和基础数据的信息
- 请求比较特定指标(如 xG, 禁区内的射门次数等)
开发用 MCP Inspector
用于开发和测试:
# If you have mcp[cli] installed
mcp dev -m fpl_mcp
# Or use npx
npx @modelcontextprotocol/inspector python -m fpl_mcp
可用资源
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- 关于即将到来的双比赛周的信息
可用工具
get_gameweek_status- 获取关于当前、上一个和下一个比赛周的详细信息analyze_player_fixtures- 分析球员即将进行的比赛及其难度评级get_blank_gameweeks- 获取关于即将到来的空场比赛周的信息get_double_gameweeks- 获取关于即将到来的双比赛周的信息analyze_players- 根据多个标准过滤和分析 FPL 球员analyze_fixtures- 分析球员、球队或位置即将进行的比赛compare_players- 比较多名球员在不同指标上的表现check_fpl_authentication- 检查 FPL 认证是否正常工作get_my_team- 查看您的认证球队(需要认证)get_team- 通过特定 ID 查看任何球队(需要认证)get_manager_info- 获取经理详情(需要认证)
提示模板
player_analysis_prompt- 创建一个用于深入分析FPL球员的提示transfer_advice_prompt- 根据预算和位置获取球员转会建议team_rating_prompt- 创建一个用于评分和分析FPL球队的提示differential_players_prompt- 创建一个用于寻找低拥有率的差异球员的提示chip_strategy_prompt- 创建一个用于芯片策略建议的提示
开发
添加功能
要添加新功能:
- 在
fpl_mcp/fpl/resources/目录下的适当文件中添加资源处理程序 - 在
fpl_mcp/fpl/tools/目录下的适当文件中添加工具处理程序 - 更新
__main__.py文件以注册新的资源和工具 - 在部署到Claude for Desktop之前,使用MCP Inspector进行测试
认证
要使用需要认证的功能(如访问您的团队或私人联赛),您需要设置FPL凭证:
# Run the credential setup tool
fpl-mcp-config setup
这个交互式工具将:
- 提示输入您的FPL电子邮件、密码和团队ID
- 让您选择是存储在config.json还是.env文件中
- 安全地保存凭证到~/.fpl-mcp/
您可以使用以下命令测试您的认证:
fpl-mcp-config test
或者,您可以手动配置认证:
-
创建
~/.fpl-mcp/.env文件,内容如下:FPL_EMAIL=your_email@example.com FPL_PASSWORD=your_password FPL_TEAM_ID=your_team_id -
或者创建
~/.fpl-mcp/config.json文件:{ "email": "your_email@example.com", "password": "your_password", "team_id": "your_team_id" } -
或者设置环境变量:
export FPL_EMAIL=your_email@example.com export FPL_PASSWORD=your_password export FPL_TEAM_ID=your_team_id
限制
- FPL API没有官方文档,并且可能会在没有任何通知的情况下发生变化
- 目前仅支持读取操作
故障排除
常见问题
1. Claude Desktop中的"spawn fpl-mcp ENOENT"错误
此错误发生是因为Claude Desktop在其PATH中找不到fpl-mcp可执行文件。
解决方案: 使用以下方法之一:
-
在配置文件中使用可执行文件的完整路径
{ "mcpServers": { "fantasy-pl": { "command": "/full/path/to/your/venv/bin/fpl-mcp" } } } -
使用Python直接运行模块(推荐方法)
{ "mcpServers": { "fantasy-pl": { "command": "python", "args": ["-m", "fpl_mcp"] } } }
2. 服务器立即断开连接
如果服务器启动但立即断开连接:
- 检查日志文件
~/Library/Logs/Claude/mcp*.log(macOS)或%APPDATA%\Claude\logs\mcp*.log(Windows) - 确保所有依赖项已安装
- 尝试手动运行服务器
python -m fpl_mcp以查看任何错误
3. Claude Desktop中未显示服务器
如果锤子图标没有出现:
- 完全重启 Claude Desktop
- 验证您的
claude_desktop_config.json是否具有正确的 JSON 语法 - 确保到 Python 或可执行文件的路径是绝对路径,而不是相对路径
许可证
本项目根据 MIT 许可证授权 - 详情请参阅 LICENSE 文件。
贡献
欢迎贡献!请随时提交 Pull Request。
- 分叉仓库
- 创建你的功能分支 (
git checkout -b feature/amazing-feature) - 提交你的更改 (
git commit -m 'Add some amazing feature') - 推送到该分支 (
git push origin feature/amazing-feature) - 打开一个 Pull Request
更多细节,请参考 CONTRIBUTING.md 文件。
致谢
- Fantasy Premier League API 提供数据
- Model Context Protocol 提供连接标准
- Claude 提供 AI 助手功能
引用
如果您在研究或项目中使用了这个包,请考虑引用它:
@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},
}
