Skip to main content
Glama
Surya96t

fastf1-mcp-server

fastf1-mcp

CI

Ein MCP-Server, der Formel-1-Daten für KI-Assistenten über die FastF1-Bibliothek bereitstellt. Stellen Sie Claude (oder einem beliebigen MCP-kompatiblen Client) Fragen zu Rennergebnissen, Rundenzeiten, Telemetrie, Tabellenständen und mehr.


Funktionen

  • 21 Tools für Tabellenstände, Rennergebnisse, Rundenzeiten, Telemetrie, Boxenstopps und Qualifying

  • 4 MCP-Ressourcen für Zeitpläne, Fahrer-, Konstrukteurs- und Streckenreferenzdaten

  • 5 geführte Prompts für Rennzusammenfassungen, Qualifying-Analysen, Strategie-Deep-Dives und Wochenend-Vorschauen

  • Async-sicherer LRU-Sitzungscache — wiederholte Abfragen sind nach dem ersten Laden sofort verfügbar

  • Distanzbasierte Telemetrie-Abtastung — große Rohdatensätze auf ≤ 500 Punkte komprimiert

  • Alle Fehler werden als strukturierte Dictionaries zurückgegeben — der Server stürzt bei fehlerhafter Eingabe nie ab


Anforderungen

  • Python 3.12+

  • uv (empfohlen) oder pip


Installation

Mit uv (empfohlen)

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

Mit pip

pip install fastf1-mcp-server

Server ausführen

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

# or directly
python -m fastf1_mcp

MCP Inspector (Entwicklung / Debugging)

# 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 .

Beide öffnen den Inspector unter http://localhost:6274.


Konfiguration für Claude Desktop

Fügen Sie Folgendes zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows) hinzu:

{
  "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"
      }
    }
  }
}

Starten Sie Claude Desktop nach dem Speichern neu. Der Servername fastf1 erscheint im Tool-Panel.


Konfiguration

Alle Einstellungen werden aus Umgebungsvariablen mit dem Präfix FASTF1_MCP_ gelesen.

Variable

Standardwert

Beschreibung

FASTF1_MCP_FASTF1_CACHE_PATH

~/.fastf1_cache

Festplatten-Cache für FastF1-Sitzungsdateien

FASTF1_MCP_MAX_CACHED_SESSIONS

10

Maximale Anzahl der im Arbeitsspeicher gehaltenen Sitzungen (LRU)

FASTF1_MCP_DEFAULT_TELEMETRY_SAMPLES

200

Standard-Telemetrie-Abtastpunkte

FASTF1_MCP_MAX_TELEMETRY_SAMPLES

500

Hartes Limit für Telemetrie-Abtastpunkte

FASTF1_MCP_LOG_LEVEL

INFO

Python-Logging-Level


Tools

Schnelle Suche (Ergast API — 1950 bis heute)

Tool

Beschreibung

get_schedule

Ruft den F1-Rennkalender für eine Saison ab.

get_driver_standings

Ruft den Fahrer-Meisterschaftsstand ab.

get_constructor_standings

Ruft den Konstrukteurs-Meisterschaftsstand ab.

get_driver_info

Ruft Fahrerinformationen ab.

get_race_results_historical

Ruft historische Rennergebnisse ab (vor 2018 oder wenn Sitzungsdaten nicht verfügbar sind).

get_circuit_info

Ruft Streckeninformationen ab.

Sitzungsdaten (FastF1 Live Timing — 2018 bis heute)

Tool

Beschreibung

get_session_results

Ruft die Sitzungsklassifizierung/-ergebnisse ab.

get_lap_times

Ruft alle Rundenzeiten eines Fahrers in einer Sitzung ab.

get_fastest_laps

Ruft die schnellsten Runden in einer Sitzung ab, eine pro Fahrer.

get_race_pace

Berechnet die durchschnittliche Rennpace für alle Fahrer.

get_stint_analysis

Analysiert die Reifenstints für ein Rennen.

get_pit_stops

Ruft alle Boxenstopps eines Rennens ab.

get_qualifying_breakdown

Ruft Qualifying-Ergebnisse unterteilt in Q1/Q2/Q3 ab.

Telemetrie (FastF1 Live Timing — 2018 bis heute)

Tool

Beschreibung

get_lap_telemetry

Ruft Telemetriedaten für eine bestimmte Runde ab.

compare_telemetry

Vergleicht Telemetriedaten zwischen zwei Fahrern in derselben Sitzung.

get_speed_trap_data

Ruft Speed-Trap- und Höchstgeschwindigkeitsdaten für alle Fahrer in einer Sitzung ab.

get_sector_times

Ruft die besten Sektorzeiten und die theoretisch beste Runde für jeden Fahrer ab.

Dienstprogramme

Tool

Beschreibung

list_events

Listet alle Veranstaltungen einer Saison auf.

list_drivers

Listet alle Fahrer einer Saison auf, optional gefiltert nach einer bestimmten Veranstaltung.

get_cache_status

Überprüft den Status des In-Memory-Sitzungscaches des Servers.

clear_cache

Löscht zwischengespeicherte Sitzungen aus dem Arbeitsspeicher.


Ressourcen

URI

Beschreibung

f1://schedule/{year}

Vollständiger Rennkalender für eine Saison

f1://drivers/{year}

Alle Fahrer, die in einer Saison angetreten sind

f1://constructors/{year}

Alle Konstrukteure in einer Saison

f1://circuits

Alle F1-Strecken (historisch)


Prompts

Prompt

Argumente

Was es tut

race_recap

year, event

Ruft Ergebnisse + schnellste Runden + Boxenstopps + Stints ab und erzählt das Rennen nach

qualifying_analysis

year, event

Q-Aufschlüsselung + Sektorzeiten + Analyse der Top-Runden

driver_comparison

year, driver1, driver2

Saison-Vergleich: Tabellenstände, Rennen, Qualifying

strategy_analysis

year, event

Stints + Boxenstopp-Timing + Rennpace — erklärt, wer den Strategiekampf gewonnen hat

weekend_preview

year, event

Streckendetails + aktuelle Historie + Meisterschaftskontext


Beispielabfragen (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)

Entwicklung

# 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/

Datenquellen & Abdeckung

Quelle

Abdeckung

Verwendet für

Ergast API (via FastF1)

1950 – heute

Tabellenstände, Zeitpläne, historische Ergebnisse, Streckeninfos

FastF1 Live Timing

2018 – heute

Rundenzeiten, Telemetrie, Qualifying, Boxenstopps, Reifendaten

Hinweis: FastF1-Sitzungsdaten sind erst ab 2018 verfügbar. Verwenden Sie get_race_results_historical für frühere Saisons.


Lizenz

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