Labsco
AryaAkman logo

Open Formula 1 MCP Server

โ˜… 3

from AryaAkman

MCP Server to retrieve and analyze Formula 1 (F1) races, cars, drivers, lap, pit stops and more.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeNeeds API keys

Open-F1-MCP-Server

This project implements the MCP Server for Open Formula 1

For more detailed information, please check Implementation of Open F1 MCP Server

I am a high school student and would like to know if my project is liked and/or used. If you like or use this MCP Server, please star in GitHub and share with your friends - thank you !!

Arya Akman

What is Open Formula 1

Open Formula 1 is an open-source API that provides real-time and historical Formula 1 data.

The API offers a wealth of information, including lap timings, car telemetry, radio communications, and more. Whether you're looking to create interactive dashboards, dive deep into race analysis, or even develop connected objects that light up every time your favorite driver takes the lead, OpenF1 makes it all possible.


Tools (as of v1.2)

get_sessions:

Retrieve F1 race sessions. Can filter by year, country, circuit, session type, etc. Returns session details including session_key, date, location, and type.

Parameter	        Description
year		        Filter by year (e.g., 2023, 2024).
country_name	    Filter by country name (e.g., 'Monaco', 'Italy').
circuit_short_name	Filter by circuit short name (e.g., 'Monza', 'Monaco').
session_name    	Filter by session name (e.g., 'Race', 'Qualifying', 'Sprint').
session_key	    	Get specific session by its unique session_key.
date_start	    	Filter by start date (ISO format: YYYY-MM-DD). Supports filters like >= and <=.
Other filters		session_type, location, country_code, meeting_key, gmt_offset

get_drivers:

Retrieve driver information. Can get all current drivers or filter by session_key to get drivers who participated in a specific session. Returns driver details including name, number, team, country, and headshot URL.

Parameter	    	Description
session_key	    	Optional. Filter drivers by session_key to get participants from a specific session.
driver_number	   	Optional. Filter by driver number (e.g., 1, 44, 16).
team_name        	Optional. Filter by team name (e.g., 'Red Bull Racing', 'Ferrari').

get_laps:

Retrieve lap data for specific sessions, drivers, and laps. Returns detailed lap information including lap time, sector times, duration, and position.

Parameter	    	Description
session_key	    	Required for meaningful results. Filter by the unique session key.
driver_number	   	Optional. Filter by driver number (e.g., 1, 44, 16).
lap_number	    	Optional. Filter by a specific lap number.

get_pit_stops:

Retrieve pit stop data for specific sessions. Returns detailed pit stop information including duration, lap number, and timing.

Parameter	    	Description
session_key	        Required for meaningful results. Filter by the unique session key.
driver_number		Optional. Filter by driver number (e.g., 1, 44, 16).
pit_duration		Optional. Upper bound for pit duration in seconds (e.g., 30.0 for stops under 30 seconds).

get_overtakes:

Retrieve overtake data showing position changes between drivers. An overtake refers to one driver (the overtaking driver) exchanging positions with another driver (the overtaken driver). Returns detailed information including the drivers involved, the lap number, and the timing of the event.

Parameter	                Description
session_key	    	        Required for meaningful results. Filter by the unique session key.
overtaking_driver_number    Optional. Filter by the driver number of the driver who performed the overtake (e.g., 1, 44).
overtaken_driver_number		Optional. Filter by the driver number of the driver who was overtaken (e.g., 16, 63).

Installation instructions:

2. Add/update Claude desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "Open-F1": {
      "command": "python",
      "args": ["/path/to/OpenF1MCPServer.py"]
    }
  }
}