返回市场
首次骑行-mcp

首次骑行-mcp

作者:r-huijts17 星标更新:2025-08-26

项目介绍

MseeP.ai 安全评估徽章

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
    • 以及其他用于网络抓取和数据处理的包

设置

  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 工具

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

车手信息

工具描述
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 的配置文件,位于:

    • 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

许可证

MIT