FirstCycling 数据聚合工具
提供来自FirstCycling的职业自行车运动数据,允许用户通过自然语言查询获取车手、比赛成绩、历史自行车数据及车队信息的综合资料。
服务介绍
FirstCycling MCP 服务器
这是一个提供来自 FirstCycling 的职业自行车数据的模型上下文协议(MCP)服务器。它允许您检索关于职业自行车手、比赛结果、比赛详情和历史自行车数据的全面信息。
功能
此 MCP 服务器提供了丰富的访问职业自行车数据的功能,包括:
- 查找职业自行车手的信息
- 检索比赛结果和详情
- 探索历史比赛数据
- 分析车手表现和职业生涯进展
- 访问关于自行车队和比赛的信息
实际应用案例
使用此 MCP 服务器,您可以利用 Claude 来实现以下功能:
车手分析
- 表现跟踪:"塔代伊·波加查在历年的环法自行车赛中的表现如何?"
- 职业生涯进展:"显示沃特·范阿尔特的车队历史和职业生涯进展。"
- 专长分析:"马修·范德普尔在五大古典赛中的成绩如何?"
- 胜利分析:"列出约纳斯·温格高所有的世界巡回赛胜利。"
- 历史比较:"比较普里莫兹·罗格利奇和约纳斯·温格高在大环赛中的成绩。"
比赛研究
- 最近的结果:"显示2023年巴黎-鲁贝的比赛结果。"
- 历史背景:"谁是弗兰德斯巡回赛最年轻和最年长的获胜者?"
- 团队分析:"获取2023年环法自行车赛的出发名单,并附带详细的车队信息。"
- 比赛统计:"显示列日-巴斯通-列日的胜利表。谁赢得最多次?"
- 赛段信息:"可以显示2023年环意自行车赛的赛段概况吗?"
体育新闻报道
- "为一篇自行车杂志文章创建雷姆科·埃文普尔的详细档案。"
- "基于塔代伊·波加查和约纳斯·温格高等顶尖选手的近期成绩,为即将到来的环法自行车赛撰写预览。"
- "根据汤姆·皮德科克的比赛成绩和车队历史,分析其职业生涯的发展。"
自行车教育
- "使用关于它们的历史和获胜者的数据解释为什么五大古典赛如此特别。"
- "创建关于大环赛及其在职业自行车运动中重要性的教育性总结。"
- "使用数据中的例子描述职业自行车手典型的职业生涯发展。"
要求
- Python 3.10 或更高版本
uv包管理器(推荐)- 依赖项如
pyproject.toml中所列,包括:- mcp
- beautifulsoup4
- lxml
- pandas
- slumber
- 以及其他用于网页抓取和数据处理的包
设置
- 克隆此仓库
- 创建并激活虚拟环境:
uv venv source .venv/bin/activate # 在 macOS/Linux 上 # 或者 .venv\Scripts\activate # 在 Windows 上 - 安装依赖项:
uv pip install -e .
FirstCycling API
这台服务器使用了FirstCycling API,该API已直接集成到项目中。API提供了通过网页抓取从FirstCycling网站获取数据的方法。
MCP 工具
服务器通过模型上下文协议(Model Context Protocol, MCP)公开了以下工具:
骑手信息
| 工具 | 描述 |
|---|---|
get_rider_info |
获取骑手的基本传记信息,包括国籍、出生日期、体重、身高和当前所属队伍 |
get_rider_best_results |
按重要性排序检索骑手职业生涯中的最佳成绩 |
get_rider_grand_tour_results |
获取骑手在大环赛(环法自行车赛、环意大利自行车赛、环西班牙自行车赛)中的成绩 |
get_rider_monument_results |
检索骑手在五大古典赛中的成绩 |
get_rider_team_and_ranking |
获取骑手的队伍历史及UCI排名随时间的变化情况 |
get_rider_race_history |
检索骑手完整的参赛历史,可按年份筛选 |
get_rider_one_day_races |
获取骑手在单日赛中的成绩,可按年份筛选 |
get_rider_stage_races |
获取骑手在多日分段赛中的成绩,可按年份筛选 |
get_rider_teams |
检索骑手在其整个职业生涯中的完整队伍历史 |
get_rider_victories |
获取骑手的职业生涯胜利列表,可以选择过滤世界巡回赛或UCI赛事 |
赛事信息
| 工具 | 描述 |
|---|---|
get_race_results |
通过比赛ID和年份检索特定比赛版本的成绩 |
get_race_overview |
获取关于比赛的一般信息,包括历史记录、纪录以及过去的获胜者 |
get_race_stage_profiles |
检索多阶段赛事的阶段概况和详细信息 |
get_race_startlist |
获取特定比赛版本的起跑名单,附带详细的或基本的队伍信息 |
get_race_victory_table |
检索显示最多胜场次数的骑手的比赛总胜利表 |
get_race_year_by_year |
获取比赛的逐年结果,可选分类过滤 |
get_race_youngest_oldest_winners |
检索关于比赛中最年轻和最老的获胜者的信息 |
get_race_stage_victories |
获取关于多阶段赛事中阶段胜利的信息 |
搜索工具
| 工具 | 描述 |
|---|---|
search_rider |
通过姓名搜索骑手,返回他们的ID和基本信息 |
search_race |
通过名称搜索比赛,返回它们的ID和基本信息 |
使用方法
开发模式
您可以通过运行以下命令使用MCP Inspector测试服务器:
uv run mcp dev firstcycling.py
这将启动服务器并在您的浏览器中打开MCP Inspector,允许您测试可用工具。
与Claude桌面版集成
要将此服务器与Claude桌面版集成:
-
编辑位于以下位置的 Claude for Desktop 配置文件:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
-
在配置中添加服务器:
{ "mcpServers": { "firstcycling": { "command": "uv", "args": ["--directory", "/path/to/server/directory", "run", "firstcycling.py"] } } } -
重启 Claude for Desktop
许可证
MIT