Skip to main content

F1 Analytics MCP Server

License: MIT Python 3.12+ Tests PyPI version GitHub stars GitHub issues GitHub Discussions

An MCP (Model Context Protocol) server providing 118+ Formula 1 analytics tools powered by FastF1 and the Ergast API. Connect it to Claude Desktop, Claude Code, or any MCP client to analyze races, compare drivers, explore telemetry, and simulate strategies using natural language.

Features

  • Session & Driver Info — race results, standings, circuit details, driver metadata
  • Lap & Sector Analysis — lap times, sector deltas, consistency scores, clean lap filtering
  • Telemetry — speed/throttle/brake/gear/RPM traces, corner analysis, braking points
  • Strategy Intelligence — tyre degradation, pit windows, undercut/overcut analysis, strategy simulation
  • Race Position — overtakes, battles, gap evolution, position changes, lead changes
  • Predictive AI — race winner prediction, overtake probability, tyre cliff prediction, safety car probability
  • Visualizations — speed maps, race progression charts, tyre degradation plots, track dominance maps

Quick Start

pip install (recommended)

pip install f1-mcp

Install from source:

pip install git+https://github.com/Luffy610/f1-mcp.git

Docker

docker compose up -d

The MCP server will be available at http://localhost:8000/sse.

MCP Client Configuration

Claude Desktop / Claude Code (stdio — recommended)

{
  "mcpServers": {
    "f1": {
      "command": "f1-mcp"
    }
  }
}

SSE mode (remote / Docker)

{
  "mcpServers": {
    "f1": {
      "type": "sse",
      "url": "http://localhost:8000/sse"
    }
  }
}

To start the SSE server manually: python server.py

Tool Categories

Category Tools Examples
Session 8 Race info, weather, circuit details, flag events
Driver 8 Standings, driver info, team lookup, points
Lap 10 Lap times, distributions, clean laps, deleted laps
Sector 8 Sector times, deltas, consistency, improvement trends
Telemetry 12 Speed/brake/throttle/gear traces, corner analysis
Strategy 10 Tyre strategy, stint lengths, compound usage, degradation
Pit Stops 6 Pit times, pit lane loss, pit stop summaries
Race Position 8 Overtakes, battles, gap evolution, lead changes
Strategy Intelligence 10 Undercut/overcut, optimal pit window, strategy simulation
Telemetry Intelligence 10 Braking analysis, corner speeds, dirty air, energy deployment
Advanced Analytics 8 Driver style clustering, aggression/risk indices, consistency
Predictive AI 14 Race winner, overtake probability, tyre cliff, safety car
Visualization 6 Speed maps, race progression, tyre degradation plots

Example Prompts

Analyze why Verstappen won the 2023 Bahrain GP. Break down his tyre strategy,
pit stops, race pace trend, and any overtakes he made.
Compare Verstappen and Leclerc through Turn 10 at the 2023 Bahrain GP.
Who brakes later, carries more apex speed, and gets on the throttle earlier?
Simulate how the 2023 Bahrain GP would have played out if Verstappen used
a two-stop strategy instead of his actual strategy.

See example.md for more detailed example prompts with the specific tools they trigger.

Contributing

We welcome contributions! The master branch is protected — please fork the repo, create a feature branch, and submit a pull request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/my-new-tool)
  3. Make your changes and ensure tests pass (python -m pytest tests/ -v)
  4. Submit a pull request

See CONTRIBUTING.md for detailed guidelines on project structure, adding tools, and code style.

Reporting Issues & Requesting Features

Development

# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Run all tests
python -m pytest tests/ -v

# Run specific test group
python -m pytest tests/ -v -k "test_lap"

# Start SSE server for development
python server.py

Architecture

f1_mcp/                → Python package
  server.py            → Entry point, registers all tool modules
  config.py            → FastF1 cache configuration
  connectors/          → Data sources (FastF1Loader, ErgastClient)
  core/                → Caching layer + serialization utilities
  models/              → Pydantic schemas
  services/            → Business logic (14 service classes)
  tools/               → MCP tool registrations (14 modules, 1:1 with services)
tests/                 → End-to-end test suite (118 tests)

Environment Variables

Variable Default Description
F1_CACHE_DIR ./cache Directory for FastF1 data cache

License

MIT

Metadata

Release files for mcp-f1 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-f1 0.1.2
File Size Uploaded
mcp_f1-0.1.2.tar.gz 36.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-f1 0.1.2
File Interpreter ABI Platform
mcp_f1-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 80.9 kB

Release files / mcp_f1-0.1.2.tar.gz

Download URL mcp_f1-0.1.2.tar.gz
Size 36.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e2d7ded123dfb3e6865f15b1f1b98af9d0164953e8ce62e8df3032e5df4c52b2
BLAKE2b-256 checksum
How to use checksums
2b3c068401f62c5bb985b6d0ee194ec9282f00d9f7dd5359c4837566d6d1a39b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.

Transparency log

Release files / mcp_f1-0.1.2-py3-none-any.whl

Download URL mcp_f1-0.1.2-py3-none-any.whl
Size 44.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d7c8e45090ae4f52627e0010ca0aca51cf6112d061043e24d8d3c935d0fa700
BLAKE2b-256 checksum
How to use checksums
8cff85be8aa8c1000ce6f7c42ff7587d49bcbd176b61f7097f2314bd46e08485
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 14, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page