Formula One MCP Server

by rakeshgangwar
Verified

Integrations

  • Serves as the runtime environment for the MCP server, executing the server code that interfaces with the FastF1 Python library.

  • Utilized as a dependency for processing Formula One data, particularly for mathematical operations related to telemetry data analysis.

  • Used for data manipulation and analysis of Formula One statistics, handling structured data from race results, lap times, and other performance metrics.

Formula One MCP Server

This Model Context Protocol (MCP) server provides access to Formula One data and statistics using the FastF1 Python library. It allows you to access race calendars, event information, session results, driver data, lap times, telemetry, and championship standings through a clean MCP interface.

Features

  • Get Formula One race calendars for specific seasons
  • Retrieve detailed information about Grand Prix events
  • Get session results (Race, Qualifying, Practice)
  • Access driver information and statistics
  • Analyze driver performance with lap times and telemetry data
  • Compare multiple drivers' performance
  • Get championship standings for drivers and constructors

Prerequisites

  • Node.js 18 or later
  • Python 3.8 or later
  • FastF1 library

Installation

1. Install Python dependencies

pip install fastf1 pandas numpy

2. Install Node.js dependencies

cd f1-mcp-server npm install

3. Build the TypeScript code

npm run build

4. Add to MCP settings

Add the following to your Cline MCP settings file (~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json):

{ "mcpServers": { "formula1": { "command": "node", "args": ["/Users/rakeshgangwar/Documents/Cline/MCP/f1-mcp-server/build/index.js"], "disabled": false, "autoApprove": [] } } }

Available Tools

1. get_event_schedule

Get Formula One race calendar for a specific season.

Parameters:

  • year (number): Season year (e.g., 2023)

2. get_event_info

Get detailed information about a specific Formula One Grand Prix.

Parameters:

  • year (number): Season year (e.g., 2023)
  • identifier (string): Event name or round number (e.g., "Monaco" or "7")

3. get_session_results

Get results for a specific Formula One session.

Parameters:

  • year (number): Season year (e.g., 2023)
  • event_identifier (string): Event name or round number (e.g., "Monaco" or "7")
  • session_name (string): Session name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")

4. get_driver_info

Get information about a specific Formula One driver.

Parameters:

  • year (number): Season year (e.g., 2023)
  • event_identifier (string): Event name or round number (e.g., "Monaco" or "7")
  • session_name (string): Session name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
  • driver_identifier (string): Driver identifier (number, code, or name; e.g., "44", "HAM", "Hamilton")

5. analyze_driver_performance

Analyze a driver's performance in a Formula One session.

Parameters:

  • year (number): Season year (e.g., 2023)
  • event_identifier (string): Event name or round number (e.g., "Monaco" or "7")
  • session_name (string): Session name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
  • driver_identifier (string): Driver identifier (number, code, or name; e.g., "44", "HAM", "Hamilton")

6. compare_drivers

Compare performance between multiple Formula One drivers.

Parameters:

  • year (number): Season year (e.g., 2023)
  • event_identifier (string): Event name or round number (e.g., "Monaco" or "7")
  • session_name (string): Session name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
  • drivers (string): Comma-separated list of driver codes (e.g., "HAM,VER,LEC")

7. get_telemetry

Get telemetry data for a specific Formula One lap.

Parameters:

  • year (number): Season year (e.g., 2023)
  • event_identifier (string): Event name or round number (e.g., "Monaco" or "7")
  • session_name (string): Session name (e.g., "Race", "Qualifying", "Sprint", "FP1", "FP2", "FP3")
  • driver_identifier (string): Driver identifier (number, code, or name; e.g., "44", "HAM", "Hamilton")
  • lap_number (number, optional): Lap number (gets fastest lap if not provided)

8. get_championship_standings

Get Formula One championship standings.

Parameters:

  • year (number): Season year (e.g., 2023)
  • round_num (number, optional): Round number (gets latest standings if not provided)

Example Usage

Once the server is added to your MCP settings and running, you can use these tools with Cline to access Formula One data.

Example queries:

  • "Show me the 2023 Formula One race calendar"
  • "Get the results from the 2022 Monaco Grand Prix"
  • "Compare Hamilton and Verstappen's performance in the 2021 British Grand Prix"
  • "Show me the telemetry data from Leclerc's fastest lap in the 2023 Italian Grand Prix qualifying"
  • "What are the current F1 championship standings?"

Data Source

This server uses the FastF1 Python library, which provides access to official Formula 1 timing data, car telemetry, and session results.

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Provides Formula One data and statistics through a Model Context Protocol interface, allowing users to access race calendars, session results, driver statistics, telemetry data, and championship standings.

  1. Features
    1. Prerequisites
      1. Installation
        1. 1. Install Python dependencies
        2. 2. Install Node.js dependencies
        3. 3. Build the TypeScript code
        4. 4. Add to MCP settings
      2. Available Tools
        1. 1. get_event_schedule
        2. 2. get_event_info
        3. 3. get_session_results
        4. 4. get_driver_info
        5. 5. analyze_driver_performance
        6. 6. compare_drivers
        7. 7. get_telemetry
        8. 8. get_championship_standings
      3. Example Usage
        1. Data Source
          1. License

            Appeared in Searches

            ID: l49tlcm5y8