mcpField
F
fastf1

fastf1

github.com/machina-sportsデータ・データベース261486 回インストール今日更新
リポジトリ

fastf1 について

fastf1は、F1データの照会と分析を行うスキルです。sports-skillsのコマンドラインやPython SDKから各種データを取得でき、対象シーズンの年の選び方も案内します。

主な機能

  1. 01カレンダーとレース結果の照会
  2. 02ドライバーとチーム情報の取得
  3. 03ラップタイムとピットストップの分析
  4. 04ドライバー、チーム、シーズンの比較

活用シーン

  1. 01シーズン日程と順位表の確認
  2. 02レースごとのラップペースとタイヤ戦略の分析
  3. 03ドライバーまたはチームの比較

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/fastf1を入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
api-reference.md
commands.md
schemas.md
scripts/
validate_params.sh

詳細

FastF1 — Formula 1 Data

クエリを作成する前に、エンドポイント、ID の規則、データ形式について references/api-reference.md を参照してください。

クイックスタート

Python のインポートパスの問題を避けられるため、CLI を優先してください:

sports-skills f1 get_race_schedule --year=2025
sports-skills f1 get_race_results --year=2025 --event=Monza

Python SDK(代替手段):

from sports_skills import f1

schedule = f1.get_race_schedule(year=2025)
results = f1.get_race_results(year=2025, event="Monza")

重要:クエリを実行する前に

重要:データエンドポイントを呼び出す前に、次の点を確認してください:

  • 年は、システムプロンプトの currentDate から取得してください。ハードコードしないでください。
  • 1 月または 2 月は、year = current_year - 1 を使用してください(プレシーズンであり、新しい F1 シーズンはまだ始まっていません)。

年の選び方

システムプロンプトの日付から現在の年を取得します(例:currentDate: 2026-02-16 → 現在の年は 2026)。

  • ユーザーが年を指定した場合は、その年をそのまま使用します。
  • ユーザーが「最新」「最近」「前シーズン」と指定した場合、または年を指定しなかった場合:F1 シーズンはおおむね 3 月から 12 月までです。現在の月が 1 月または 2 月の場合は、year = current_year - 1 を使用します。3 月以降は現在の年を使用します。

ワークフロー

レースウィークエンドの分析
  1. get_race_schedule --year=<year> — イベント名と日付を確認します
  2. get_race_results --year=<year> --event=<name> — 最終順位(順位、タイム、ポイント)を確認します
  3. get_lap_data --year=<year> --event=<name> --session_type=R — ラップごとのペースを分析します
  4. get_tire_analysis --year=<year> --event=<name> — 戦略の内訳(コンパウンド、スティントの長さ、デグラデーション)を確認します
ドライバー/チームの比較
  1. get_championship_standings --year=<year> — チャンピオンシップの状況(ポイント、優勝回数、表彰台回数)を確認します
  2. get_team_comparison --year=<year> --team1=<t1> --team2=<t2> または get_driver_comparison --year=<year> --driver1=<d1> --driver2=<d2>
  3. get_season_stats --year=<year> — 総合成績(ファステストラップ、最高速度)を確認します
シーズンの概要
  1. get_race_schedule --year=<year> — 日程とサーキットを含む全カレンダーを確認します
  2. get_championship_standings --year=<year> — ドライバーとコンストラクターの順位を確認します
  3. get_season_stats --year=<year> — シーズン全体のファステストラップ、最高速度、ポイントリーダーを確認します
  4. get_driver_info --year=<year> — 現在のグリッド(ドライバー番号、チーム、国籍)を確認します

コマンド

コマンド説明
get_race_schedule日程とサーキットを含むシーズン全体のカレンダー
get_race_resultsレースの最終順位(順位、タイム、ポイント)
get_session_dataセッションの生データ(Q、FP1、FP2、FP3、R)
get_driver_infoグリッド上のドライバーの詳細
get_team_infoドライバーのラインアップを含むチーム情報
get_lap_dataセクターとタイヤデータを含むラップごとのタイム
get_pit_stopsピットレーン通過時間(停車時間ではありません)とチーム平均を含むピットストップ
get_speed_dataスピードトラップと中間地点の速度データ
get_championship_standingsドライバーとコンストラクターのチャンピオンシップ順位(ラウンド N 終了時点の順位は --round=N)
get_season_statsシーズンの総合成績
get_team_comparisonチーム同士の比較:予選、レースペース、セクター
get_driver_comparisonドライバー同士の比較:予選の直接対決、レースの直接対決、ペース差
get_tire_analysisタイヤ戦略、スティントの長さ、デグラデーション率

パラメーターと戻り値の形式の一覧については、references/api-reference.md を参照してください。

例

例1:F1 カレンダー ユーザーの発言:「F1 カレンダーを表示して」 操作:

  1. currentDate から年を導き出します
  2. get_race_schedule(year=<derived_year>) を呼び出します 結果:イベント名、日付、サーキットを含む全カレンダー

例2:ドライバーのレースパフォーマンス ユーザーの発言:「フェルスタッペンはモンツァでどうだった?」 操作:

  1. currentDate から年を導き出します(またはコンテキストから取得します)
  2. 最終順位を取得するため、get_race_results(year=<year>, event="Monza") を呼び出します
  3. ラップタイムを取得するため、get_lap_data(year=<year>, event="Monza", session_type="R", driver="VER") を呼び出します 結果:最終順位、トップとの差、最速ラップ、タイヤ戦略

例3:プレシーズンに最新の結果を問い合わせる ユーザーの発言:「最新のF1の結果は?」(2026年2月に質問) 操作:

  1. 現在の月は2月 → シーズンはまだ始まっていません → year = 2025 を使用します
  2. そのシーズンの最終イベントを見つけるため、get_race_schedule(year=2025) を呼び出します
  3. 最終レースの結果を取得するため、get_race_results(year=2025, event=<last_event>) を呼び出します 結果:2025年最終レースの結果

存在しないコマンド — 絶対に呼び出さないでください

  • get_qualifying / get_practice — 存在しません。予選には session_type="Q"、フリー走行には session_type="FP1"/"FP2"/"FP3" を指定して get_session_data を使用してください。
  • get_standings — 存在しません。代わりに get_championship_standings を使用してください。
  • get_results — 存在しません。代わりに get_race_results を使用してください。
  • get_calendar — 存在しません。代わりに get_race_schedule を使用してください。

上記のコマンド一覧表に記載されていないコマンドは存在しません。

トラブルシューティング

エラー:イベント名が見つかりません 原因:イベント名のスペルが FastF1 の内部名称と一致していません 解決策:まず get_race_schedule(year=<year>) を呼び出して正確なイベント名を確認し、その後、正しい名前で再試行してください

エラー:セッションデータが空です 原因:セッションがまだ開催されていません 解決策:FastF1 は完了したセッションのデータのみを返します。get_race_schedule でセッションの開催予定を確認してください

エラー:get_race_results が fastest_lap_time を返しません 原因:FastF1 にそのレースのラップデータがありません(fastest_lap_time はラップデータから計算されます) 解決策:get_lap_data(session_type="R") を使用し、全ドライバーの lap_time の最小値を見つけてください

エラー:1月または2月に現在の年を問い合わせると、データが返されません 原因:新しいF1シーズンがまだ始まっていません 解決策:3月より前の問い合わせでは year = current_year - 1 を使用してください。3月より前に現在の年を問い合わせないでください

コメント