What is the Formula1 MCP Server?
The Formula1 MCP Server is a TypeScript-based server that provides real-time and historical Formula 1 racing data through the Model Context Protocol, allowing users to access a variety of F1-related information.
How to use the Formula1 MCP Server?
To use the server, clone the repository from GitHub, install the necessary dependencies, and configure your MCP client to connect to the server.
Key features of the Formula1 MCP Server?
- Access to real-time telemetry and session data.
- Historical race information and results.
- Driver and constructor standings.
- Weather data and circuit information.
Use cases of the Formula1 MCP Server?
- Retrieve live timing data during races.
- Access historical race results for analysis.
- Get current driver standings and statistics.
- Monitor weather conditions at race circuits.
FAQ from the Formula1 MCP Server?
- Can I get live data for ongoing races?
Yes! The server provides real-time timing data for current sessions.
- Is there a way to access historical race data?
Yes! You can retrieve historical race results and session information.
- How do I set up the server?
Follow the setup instructions in the README file after cloning the repository.
The Formula1 MCP Server ! 🏎️💨
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!)
Resources
- Access F1 session data via standardized URIs
- Real-time telemetry data
- Historical race information
- Driver and constructor standings
- Weather data
- Circuit information
Getting Started
Quick Install via Smithery
To install the Formula 1 MCP Server automatically via Smithery:
npx -y @smithery/cli install @Panth1823/formula1-mcp --client claude
Manual Installation
- Clone the repo:
git clone https://github.com/Panth1823/formula1-mcp
cd formula1-mcp
- Install:
npm install
- Build:
npm run build
Setup
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
Available Tools
getLiveTimingData
1. Get real-time timing data for the current session.
Parameters:
- None required
getCurrentSessionStatus
2. Get status information about the current session.
Parameters:
- None required
getDriverInfo
3. Get information about a specific driver.
Parameters:
driverId
(string): Driver identifier (e.g., "max_verstappen", "lewis_hamilton")
getHistoricalSessions
4. 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")
getHistoricRaceResults
5. 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)
getDriverStandings
6. Get driver championship standings.
Parameters:
year
(number): Season year (e.g., 2023)
getConstructorStandings
7. Get constructor championship standings.
Parameters:
year
(number): Season year (e.g., 2023)
getLapTimes
8. 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")
getWeatherData
9. Get weather data for a session.
Parameters:
sessionKey
(string, optional): Session identifier
getCarData
10. 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
getPitStopData
11. Get pit stop information.
Parameters:
driverNumber
(string, optional): Driver's car numbersessionKey
(string, optional): Session identifier
getTeamRadio
12. Get team radio communications.
Parameters:
driverNumber
(string, optional): Driver's car numbersessionKey
(string, optional): Session identifier
getRaceControlMessages
13. Get race control messages.
Parameters:
sessionKey
(string, optional): Session identifier
getRaceCalendar
14. Get the F1 race calendar.
Parameters:
year
(number): Season year (e.g., 2023)
getCircuitInfo
15. Get detailed circuit information.
Parameters:
circuitId
(string): Circuit identifier (e.g., "monza", "spa")
getSeasonList
16. Get a list of available F1 seasons.
Parameters:
limit
(number, optional): Number of seasons to return
getQualifyingResults
17. Get qualifying session results.
Parameters:
year
(number): Season year (e.g., 2023)round
(number): Race number (e.g., 1, 2, 3)
getDriverInformation
18. Get detailed driver information from Ergast API.
Parameters:
driverId
(string): Driver identifier (e.g., "max_verstappen", "lewis_hamilton")
getConstructorInformation
19. Get detailed constructor information from Ergast API.
Parameters:
constructorId
(string): Constructor identifier (e.g., "red_bull", "mercedes")
clearCache
20. Clear the local cache for F1 data.
Parameters:
- None required
Data Sources
- Live data: F1 Live Timing API (OpenF1)
- Historical: Ergast API (FastF1)
Examples
- "Show 2023 Monaco GP results"
- "Get current standings"
- "Weather at Silverstone"
- "Hamilton's lap times"
- "Show 2024 calendar"
- "Verstappen's info"
- "Japanese GP qualifying"
Debug
Use MCP Inspector for debugging.
Help
- Bugs? Report here
- Questions? Open an issue
- Want to help? Submit a PR
License
This project is licensed under the MIT License - see the LICENSE file for details.
