FirstCycling MCP 服务器
这是一个提供 FirstCycling 专业自行车数据的模型上下文协议(MCP)服务器。它允许您获取职业自行车选手、赛事结果、赛事详情和历史自行车数据等全面信息。
功能
该 MCP 服务器提供丰富的专业自行车数据访问工具,包括:
- 查找职业自行车选手信息
- 获取赛事结果和详情
- 探索历史赛事数据
- 分析选手表现和职业生涯发展
- 访问自行车队和赛事信息
实际应用场景
使用此 MCP 服务器,您可以通过 Claude 实现以下功能:
选手分析
- 表现追踪:"Tadej Pogačar 在环法赛事中的表现如何?"
- 职业生涯发展:"展示 Wout van Aert 的车队历史和职业生涯发展情况。"
- 专项分析:"Mathieu van der Poel 在经典赛事中的成绩如何?"
- 胜利分析:"列出 Jonas Vingegaard 的所有世巡赛胜利。"
- 历史对比:"比较 Primož Roglič 和 Jonas Vingegaard 的环赛事成绩。"
赛事研究
- 近期结果:"展示 2023 年巴黎-鲁贝赛的结果。"
- 历史背景:"环佛兰德斯赛事最年轻和最年长的冠军是谁?"
- 车队分析:"获取 2023 年环法赛事的起赛名单,包含详细车队信息。"
- 赛事统计:"展示列日-巴斯托涅-列日赛事的胜利榜。谁获得胜利次数最多?"
- 赛段信息:"能否展示 2023 年环意赛各赛段路线图?"
体育新闻
- "为自行车杂志撰写 Remco Evenepoel 的详细个人资料。"
- "基于 Tadej Pogačar 和 Jonas Vingegaard 等顶尖选手的近期成绩,撰写即将到来的环法赛事前瞻。"
- "根据他的赛事成绩和车队历史,分析 Tom Pidcock 的职业生涯发展。"
自行车教育
- "使用关于这些赛事历史和冠军的数据,解释为什么经典赛事如此特别。"
- "创建关于环赛事及其在职业自行车运动中重要性的教育性总结。"
- "使用数据中的实例,描述职业自行车选手典型的职业生涯发展路径。"
要求
- 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 工具
服务器通过模型上下文协议暴露以下工具:
选手信息
| 工具 | 描述 |
|---|---|
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
许可证
MIT