Skip to main content
Glama
Surya96t

fastf1-mcp-server

fastf1-mcp

CI

FastF1ライブラリを介してAIアシスタントにF1データを提供するMCPサーバーです。Claude(またはMCP互換クライアント)に、レース結果、ラップタイム、テレメトリー、順位などについて質問できます。


機能

  • 21個のツール: 順位、レース結果、ラップタイム、テレメトリー、ピットストップ、予選を網羅

  • 4個のMCPリソース: スケジュール、ドライバー、コンストラクター、サーキットの参照データ

  • 5個のガイド付きプロンプト: レースの振り返り、予選分析、戦略の深掘り、週末のプレビュー

  • 非同期対応のLRUセッションキャッシュ: 初回読み込み後は、繰り返しクエリが即座に実行されます

  • 距離ベースのテレメトリーサンプリング: 大規模な生データを500ポイント以下に圧縮

  • 構造化されたエラー返却: 不正な入力でもサーバーがクラッシュすることはありません


要件

  • Python 3.12以上

  • uv(推奨)または pip


インストール

uvを使用する場合(推奨)

git clone https://github.com/yourname/fastf1-mcp
cd fastf1-mcp
uv sync

pipを使用する場合

pip install fastf1-mcp-server

サーバーの実行

# via uv (development)
uv run fastf1-mcp-server

# or directly
python -m fastf1_mcp

MCP Inspector(開発・デバッグ用)

# Option A — official npx inspector
npx @modelcontextprotocol/inspector uv --directory . run fastf1-mcp-server

# Option B — fastmcp wrapper
uv run fastmcp dev inspector -m fastf1_mcp.server --with-editable .

どちらも http://localhost:6274 でインスペクターが開きます。


Claude Desktopの設定

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に以下を追加してください:

{
  "mcpServers": {
    "fastf1": {
      "command": "uv",
      "args": ["run", "fastf1-mcp-server"],
      "cwd": "/absolute/path/to/fastf1-mcp",
      "env": {
        "FASTF1_MCP_LOG_LEVEL": "INFO",
        "FASTF1_MCP_MAX_CACHED_SESSIONS": "10"
      }
    }
  }
}

保存後、Claude Desktopを再起動してください。ツールパネルに fastf1 サーバーが表示されます。


設定

すべての設定は FASTF1_MCP_ プレフィックスが付いた環境変数から読み込まれます。

変数

デフォルト

説明

FASTF1_MCP_FASTF1_CACHE_PATH

~/.fastf1_cache

FastF1セッションファイルのディスクキャッシュ

FASTF1_MCP_MAX_CACHED_SESSIONS

10

メモリ内に保持する最大セッション数 (LRU)

FASTF1_MCP_DEFAULT_TELEMETRY_SAMPLES

200

デフォルトのテレメトリーサンプルポイント数

FASTF1_MCP_MAX_TELEMETRY_SAMPLES

500

テレメトリーサンプルポイント数の上限

FASTF1_MCP_LOG_LEVEL

INFO

Pythonのログレベル


ツール

クイックルックアップ(Ergast API — 1950年〜現在)

ツール

説明

get_schedule

シーズンのF1レースカレンダーを取得

get_driver_standings

ドライバー選手権の順位を取得

get_constructor_standings

コンストラクター選手権の順位を取得

get_driver_info

ドライバー情報を取得

get_race_results_historical

過去のレース結果を取得(2018年以前、またはセッションデータが利用できない場合)

get_circuit_info

サーキット情報を取得

セッションデータ(FastF1 Live Timing — 2018年〜現在)

ツール

説明

get_session_results

セッションの分類/結果を取得

get_lap_times

セッション内のドライバーの全ラップタイムを取得

get_fastest_laps

セッション内の最速ラップを取得(ドライバーごとに1つ)

get_race_pace

全ドライバーの平均レースペースを計算

get_stint_analysis

レースのタイヤスティントを分析

get_pit_stops

レースの全ピットストップを取得

get_qualifying_breakdown

Q1/Q2/Q3に分割された予選結果を取得

テレメトリー(FastF1 Live Timing — 2018年〜現在)

ツール

説明

get_lap_telemetry

特定ラップのテレメトリーデータを取得

compare_telemetry

同一セッション内の2人のドライバーのテレメトリーを比較

get_speed_trap_data

セッション内の全ドライバーのスピードトラップおよび最高速度データを取得

get_sector_times

各ドライバーのベストセクタータイムと理論上のベストラップを取得

ユーティリティ

ツール

説明

list_events

シーズン内の全イベントをリストアップ

list_drivers

シーズン内の全ドライバーをリストアップ(特定のイベントでフィルタリング可能)

get_cache_status

サーバーのメモリ内セッションキャッシュの状態を確認

clear_cache

メモリ内ストレージからキャッシュされたセッションをクリア


リソース

URI

説明

f1://schedule/{year}

シーズンの全レースカレンダー

f1://drivers/{year}

シーズンに出場した全ドライバー

f1://constructors/{year}

シーズンの全コンストラクター

f1://circuits

全F1サーキット(全期間)


プロンプト

プロンプト

引数

内容

race_recap

year, event

結果 + 最速ラップ + ピットストップ + スティントを呼び出し、レースを解説

qualifying_analysis

year, event

Qの内訳 + セクタータイム + トップラップ分析

driver_comparison

year, driver1, driver2

シーズンレベルの直接対決:順位、レース、予選

strategy_analysis

year, event

スティント + ピットタイミング + レースペース — 戦略バトルを解説

weekend_preview

year, event

サーキット詳細 + 最近の歴史 + 選手権の状況


クエリ例(Claude Desktop)

Who won the 2024 Monaco Grand Prix and what was the strategy?
→ use race_recap prompt or call get_session_results + get_stint_analysis

Compare Verstappen and Leclerc's telemetry in 2024 Monaco qualifying
→ compare_telemetry(2024, "Monaco", "Q", "VER", "LEC")

Who had the fastest theoretical lap in 2024 Silverstone qualifying?
→ get_sector_times(2024, "Silverstone", "Q")

Show me the 2024 constructor standings after round 10
→ get_constructor_standings(2024, after_round=10)

開発

# Install dev dependencies
uv sync --dev

# Run tests
uv run pytest

# Run tests with coverage
uv run pytest --cov=fastf1_mcp

# Lint
uv run ruff check src/

データソースとカバレッジ

ソース

カバレッジ

用途

Ergast API (via FastF1)

1950年〜現在

順位、スケジュール、過去の結果、サーキット情報

FastF1 Live Timing

2018年〜現在

ラップタイム、テレメトリー、予選、ピットストップ、タイヤデータ

注: FastF1のセッションデータは2018年以降のみ利用可能です。それ以前のシーズンについては get_race_results_historical を使用してください。


ライセンス

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Surya96t/fastf1-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server