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
संबंधित सर्वर
LinkedIn Scraper MCP
Extract profiles, jobs, companies from LinkedIn. Session-based auth — log in once, scrape headlessly. Job search works without login. Free alternative to Proxycurl.
Metabase MCP Server
Interact with Metabase, the open-source business intelligence platform, using Large Language Models.
CData Oracle Eloqua
A read-only MCP server to query live Oracle Eloqua data. Requires a separate CData JDBC Driver for Oracle Eloqua.
PostgreSQL Multi-Schema
Provides read-only access to PostgreSQL databases with multi-schema support, allowing LLMs to inspect schemas and execute queries across different namespaces.
Model Database Protocol
Intent-based, secure database access protocol for AI systems — LLMs send structured intents instead of raw SQL.
SchemaCrawler
Connect to any relational database, and be able to get valid SQL, and ask questions like what does a certain column prefix mean.
Influencers Club Creator Marketing MCP
MCP to access the world's largest influencer discovery and enrichment database
Engram
Persistent memory layer for AI agents with semantic search, consolidation, and cross-session intelligence via MCP.
MCP Knowledge Graph
Provides persistent memory for AI models using a local knowledge graph.
MotherDuck
Query and analyze data with MotherDuck and local DuckDB