mcpField
C
cfb-data

cfb-data

github.com/machina-sports数据与数据库261696 次安装今天更新
代码仓库

关于 cfb-data

cfb-data 是面向大学美式足球数据查询的 skill,通过 sports-skills CLI 获取比分、排名、球队及比赛详情。它还提供 NCAA 官方数据接口,覆盖 FBS、FCS 和各级别学校目录。

主要功能

  1. 01查询比分、赛程和分区排名
  2. 02获取球队名单及球员与球队统计
  3. 03查看比赛摘要和逐场比赛记录
  4. 04查询伤病、新闻及未来赛赔率
  5. 05通过 NCAA 接口查询 FBS、FCS 数据

适用场景

  1. 01查看本周大学美式足球比分
  2. 02查询某联盟积分榜或球队赛程
  3. 03分析球队或球员赛季数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/machina-sports/sports-skills --skill cfb-data

安装后在 Claude Code 中输入/cfb-data确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-reference.md
conference-ids.md
team-ids.md
scripts/
validate_params.sh

详细介绍

College Football Data (CFB)

编写查询前,请查阅 references/api-reference.md,了解端点、大会 ID、球队 ID 和数据结构。

设置

首次使用前,检查 CLI 是否可用:

which sports-skills || pip install sports-skills

如果 pip install 因 Python 版本错误而失败,则该软件包需要 Python 3.10 或更高版本。请查找兼容的 Python 版本:

python3 --version  # check version
# If < 3.10, try: python3.12 -m pip install sports-skills
# On macOS with Homebrew: /opt/homebrew/bin/python3.12 -m pip install sports-skills

无需 API 密钥。

快速开始

优先使用 CLI,可避免 Python 导入路径问题:

sports-skills cfb get_scoreboard
sports-skills cfb get_rankings
sports-skills cfb get_standings --group=8

重要:执行任何查询前

重要:调用任何数据端点前,请确认:

  • 赛季年份根据系统提示中的 currentDate 推导得出,绝不可硬编码。
  • 查询排名时,group 参数应设为正确的大会 ID(参见 references/api-reference.md)。
  • 如果只提供了球队名称,请使用 get_teams 获取球队 ID。

选择赛季

根据系统提示中的日期推导当前年份(例如,currentDate: 2026-02-28 → 当前年份为 2026)。

  • 如果用户指定了赛季,请按原样使用。
  • 如果用户说“当前”“本赛季”或未指定赛季:CFB 赛季从 8 月持续至次年 1 月。如果当前月份为 2 月至 7 月(休赛期),请使用 season = current_year - 1。从 8 月起,使用当前年份。

重要:大学联赛与职业联赛的区别

  • 排名按大会划分——使用 group 参数进行筛选
  • 排名榜取代领跑者榜单——大学联赛使用 AP Top 25、Coaches Poll 和 CFP 排名
  • 排名球队在记分板参赛方数据中有一个 rank 字段(null = 未排名)
  • 按周安排赛程——与 NFL 类似,大学橄榄球使用周数

命令

命令说明
get_scoreboard实时/近期大学橄榄球比分
get_standings按大会划分的排名(使用 group 参数)
get_teams所有 750 多支 FBS 大学橄榄球队
get_team_roster球队完整名单
get_team_schedule指定球队的赛程
get_game_summary详细的比赛统计和得分回合
get_rankingsAP Top 25、Coaches Poll、CFP 排名
get_news大学橄榄球新闻
get_play_by_play比赛完整逐档记录
get_win_probability已结束比赛的胜率变化时间线
get_schedule按周划分的赛季赛程
get_injuries所有球队的伤病报告
get_futures未来赛事/赔率市场(全国冠军、海斯曼奖等)
get_team_stats球队统计资料
get_player_stats球员统计资料
get_ncaa_scoreboardNCAA 官方记分板——FBS 和 FCS
get_ncaa_schedule哪些周有比赛(官方索引)
get_ncaa_gameNCAA 官方比赛信息
get_ncaa_boxscoreNCAA 官方比赛统计
get_ncaa_play_by_play含进攻回合背景信息的官方逐档记录
get_ncaa_scoring_summary官方得分摘要
get_ncaa_schoolsNCAA 学校索引(所有级别)

完整参数列表和返回结构请参阅 references/api-reference.md。

官方 NCAA 后端

