F1 Data Server

Access Formula 1 race data, telemetry, lap times, standings, and analytics powered by FastF1

OtherPythonv0.1.0

F1 MCP Server

A Model Context Protocol (MCP) server that provides comprehensive Formula 1 data and analytics for Claude Desktop integration.

Features

This server exposes 36+ tools for accessing F1 data:

Race Data

  • Race results and classifications
  • Sprint race results
  • Qualifying progression (Q1, Q2, Q3)
  • Grid vs finish comparisons
  • DNF lists and retirement reasons

Telemetry & Analysis

  • Speed trace comparisons between drivers
  • Gear shift visualizations
  • Brake and throttle analysis
  • RPM and engine data
  • DRS usage patterns

Timing & Laps

  • Fastest lap data with sector times
  • Lap-by-lap timing
  • Deleted laps (track limits)
  • Lap consistency statistics
  • Personal best laps

Strategy

  • Tire compound analysis
  • Stint breakdowns
  • Pit stop data and fastest stops
  • Starting tire choices
  • Strategy comparisons

Standings & History

  • Driver championship standings
  • Constructor standings
  • Historical race winners
  • Track records

Live Data

  • Live session status
  • Real-time positions
  • Live lap times
  • Live telemetry
  • Current weather conditions

Other

  • Team radio links
  • Race control messages
  • Track status (flags, safety car)
  • Weather data
  • Circuit information

Installation

Prerequisites

  • Python 3.10 or higher
  • Claude Desktop

Setup

  1. Clone this repository:
git clone https://github.com/drivenrajat/f1.git
cd f1
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -e .

Configure Claude Desktop

Add this server to your Claude Desktop MCP configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "f1": {
      "command": "python",
      "args": ["/path/to/f1/f1_server.py"]
    }
  }
}

Or if using uv:

{
  "mcpServers": {
    "f1": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/f1", "python", "f1_server.py"]
    }
  }
}

Usage

Once configured, you can ask Claude questions like:

  • "Show me the 2024 F1 calendar"
  • "Get the race results from Monaco 2024"
  • "Compare telemetry between Verstappen and Norris at Silverstone qualifying"
  • "What was Hamilton's tire strategy at Spa?"
  • "Show me the current driver standings"
  • "Get the fastest pit stops from the Italian GP"

Data Sources

  • FastF1: Historical telemetry, lap times, and session data
  • Ergast API: Championship standings and historical results
  • OpenF1 API: Team radio recordings

Caching

The server automatically caches FastF1 data in a cache directory to improve performance on repeated queries.

License

MIT License - see LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx f1-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-drivenrajat-f1": {
      "command": "uvx",
      "args": [
        "f1-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

f1-mcppypi

Compatible MCP Clients

F1 Data Server works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More