fastf1-mcp-server
fastf1-mcp
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 syncMit pip
pip install fastf1-mcp-serverServer ausführen
# via uv (development)
uv run fastf1-mcp-server
# or directly
python -m fastf1_mcpMCP 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 |
|
| Festplatten-Cache für FastF1-Sitzungsdateien |
|
| Maximale Anzahl der im Arbeitsspeicher gehaltenen Sitzungen (LRU) |
|
| Standard-Telemetrie-Abtastpunkte |
|
| Hartes Limit für Telemetrie-Abtastpunkte |
|
| Python-Logging-Level |
Tools
Schnelle Suche (Ergast API — 1950 bis heute)
Tool | Beschreibung |
| Ruft den F1-Rennkalender für eine Saison ab. |
| Ruft den Fahrer-Meisterschaftsstand ab. |
| Ruft den Konstrukteurs-Meisterschaftsstand ab. |
| Ruft Fahrerinformationen ab. |
| Ruft historische Rennergebnisse ab (vor 2018 oder wenn Sitzungsdaten nicht verfügbar sind). |
| Ruft Streckeninformationen ab. |
Sitzungsdaten (FastF1 Live Timing — 2018 bis heute)
Tool | Beschreibung |
| Ruft die Sitzungsklassifizierung/-ergebnisse ab. |
| Ruft alle Rundenzeiten eines Fahrers in einer Sitzung ab. |
| Ruft die schnellsten Runden in einer Sitzung ab, eine pro Fahrer. |
| Berechnet die durchschnittliche Rennpace für alle Fahrer. |
| Analysiert die Reifenstints für ein Rennen. |
| Ruft alle Boxenstopps eines Rennens ab. |
| Ruft Qualifying-Ergebnisse unterteilt in Q1/Q2/Q3 ab. |
Telemetrie (FastF1 Live Timing — 2018 bis heute)
Tool | Beschreibung |
| Ruft Telemetriedaten für eine bestimmte Runde ab. |
| Vergleicht Telemetriedaten zwischen zwei Fahrern in derselben Sitzung. |
| Ruft Speed-Trap- und Höchstgeschwindigkeitsdaten für alle Fahrer in einer Sitzung ab. |
| Ruft die besten Sektorzeiten und die theoretisch beste Runde für jeden Fahrer ab. |
Dienstprogramme
Tool | Beschreibung |
| Listet alle Veranstaltungen einer Saison auf. |
| Listet alle Fahrer einer Saison auf, optional gefiltert nach einer bestimmten Veranstaltung. |
| Überprüft den Status des In-Memory-Sitzungscaches des Servers. |
| Löscht zwischengespeicherte Sitzungen aus dem Arbeitsspeicher. |
Ressourcen
URI | Beschreibung |
| Vollständiger Rennkalender für eine Saison |
| Alle Fahrer, die in einer Saison angetreten sind |
| Alle Konstrukteure in einer Saison |
| Alle F1-Strecken (historisch) |
Prompts
Prompt | Argumente | Was es tut |
|
| Ruft Ergebnisse + schnellste Runden + Boxenstopps + Stints ab und erzählt das Rennen nach |
|
| Q-Aufschlüsselung + Sektorzeiten + Analyse der Top-Runden |
|
| Saison-Vergleich: Tabellenstände, Rennen, Qualifying |
|
| Stints + Boxenstopp-Timing + Rennpace — erklärt, wer den Strategiekampf gewonnen hat |
|
| 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 |
2018 – heute | Rundenzeiten, Telemetrie, Qualifying, Boxenstopps, Reifendaten |
Hinweis: FastF1-Sitzungsdaten sind erst ab 2018 verfügbar. Verwenden Sie
get_race_results_historicalfü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