get_ncaa_* 命令读取 NCAA 自有端点(sdataprod.ncaa.com + ncaa.com),可提供 ESPN 未覆盖的数据:

  • 通过 division="fcs" 获取 FCS 比分板——ESPN 的大学橄榄球覆盖以 FBS 为主。
  • 官方比赛详情:get_ncaa_game、get_ncaa_boxscore、 get_ncaa_play_by_play(含进攻推进上下文)、get_ncaa_scoring_summary。
  • 学校索引(约 1,200 所学校,涵盖所有级别):get_ncaa_schools。

NCAA 比赛 ID(例如来自 get_ncaa_scoreboard 的 6306261)与 ESPN 赛事 ID 毫无关联——请根据比赛日期和球队名称进行匹配。NCAA 会重新分配比赛 ID,因此应从最新的 get_ncaa_scoreboard 调用中获取,不要保存这些 ID。橄榄球的级别为 fbs/fcs(而非 d1-d3)。get_ncaa_schedule 使用 get_ncaa_scoreboard 接受的周数(16 周及以后的比赛属于季后赛,包括 FCS 季后赛)。得分摘要中的射门得分包含 distance_yards,该数据取自逐场比赛记录。除 get_ncaa_schools 外,所有 get_ncaa_* 命令都使用 NCAA 的 GraphQL 持久化查询,其哈希值会在 ncaa.com 重新部署时轮换;发生这种情况时,它们会明确说明,而由 ESPN 提供数据的 get_scoreboard / get_schedule 可覆盖相同的 FBS 比赛。

示例

示例 1:当前排名 用户说:“大学橄榄球排名如何?” 操作:

  1. 调用 get_rankings() 结果:美联社前 25 名、教练投票排名和 CFP 排名,包含名次、上一期名次及战绩

示例 2:联盟排名 用户说:“给我看看 SEC 橄榄球排名” 操作:

  1. 根据 currentDate 推导赛季年份
  2. 调用 get_standings(group=8, season=<derived_year>)(group 8 = SEC) 结果:SEC 排名,包含各队的胜负战绩

示例 3:球队赛程 用户说:“阿拉巴马队本赛季的赛程是什么?” 操作:

  1. 根据 currentDate 推导赛季年份
  2. 调用 get_team_schedule(team_id="333", season=<derived_year>) 结果:阿拉巴马队的完整赛季赛程,包含对手、日期和比分(如已赛)

示例 4:每周比分 用户说:“给我看看本周的大学橄榄球比分” 操作:

  1. 调用 get_scoreboard() 结果:所有正在进行和近期的 CFB 比赛及其比分和排名状态

示例 5:海斯曼奖热门人选 用户说:“谁是海斯曼奖热门?” 操作:

  1. 调用 get_futures(limit=10) 结果:海斯曼奖最热门候选人及赔率数值

示例 6:球队统计数据 用户说:“给我看看阿拉巴马队的球队统计数据” 操作:

  1. 根据 currentDate 推导赛季年份
  2. 调用 get_team_stats(team_id="333", season_year=<derived_year>) 结果:阿拉巴马队各类别的赛季统计数据,包含数值、排名和场均数据

不存在的命令——绝不要调用

  • get_odds / get_betting_odds——不可用。要查询预测市场赔率,请使用 polymarket 或 kalshi 技能。
  • search_teams——不存在。请改用 get_teams。
  • get_box_score——不存在。请改用 get_game_summary。
  • get_player_ratings——不存在。请改用 get_player_stats。
  • get_bcs_rankings / get_playoff_rankings——不存在。请改用 get_rankings。

如果某条命令未列在上方的命令表中,则该命令不存在。

错误处理

命令失败时,不要向用户显示原始错误。应当:

  1. 如果未找到某日期的赛事,检查是否处于休赛期(CFB 赛季为 8 月至 1 月)
  2. 如果未指定分组时排名结果为空,请尝试指定具体的联盟分组
  3. 穷尽替代方案后,才用清晰简洁的信息说明失败

故障排除

错误:找不到 sports-skills 命令 原因:未安装软件包 解决方案:运行 pip install sports-skills

错误:未找到比赛 原因:CFB 有赛季(8 月至 1 月);休赛期的比分板将为空 解决方案:全年使用 get_rankings 或 get_news;使用 get_schedule 查找赛季开始时间

错误:返回的球队过多 原因:get_teams 会返回 750 多支 FBS 球队 解决方案:通过建议用户使用 references/api-reference.md 中的特定球队 ID,帮助用户缩小范围;或者使用 ESPN URL 查询 ID

错误:休赛期排名为空 原因:排名仅在赛季期间和休赛期初发布 解决方案:休赛期使用 get_news;排名会在 8 月恢复发布

评论

支持 Markdown