Pitwall — F1 Data for Claude について
Pitwallは、ClaudeにF1のタイミング、テレメトリー、レース戦略、過去の結果を提供するMCPサーバーです。セッション中のデータに加え、分析ツールやフルモードの可視化機能を備えています。
主な機能
- 01開催中セッションのライブタイミング
- 02ラップ単位のテレメトリーと比較
- 03タイヤ、ピットストップ、天候データ
- 04レースコントロールと戦略の分析
- 051950年以降のレース・選手権記録
- 06フルモードでのテレメトリー図
活用シーン
- 01順位、ギャップ、ラップタイムの確認
- 02ドライバー間の速度推移の比較
- 03タイヤスティントとピットストップの確認
- 04過去のレース結果や選手権結果の検索
MCP 対応
PitwallはClaude CodeやClaude Desktopを含むMCP対応クライアントに、F1データと分析ツールを公開します。ライブタイミングはF1のリアルタイムフィードを利用し、ライブテレメトリーとGPSにはF1 TVトークンが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
30掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
Pitwall
Claude を F1 のレースエンジニアにしましょう。
実際のテレメトリー。実際の戦略データ。75 年の歴史。
クイックスタート
Claude Code — 1 つのコマンドで、79 個のツールをすべて利用できます。
claude mcp add pitwall -- uvx --from "f1pitwall[full]" f1pitwall
続いて Claude に質問します:「2025 年のオーストラリア GP の優勝者は?」
uv が必要です(
curl -LsSf https://astral.sh/uv/install.sh | sh)。pip も仮想環境も「which python3」も不要で、常に最新リリースを利用できます。初回起動時は FastF1 スタック(約 540 MB)がダウンロードされ、約 25 秒かかります。その後の起動は毎回 1 秒未満です。初回起動がタイムアウトした場合は、Claude Code を再起動してください。ダウンロードはすでにキャッシュされています。
サーバーと一緒に f1 スキルも使いたい場合は、プラグインとしてインストールできます。Claude Code プラグインとしてインストールをご覧ください。
軽量インストール(30 個のツール、プロットなし)
pandas/numpy/matplotlib/FastF1 を省きます。ライブタイミングツール 16 個はすべて含まれます。
claude mcp add pitwall -- uvx --from f1pitwall f1pitwall
代わりに pip でインストール
pip install "f1pitwall[full]" # or just f1pitwall for lite
claude mcp add pitwall -- f1pitwall
代わりにソースからインストール
git clone https://github.com/darshjoshi/pitwall.git && cd pitwall
pip install -r requirements.txt # lite (incl. live timing)
pip install -r requirements-full.txt # full
claude mcp add pitwall -- python3 $(pwd)/pitwall.py
Claude Code プラグインとしてインストール
このプラグインには、MCP サーバーと f1 スキルの両方が含まれています。スキルは、79 個のツールのうちどれを使うべきか、またレースを見たことがない人に F1 をどう説明するかを Claude に教えます。
/plugin marketplace add darshjoshi/pitwall
/plugin install pitwall@pitwall
Claude Desktop
claude_desktop_config.json に追加します(Settings → Developer → Edit Config):
{
"mcpServers": {
"pitwall": {
"command": "uvx",
"args": ["--from", "f1pitwall[full]", "f1pitwall"]
}
}
}
Pitwall を選ぶ理由
Claude はトレーニングデータから F1 の知識を得ていますが、先週のレースを調べることはできません。ターン 1 を通過するフェルスタッペンのスロットルトレースを表示することも、誰が先にピットインしたか、セーフティカーがいつ出動したかを知ることもできません。
Pitwall は Claude を実際の F1 データに接続します。
- 幻覚ではなく実データ — formula1.com の実際のタイミングフィード
- ラップ単位のテレメトリー — 車両ごとに 4 Hz で記録された速度、RPM、スロットル、ブレーキ、ギア、DRS
- ビジュアルプロット — スピード推移の比較、ギアシフトマップを画像で返します
- 75 年の歴史 — 1950 年以降のすべてのレース結果と選手権
- 各セッション終了後に更新 — 2018 年以降の全テレメトリーとタイミングが、各セッション終了から約 30 分後に公開されます
- API キー不要 — コアデータはすべて無料で、アカウントも必要ありません
質問できること
"Who won the 2025 Australian GP?" → Race results and classification
"Verstappen's speed on lap 25 at Monaco" → Lap telemetry at 4Hz
"Plot Hamilton vs Norris speed trace" → Visual speed comparison chart
"Compare Ferrari's tyre strategy" → Stint-by-stint breakdown
"Who won the 1994 championship?" → 75 years of history
"When was the safety car at Silverstone?" → Race control messages and flags
質問例をすべて表示
| 質問 | 使用するツール |
|---|---|
| 「中国GPで優勝したのは誰ですか?」 | get_standings |
| 「25周目のフェルスタッペンの速度は?」 | get_telemetry |
| 「ハミルトンとルクレールを比較して」 | get_driver_comparison |
| 「全員がどのタイヤを使いましたか?」 | get_tyre_strategy |
| 「2025年オーストラリアGPで最速のピットストップは?」 | get_pit_stops |
| 「セーフティカーが出たのはいつですか?」 | get_race_control |
| 「レース中に雨は降っていましたか?」 | get_weather |
| 「2024年モンツァの最高速度は?」 | get_speed_traps |
| 「レース中のノリスのラップタイム」 | get_lap_times |
| 「2005年のチャンピオンシップで優勝したのは誰ですか?」 | get_championship_standings |
| 「フェルスタッペンとハミルトンの速度推移をプロットして」 | plot_telemetry_comparison |
| 「モナコのギアシフトマップを見せて」 | plot_gear_shifts |
| 「最も順位を上げたのは誰ですか?」 | compare_grid_to_finish |
| 「レース中のオーバーテイク」 | detect_overtakes |
| 「フェルスタッペンの5周目と50周目を比較して」 | plot_multi_telemetry_comparison |
| 「予選でのフェラーリのチーム内対決」 | team_head_to_head |
| 「予選で削除されたラップ」 | get_deleted_laps |
| 「レースを通じた首位とのギャップ」 | get_gap_to_leader |
機能
2つのモードで79個のツールを利用できます。Pitwallはインストール済みの機能を自動検出するため、設定を変更する必要はありません。
Lite モード(30個のツール)
pip install f1pitwall — 軽量な依存関係のみ(mcp、requests、ライブタイミング用のwebsockets/aiohttp)。pandas/numpy/FastF1は不要です。
レース結果、ラップタイム、テレメトリー、タイヤ戦略、ピットストップ、天候、レースコントロール、スピードトラップ、ドライバー比較、および1950年までさかのぼる過去のデータを利用できます。さらに、16個のライブタイミングツール(走行順、ギャップ、ラップ/セクタータイム、タイヤ、天候、レースコントロール、スピードトラップ、ミニセクターなど)も利用でき、セッション中にF1のリアルタイムSignalRフィードを読み取ります。認証は不要です。(ライブの車両テレメトリーとGPSは認証が必要で、Fullモードで利用できます。)F1の無料の静的アーカイブとJolpica APIを使用します。
Full モード(79個のツール)
pip install -r requirements-full.txt — FastF1が追加されます。
Liteモードのすべてに加えて、次の機能を利用できます。
| カテゴリ | 利用できる機能 |
|---|---|
| ビジュアルプロット | 速度推移の比較、ギアシフトマップ、複数ラップのテレメトリー重ね合わせ |
| 詳細なテレメトリー | ブレーキポイント分析、RPMパターン、DRS使用状況、スロットル推移 |
| 高度な戦略分析 | スティントの劣化、コンパウンド比較、タイヤの使用年数別パフォーマンス |
| レース分析 | オーバーテイク検出、ギャップ追跡、順位変動、予選の進行状況 |
ツール一覧(79個)
Lite ツール(常に利用可能)
| ツール | 説明 |
|---|---|
list_seasons | 利用可能なシーズン(2018年〜現在) |
list_races | 日付を含むシーズン全体のカレンダー |
get_race_info | セッションの詳細と利用可能なデータフィード |
get_standings | レース順位 — 順位、ギャップ、ベストラップ、ピット |
get_lap_times | ラップごとのタイム。ドライバーとラップ範囲で絞り込み可能 |
get_telemetry | 特定のラップの速度、RPM、スロットル、ブレーキ、ギア、DRS |
get_tyre_strategy | 全ドライバーのコンパウンド、スティントの長さ、新品/使用済み |
get_pit_stops | 最速順に並べた全ピットストップ |
get_race_control | フラッグ、ペナルティ、セーフティカー、調査 |
get_weather | 気温/路面温度、雨、湿度、風 |
get_speed_traps | ドライバーごとの4つの計測地点での速度 |
get_driver_comparison | 直接比較:順位、ペース、戦略、ピットストップ |
get_historical_results | 1950年から現在までのレース結果 |
get_championship_standings | 1950年以降のドライバー/コンストラクターズ選手権 |
ライブタイミング(ライト版 — 認証不要。セッション中にF1のリアルタイムSignalRフィードを読み込みます)
| ツール | 説明 |
|---|---|
get_live_session_status | セッション名、フラッグ/トラック状況、ラップ数 |
get_live_positions | ギャップとインターバルを含むリアルタイムの順位 |
get_live_lap_times | ドライバーごとの直近ラップタイムとベストラップタイム |
get_live_sector_times | 1人のドライバーのセクタータイムとスピードトラップ |
get_live_time_gaps | 先頭との差と前車とのインターバル(モード対応) |
get_live_best_sectors | ドライバーごとの自己ベストセクターとベストラップを順位付け |
get_live_speed_trap | 全車のスピードトラップ(ST)順位 |
get_live_speed_comparison | ドライバーごとのI1/I2/FL/STでの最高速度 |
get_live_tyres | ドライバーごとのコンパウンド、使用年数(ラップ数)、スティント番号 |
get_live_stint_history | ドライバーごとの全コンパウンド履歴 |
get_live_pit_activity | ピット回数とピットイン/アウトラップのフラグ |
get_live_weather | 気温/路面温度、湿度、風、雨 |
get_live_race_control | フラッグ、ペナルティ、トラックリミット違反によるタイム抹消、SC/VSC |
get_live_session_clock | セッションの残り時間 |
get_live_track_status_history | トラック/セッション状況の時系列ログ |
get_live_mini_sectors | ドライバーごとのミニセクター状況(グリーン/パープル/イエロー) |
FastF1 ツール(FastF1 が必要)
| カテゴリ | ツール |
|---|---|
| ビジュアルプロット | plot_telemetry_comparison、plot_gear_shifts、plot_multi_telemetry_comparison、plot_driver_telemetry_comparison |
| テレメトリー分析 | analyze_brake_points、analyze_rpm_data、analyze_drs_usage |
| ラップ分析 | get_lap_times_fastf1、get_deleted_laps、analyze_lap_consistency、get_fastest_sectors、get_personal_best_laps、compare_sector_times |
| 戦略 | get_driver_tyre_detail、get_stint_analysis、compare_tire_compounds、compare_tire_age_performance、analyze_starting_tires、compare_strategies |
| レース分析 | get_race_results、get_sprint_results、get_session_summary、get_fastest_lap_data、detect_overtakes、compare_grid_to_finish、get_qualifying_progression |
| ピットストップ | get_pit_stop_detail、get_fastest_pit_stops |
| ドライバーとチーム | get_driver_info、get_driver_standings、get_constructor_standings、team_head_to_head、get_team_laps、analyze_long_run_pace |
| トラックと安全性 | get_circuit_info、get_track_status、get_track_record、get_race_control_messages、get_penalties、get_dnf_list |
| 速度と順位 | get_speed_trap_comparison、get_position_changes、get_gap_to_leader |
| 履歴 | get_race_winners_history |
| ライブ(認証が必要) | get_live_telemetry、get_live_gps_positions — ライブの車両テレメトリーとGPS。F1 TVトークンが必要です |
| セッション | get_schedule、get_session_info、get_weather_data |
セットアップ
macOS
Claude Code:
claude mcp add pitwall -- python3 /absolute/path/to/pitwall.py
Claude Desktop — ~/Library/Application Support/Claude/claude_desktop_config.json に追加します:
{
"mcpServers": {
"pitwall": {
"command": "python3",
"args": ["/absolute/path/to/pitwall.py"]
}
}
}
Windows
1. Python のパスを確認します:
where python
C:\Users\YourName\AppData\Local\Programs\Python\Python313\python.exe や C:\Python313\python.exe のようなパスが返されます。
2. Pitwall をクローンした場所を確認します:
例:C:\Users\YourName\Projects\pitwall\pitwall.py
Claude Code(PowerShell):
claude mcp add pitwall -- python C:\Users\YourName\Projects\pitwall\pitwall.py
Claude Desktop — %APPDATA%\Claude\claude_desktop_config.json に追加します:
このフォルダーを開くには、
Win + Rを押し、%APPDATA%\Claudeと入力して Enter キーを押します。Claudeフォルダーまたはclaude_desktop_config.jsonが存在しない場合は、作成してください。
{
"mcpServers": {
"pitwall": {
"command": "python",
"args": ["C:\\Users\\YourName\\Projects\\pitwall\\pitwall.py"]
}
}
}
注: JSON のパスには二重のバックスラッシュ(
\\)またはスラッシュ(/)を使用します。どちらでも動作します。Windows ではコマンドはpython3ではなくpythonです。
Linux
Claude Code:
claude mcp add pitwall -- python3 /absolute/path/to/pitwall.py
Claude Desktop — ~/.config/Claude/claude_desktop_config.json に追加します:
{
"mcpServers": {
"pitwall": {
"command": "python3",
"args": ["/absolute/path/to/pitwall.py"]
}
}
}
セットアップ後、Claude Code または Claude Desktop を再起動してください。MCP 互換のクライアントであれば、どれでも利用できます。
オプション:初心者向けスキル(Claude Desktop)
SKILL.md を Claude Desktop のスキルとしてアップロードします(Settings → Skills → Upload)。Claude が DRS、アンダーカット、コンパウンド、セーフティカーなど、F1 の専門用語をその場で解説します。
データソース
主要なデータはすべて無料で、API キーも不要です。
| ソース | 対応範囲 | 提供データ |
|---|---|---|
| F1 Static Live Timing | 2018年〜現在 | テレメトリー、タイミング、戦略、ピットストップ、天候、レースコントロール |
| Jolpica-F1 | 1950年〜現在 | 過去の結果と選手権 |
| FastF1(オプション) | 2018年〜現在 | 高度なテレメトリー分析とビジュアルプロット |
| F1 SignalR Core(オプション) | ライブのみ | セッション開催中のリアルタイムレースデータ |
仕組み
Pitwall は F1 が公開している静的なタイミングアーカイブからデータを読み込みます。これは公式 F1 アプリを支えるデータと同じものです。各セッション終了後(約30分)に、F1 はセッションごとに33種類のデータフィードを公開します。これには、車両の完全なテレメトリー(車両ごとに約4Hzの速度、RPM、スロットル、ブレーキ、ギア、DRS)、GPS 位置、タイヤデータ、ピットストップ、レースコントロールのメッセージが含まれます。
テレメトリーツール(get_telemetry)は、タイミングストリームと車両データストリームを関連付け、特定のドライバーの特定のラップのテレメトリーを抽出します。これを実現する F1 MCP サーバーはほかにありません。
アーキテクチャ
Claude ──MCP──> Pitwall ──HTTP──> livetiming.formula1.com/static/ (free)
──HTTP──> api.jolpi.ca/ergast/f1/ (free)
──lib──> FastF1 (optional, local)
──WS───> SignalR Core (optional, live races)
サーバーの実行
python3 pitwall.py # MCP stdio (Claude Code / Claude Desktop)
python3 pitwall.py --http # MCP HTTP (remote / self-hosted)
python3 pitwall.py --http --port 3000
ライブレースデータ
Pitwallには、F1セッション開催中のリアルタイムデータを取得するための、生のSignalR Core WebSocketクライアントが含まれています。ほとんどのデータは無料です。車両テレメトリーとGPSの取得には、F1 TV ProまたはPremiumのサブスクリプションが必要です。
注:
get_live_*MCPツールは、このクライアントのSignalRライブフィードを直接読み取ります。16個のタイミングツール(順位、ギャップ、ラップ/セクタータイム、タイヤ、天候、レースコントロール、スピードトラップ、ミニセクターなど)は、liteインストールで認証なしで動作します。ライブの車両テレメトリーとGPS(get_live_telemetry、get_live_gps_positions)にはF1 TVトークンが必要で、fullインストールに含まれます。セッション終了後も、テレメトリー、タイミング、戦略などのセッション後データは、メインツールから引き続き利用できます。
無料のデータとF1 TVが必要なデータ
| データ | 無料 | F1 TV |
|---|---|---|
| レース順位、ギャップ、ラップタイム | はい | はい |
| レースコントロール、旗、ペナルティ | はい | はい |
| 天候、トラック状況 | はい | はい |
| タイヤコンパウンド、スティント情報 | はい | はい |
| チームラジオのURL | はい | はい |
| 車両テレメトリー(速度、RPM、スロットル、ブレーキ) | いいえ | はい |
| GPS位置(X/Y/Z座標) | いいえ | はい |
テレメトリーやGPSを含むすべてのデータは、セッション終了から約30分後に、静的アーカイブで無料になります。
認証の設定
python3 auth_setup.py
F1 TVにログインするため、ブラウザーが開きます。トークンはローカルに保存されます。
<project_dir>/.f1token~/Library/Application Support/fastf1/f1auth.json(macOS)
トークンは約4日ごとに期限切れになります。更新するには、再度実行してください。トークンが外部にアップロードされることはありません。
ライブクライアントの使用方法
import asyncio
from signalr_client import F1LiveClient
async def main():
# Free mode — timing, weather, race control (no auth needed)
client = F1LiveClient(no_auth=True)
@client.on("TimingData")
def on_timing(data, timestamp):
for num, info in data.get("Lines", {}).items():
print(f"P{info.get('Position','?')} #{num} Gap: {info.get('GapToLeader','')}")
@client.on("RaceControlMessages")
def on_rc(data, timestamp):
for msg in data.get("Messages", {}).values():
print(f"[{msg.get('Flag', '')}] {msg.get('Message', '')}")
await client.connect()
asyncio.run(main())
完全なテレメトリー(速度、RPM、スロットル、ブレーキ、GPS)を取得するには:
from auth_setup import load_token
client = F1LiveClient(no_auth=False, auth_token=load_token())
@client.on("CarData.z")
def on_telemetry(data, timestamp):
# Speed, RPM, throttle, brake, gear, DRS at ~4Hz per car
...
@client.on("Position.z")
def on_position(data, timestamp):
# GPS X/Y/Z coordinates at ~4Hz per car
...
リファレンス
レース名
レース名はあいまい一致で照合されます。以下の名前はすべて使用できます。
"china", "chinese", "shanghai" → Chinese Grand Prix
"australia", "melbourne", "aus" → Australian Grand Prix
"monaco", "monte carlo" → Monaco Grand Prix
"silverstone", "great britain", "british" → British Grand Prix
ドライバーコード
VER = Verstappen HAM = Hamilton NOR = Norris LEC = Leclerc
ANT = Antonelli RUS = Russell PIA = Piastri BEA = Bearman
GAS = Gasly LAW = Lawson HAD = Hadjar SAI = Sainz
ALO = Alonso STR = Stroll OCO = Ocon BOT = Bottas
ALB = Albon HUL = Hulkenberg COL = Colapinto LIN = Lindblad
プロジェクトファイル
| ファイル | 用途 |
|---|---|
pitwall.py | MCP サーバー — 79個のツール。FastF1がない場合は30個に自動的に縮退します |
signalr_client.py | ライブレースデータ用の生のSignalR Core WebSocketクライアント |
decompressor.py | CarData.z / Position.zのZlib解凍 |
merger.py | F1の差分形式におけるキーフレームと差分の状態管理 |
topics.py | 認証/圧縮のメタデータを含む、すべての20個のSignalRトピック |
auth_setup.py | F1 TVトークンの設定 — ブラウザーを使ったOAuthフロー |
コントリビューション
バグを見つけましたか?ツールを追加したいですか?コントリビューションを歓迎します。
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
- テストスイートを実行します:
python3 tests/pitwall_tool_validation.py - プルリクエストを作成します
クレジット
- FastF1 — @theOehrlyによる、F1向けPythonライブラリの最高峰
- Jolpica-F1 — Ergast APIの後継
- drivenrajat/f1 — FastF1のツールパターンの着想元
開発者
Darsh Joshi — AIエンジニア
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。