职业自行车数据服务

提供职业自行车运动员、比赛结果和历史数据的全面访问服务。

  • by r-huijts
  • Python
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 r-huijts/firstcycling-mcp

使用说明

FirstCycling MCP服务器

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

特性

此MCP服务器提供对专业自行车数据的丰富访问,提供以下工具:

  • 查找有关职业自行车手的信息
  • 检索比赛结果和详细信息
  • 探索历史种族数据
  • 分析骑手的表现和职业发展
  • 访问有关自行车队和比赛的信息

真实世界用例

使用此MCP服务器,您可以使用Claude执行以下操作:

骑手分析

  • 性能跟踪:“Tadej Pogačar多年来在环法自行车赛中的表现如何?”
  • 职业进展:“给我看看沃特·范·阿尔特的球队历史和职业发展。”
  • 专业化分析:“Mathieu van der Poel在《纪念碑》经典作品中的成果是什么?”
  • 胜利分析:“列出Jonas Vingegaard的所有世界巡回赛胜利。”
  • 历史比较比较Primož Roglič和Jonas Vingegaard的大巡回赛结果。

种族研究

  • 最近的结果:“给我看看2023年巴黎Roubaix的结果。”
  • 历史背景“谁是佛兰德斯巡回赛最年轻和最年长的获胜者?”
  • 团队分析:“获取2023年环法自行车赛的出发名单,包括详细的车队信息。”
  • 种族统计:“给我看看列日-巴斯托涅-列日的胜利表。谁赢的次数最多?”
  • 舞台信息:“你能给我看看2023年环意大利自行车赛的舞台简介吗?”

体育新闻学

  • “为自行车杂志文章创建Remco Evenepoel的详细简介。”
  • “根据Tadej Pogačar和Jonas Vingegaard等顶级竞争者的最新成绩,为即将到来的环法自行车赛撰写预览。”
  • “根据汤姆·皮德科克的比赛成绩和球队历史,分析他的职业生涯的演变。”

自行车教育

  • “用历史和获奖者的数据解释纪念碑经典作品的特殊之处。”
  • “制作一份关于Grand Tours及其在职业自行车运动中的意义的教育总结。”
  • “用数据中的例子描述职业自行车手的典型职业发展。”

需求

  • Python 3.10或更高版本
  • uv 包管理器(推荐)
  • 依赖关系如所列 pyproject.toml,包括:
    • 主控程序
    • 美容组4
    • 矿业有限公司
    • 熊猫
    • 睡眠
    • 以及其他用于网络抓取和数据处理的软件包

设置

  1. 克隆此存储库
  2. 创建并激活虚拟环境:
    uv venv
    source .venv/bin/activate  # On macOS/Linux
    # or
    .venv\Scripts\activate  # On Windows
    
  3. 安装依赖项:
    uv pip install -e .
    

第一次循环API

此服务器使用 第一次循环API,已直接集成到项目中。API提供了通过网络抓取从FirstCycling网站获取数据的方法。

MCP工具

服务器通过模型上下文协议公开以下工具:

骑手信息

工具 说明
get_rider_info 获取骑手的基本简历信息,包括国籍、出生日期、体重、身高和当前车队
get_rider_best_results 按重要性排序,检索骑手的最佳职业成绩
get_rider_grand_tour_results 获取Grand Tours(环法自行车赛、环意大利自行车赛、西班牙自行车赛)的骑手成绩
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检查器,允许您测试可用的工具。

与Claude for Desktop集成

要将此服务器与Claude for Desktop集成,请执行以下操作:

  1. 编辑Claude for Desktop配置文件,位于:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 将服务器添加到您的配置中:

    {
      "mcpServers": {
        "firstcycling": {
          "command": "uv",
          "args": ["--directory", "/path/to/server/directory", "run", "firstcycling.py"]
        }
      }
    }
    
  3. 重新启动桌面版的Claude

许可证

麻省理工学院