F

FirstCycling 数据聚合工具

@r-huijts/firstcycling-mcp
0 Stars 18 次浏览 r-huijts 更新于 2026-08-23

提供来自FirstCycling的职业自行车运动数据,允许用户通过自然语言查询获取车手、比赛成绩、历史自行车数据及车队信息的综合资料。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

FirstCycling MCP 服务器

这是一个提供来自 FirstCycling 的职业自行车数据的模型上下文协议(MCP)服务器。它允许您检索关于职业自行车手、比赛结果、比赛详情和历史自行车数据的全面信息。

功能

此 MCP 服务器提供了丰富的访问职业自行车数据的功能,包括:

  • 查找职业自行车手的信息
  • 检索比赛结果和详情
  • 探索历史比赛数据
  • 分析车手表现和职业生涯进展
  • 访问关于自行车队和比赛的信息

实际应用案例

使用此 MCP 服务器,您可以利用 Claude 来实现以下功能:

车手分析

  • 表现跟踪:"塔代伊·波加查在历年的环法自行车赛中的表现如何?"
  • 职业生涯进展:"显示沃特·范阿尔特的车队历史和职业生涯进展。"
  • 专长分析:"马修·范德普尔在五大古典赛中的成绩如何?"
  • 胜利分析:"列出约纳斯·温格高所有的世界巡回赛胜利。"
  • 历史比较:"比较普里莫兹·罗格利奇和约纳斯·温格高在大环赛中的成绩。"

比赛研究

  • 最近的结果:"显示2023年巴黎-鲁贝的比赛结果。"
  • 历史背景:"谁是弗兰德斯巡回赛最年轻和最年长的获胜者?"
  • 团队分析:"获取2023年环法自行车赛的出发名单,并附带详细的车队信息。"
  • 比赛统计:"显示列日-巴斯通-列日的胜利表。谁赢得最多次?"
  • 赛段信息:"可以显示2023年环意自行车赛的赛段概况吗?"

体育新闻报道

  • "为一篇自行车杂志文章创建雷姆科·埃文普尔的详细档案。"
  • "基于塔代伊·波加查和约纳斯·温格高等顶尖选手的近期成绩,为即将到来的环法自行车赛撰写预览。"
  • "根据汤姆·皮德科克的比赛成绩和车队历史,分析其职业生涯的发展。"

自行车教育

  • "使用关于它们的历史和获胜者的数据解释为什么五大古典赛如此特别。"
  • "创建关于大环赛及其在职业自行车运动中重要性的教育性总结。"
  • "使用数据中的例子描述职业自行车手典型的职业生涯发展。"

要求

  • Python 3.10 或更高版本
  • uv 包管理器(推荐)
  • 依赖项如 pyproject.toml 中所列,包括:
    • mcp
    • beautifulsoup4
    • lxml
    • pandas
    • slumber
    • 以及其他用于网页抓取和数据处理的包

设置

  1. 克隆此仓库
  2. 创建并激活虚拟环境:
    uv venv
    source .venv/bin/activate  # 在 macOS/Linux 上
    # 或者
    .venv\Scripts\activate  # 在 Windows 上
    
  3. 安装依赖项:
    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桌面版集成:

  1. 编辑位于以下位置的 Claude for Desktop 配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. 在配置中添加服务器:

    {
      "mcpServers": {
        "firstcycling": {
          "command": "uv",
          "args": ["--directory", "/path/to/server/directory", "run", "firstcycling.py"]
        }
      }
    }
    
  3. 重启 Claude for Desktop

许可证

MIT