Open Formula 1 MCP Server
MCP Server to retrieve and analyze Formula 1 (F1) races, cars, drivers, lap, pit stops and more.
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:
1. Install dependencies:
bashpip install mcp httpx
2. Add/update Claude desktop config (claude_desktop_config.json):
{
"mcpServers": {
"Open-F1": {
"command": "python",
"args": ["/path/to/OpenF1MCPServer.py"]
}
}
}
3. Restart Claude desktop and verify the installation
Go to Claude Desktop -> File -> Settings -> Developer
On the right side of the screen, look under Local MCP Servers and verify
- "Open-F1" shows up
- The state is "running" (highlighted with blue background)
Usage examples
The following example prompts can provide ideas on how to utilize this MCP Server
-
Sessions (Race) related usage examples
-
"Show me all F1 sessions from 2024"
-
"Get the race session details for Monaco 2023"
-
-
Driver related usage examples
-
"Who drove in session 9158?" (using a session_key)
-
"Show me all Ferrari drivers from the 2024 Monza race"
-
-
Lap information related usage examples
-
"Get lap 10 data for all drivers in the Monaco 2024 race"
-
"What was Max Verstappen's fastest lap in the last race?"
-
"Compare sector times for lap 1 between drivers 1 and 44 in session 9158"
-
-
Pit stop related usage examples
-
"Show me all pit stops from the 2025 Singapore Grand Prix"
-
"Get pit stops for driver 1 in session 9158"
-
"Find all pit stops under 25 seconds in the last race"
-
"Which driver had the fastest pit stop in session Monaco 2025 race?"
-
"Compare pit stop times between Red Bull and Ferrari drivers"
-
"Show me all pit stops that took longer than 30 seconds in Singapore 2025"
-
-
Overtakes related usage examples
-
"Show me all overtakes from the Monaco 2024 race"
-
"How many times did driver 1 overtake someone in session 9158?"
-
"Who overtook driver 44 in the last race?"
-
"Show me all overtakes involving driver 16"
-
"Which lap had the most overtakes in session 9158?"
-
"Show me all battles between drivers 1 and 16" (can use both parameters)
-
The server handles the API calls to OpenF1 and returns formatted data that Claude can interpret and present to you
Related Servers
MCP Oracle Server
A server that provides tools to interact with an Oracle database.
Tushare MCP
An intelligent stock data assistant providing financial data using the Tushare API.
Polygon MCP Server
Provides on-chain tools to interact with the Polygon PoS blockchain.
Tableau MCP Server
Connects Claude Desktop to Tableau Server, enabling natural language interactions with your Tableau data and administrative capabilities.
MCP SQLite Server
A Node.js MCP server for interacting with local SQLite databases, runnable via npx.
Snowflake MCP Server by CData
A read-only MCP server for querying live Snowflake data, powered by CData.
DB Query
Query and export data from various databases including ElasticSearch, MySQL, PostgreSQL, Oracle, and SQLite.
GraphDB
Provides read-only access to an Ontotext GraphDB repository.
Supermarket Database
A dockerized PostgreSQL database project for a supermarket data schema, with MCP integration for Claude Desktop.
Biomart MCP
Interface with Biomart, a biological data query tool, using the pybiomart Python package.