A TypeScript-based Formula 1 MCP server, bringing the thrill of real-time and historical F1 racing data straight to your fingertips via the Model Context Protocol. Faster than Verstappen on a hot lap! (Okay, maybe not that fast, but it's trying!)
- Access F1 session data via standardized URIs
- Real-time telemetry data
- Historical race information
- Driver and constructor standings
- Weather data
- Circuit information
To install the Formula 1 MCP Server automatically via Smithery:
npx -y @smithery/cli install @Panth1823/formula1-mcp --client claude
- Clone the repo:
git clone https://github.com/Panth1823/formula1-mcp
cd formula1-mcp
- Install:
npm install
- Build:
npm run build
Add to your MCP client config:
{
"mcpServers": {
"formula1": {
"command": "node",
"args": ["<path-to-your-cloned-repo>/build/index.js"],
"cwd": "<path-to-your-cloned-repo>",
"enabled": true
}
}
}
Config locations:
- Windows:
%APPDATA%\.cursor\mcp.json
- MacOS:
~/.cursor/mcp.json
- Linux:
~/.config/.cursor/mcp.json
Get real-time timing data for the current session.
Parameters:
- None required
Get status information about the current session.
Parameters:
- None required
Get information about a specific driver.
Parameters:
driverId
(string): Driver identifier (e.g., "max_verstappen", "lewis_hamilton")
Find session keys for historical events.
Parameters:
year
(number, optional): Season year (e.g., 2023)circuit_short_name
(string, optional): Circuit name (e.g., "monza", "spa")country_name
(string, optional): Country name (e.g., "Italy", "Belgium")session_name
(string, optional): Session type (e.g., "Race", "Qualifying")
Get race results for a specific historical race.
Parameters:
year
(number): Season year (e.g., 2023)round
(number): Race number (e.g., 1, 2, 3)
Get driver championship standings.
Parameters:
year
(number): Season year (e.g., 2023)
Get constructor championship standings.
Parameters:
year
(number): Season year (e.g., 2023)
Get lap times for a specific driver.
Parameters:
year
(number): Season year (e.g., 2023)round
(number): Race number (e.g., 1, 2, 3)driverId
(string): Driver identifier (e.g., "max_verstappen", "lewis_hamilton")
Get weather data for a session.
Parameters:
sessionKey
(string, optional): Session identifier
Get detailed car telemetry data.
Parameters:
driverNumber
(string): Driver's car number (e.g., "44", "33")sessionKey
(string, optional): Session identifierfilters
(string, optional): Data filters
Get pit stop information.
Parameters:
driverNumber
(string, optional): Driver's car numbersessionKey
(string, optional): Session identifier
Get team radio communications.
Parameters:
driverNumber
(string, optional): Driver's car numbersessionKey
(string, optional): Session identifier
Get race control messages.
Parameters:
sessionKey
(string, optional): Session identifier
Get the F1 race calendar.
Parameters:
year
(number): Season year (e.g., 2023)
Get detailed circuit information.
Parameters:
circuitId
(string): Circuit identifier (e.g., "monza", "spa")
Get a list of available F1 seasons.
Parameters:
limit
(number, optional): Number of seasons to return
Get qualifying session results.
Parameters:
year
(number): Season year (e.g., 2023)round
(number): Race number (e.g., 1, 2, 3)
Get detailed driver information from Ergast API.
Parameters:
driverId
(string): Driver identifier (e.g., "max_verstappen", "lewis_hamilton")
Get detailed constructor information from Ergast API.
Parameters:
constructorId
(string): Constructor identifier (e.g., "red_bull", "mercedes")
Clear the local cache for F1 data.
Parameters:
- None required
- Live data: F1 Live Timing API (OpenF1)
- Historical: Ergast API (FastF1)
- "Show 2023 Monaco GP results"
- "Get current standings"
- "Weather at Silverstone"
- "Hamilton's lap times"
- "Show 2024 calendar"
- "Verstappen's info"
- "Japanese GP qualifying"
Use MCP Inspector for debugging.
- Bugs? Report here
- Questions? Open an issue
- Want to help? Submit a PR
This project is licensed under the MIT License - see the LICENSE file for details.