梦幻英超MCP服务器-云运行版
为Google Cloud Run从头开始构建的完整梦幻英超MCP服务器,采用HTTP传输。
特性
8资源(只读数据)
fpl://static/players-所有FPL球员都有全面的统计数据fpl://static/teams-所有实力评级的英超球队fpl://gameweeks/current-当前游戏周信息fpl://gameweeks/all-所有比赛周数据fpl://fixtures-全季赛程fpl://gameweeks/blank-即将到来的空白游戏周fpl://gameweeks/double-即将到来的两场比赛周
11工具(可执行函数)
公共工具(无需授权)
- 搜索层 -按姓名查找具有完整统计数据的玩家
- 比较玩家 -玩家之间的直接比较
- 分析层 -按位置、团队、价格、形式、所有权筛选球员
- get_gameweek_status -当前/上一/下周比赛信息
- 分析层固定件 -特定玩家的夹具难度分析
- get_blank_gameweeks -识别空白比赛周和受影响的球队
- get_double_gameweeks -确定两场比赛周和球队打两次
- 分析固定件 -球队/球员/位置的赛程分析
经过身份验证的工具(需要FPL凭据)
- get_my_team_details -您的团队信息、排名、积分、价值
- get_team -按ID查看任何带有球员选择的球队
- 获取管理员信息 -经理简介和联赛信息
- get_team_history -游戏周的历史表现
- get_league_standings -联赛排名和排名
- check_fpl_身份验证 -测试凭据是否正常工作
API来源
官方梦幻超级联赛API
- 基本URL:
https://fantasy.premierleague.com/api - 与FPL官方网站使用的API相同
- 公共端点:玩家、团队、赛程、游戏周(无身份验证)
- 私有端点:球队数据、联赛数据(需要身份验证)
环境变量
云运行自动配置
PORT-服务器端口(由Cloud Run自动设置为8080)
可选身份验证变量
设置这些以解锁经过身份验证的功能:
| 变量 | 描述 | 示例 |
|---|---|---|
FPL_EMAIL | 您的FPL帐户电子邮件 | yourmail@example.com |
FPL_PASSWORD | 您的FPL密码 | YourPassword123 |
FPL_TEAM_ID | 您的FPL团队ID | 1234567 |
查找您的团队ID:
- 登录梦幻英超网站
- 转到“积分”或“转账”页面
- 请查看URL:
fantasy.premierleague.com/entry/1234567/event/10 - 您的团队ID是后面的数字
/entry/(例如。,1234567)
技术细节
构建方式:
- FastMCP 2.9.2+-具有原生HTTP支持的现代MCP框架
- httpx-FPL API调用的异步HTTP客户端
- uvicorn-ASGI服务器(包含在fastmcp中)
特征:
- ✅ 端口8080上的HTTP传输
- ✅
/mcp端点路径(MCP协议标准) - ✅ API响应1小时缓存
- ✅ 对经过身份验证的请求进行自动会话管理
- ✅ 容器安全的非root用户
- ✅ 针对Google Cloud Run Always Free层进行了优化
演出
- 内存:512 MiB(足以进行所有操作)
- CPU:1个vCPU
- 冷启动:~3-5秒
- 响应时间:每次工具调用约200-500ms
部署
Google Cloud Run(Web控制台)
- 使用这3个文件创建新的GitHub存储库
- 转到Cloud Run控制台
- 创建服务→ “从存储库持续部署”
- 连接您的GitHub仓库
- 配置:
- 地区: us-central1 (免费套餐) - 集装箱港口: 8080 - 内存: 512 MiB - 最小实例数: 0,最大实例数: 1 - 身份验证:允许未经身份验证
- 添加环境变量(FPL_EMAIL、FPL_PASSWORD、FPL_TEAM_ID)
- 部署!
您的MCP端点: https://your-service-url.run.app/mcp
文件
main.py-完整的MCP服务器(500多条线路)requirements.txt-最小依赖性Dockerfile-Cloud Run优化容器
与原始fpl-mcp包的差异
| 功能 | 原始(fpl-mcp) | 此版本 |
|---|---|---|
| 传输 | 仅限stdio(克劳德桌面) | HTTP(云运行) |
| 软件包 | mcp 1.2.0(旧SDK) | fastmcp 2.9.2(新) |
| 部署 | 仅限本地 | 基于云 |
| 资源 | 12 | 8(核心功能) |
| 工具 | 14 | 11(核心功能) |
| 提示 | 5 | 0(网络不需要) |
| 身份验证 | 加密文件存储 | 环境变量 |
| 缓存 | 磁盘缓存 | 内存中 |
测试
在本地测试服务器:
export PORT=8080
export FPL_TEAM_ID=your_team_id
python main.py卷曲测试:
curl -X POST http://localhost:8080/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'令牌计数状态
当前聊天记录:166089/449000个令牌(已使用37%)-剩余63%✅
许可证
麻省理工学院
作者
基于官方Fantasy Premier League API为云运行部署构建自定义。
