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
1. getLiveTimingData
Get real-time timing data for the current session.
Parameters:
- None required
2. getCurrentSessionStatus
Get status information about the current session.
Parameters:
- None required
3. getDriverInfo
Get information about a specific driver.
Parameters:
driverId(string): Driver identifier (e.g., "max_verstappen", "lewis_hamilton")
4. getHistoricalSessions
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")
5. getHistoricRaceResults
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)
6. getDriverStandings
Get driver championship standings.
Parameters:
year(number): Season year (e.g., 2023)
7. getConstructorStandings
Get constructor championship standings.
Parameters:
year(number): Season year (e.g., 2023)
8. getLapTimes
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")
9. getWeatherData
Get weather data for a session.
Parameters:
sessionKey(string, optional): Session identifier
10. getCarData
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
11. getPitStopData
Get pit stop information.
Parameters:
driverNumber(string, optional): Driver's car numbersessionKey(string, optional): Session identifier
12. getTeamRadio
Get team radio communications.
Parameters:
driverNumber(string, optional): Driver's car numbersessionKey(string, optional): Session identifier
13. getRaceControlMessages
Get race control messages.
Parameters:
sessionKey(string, optional): Session identifier
14. getRaceCalendar
Get the F1 race calendar.
Parameters:
year(number): Season year (e.g., 2023)
15. getCircuitInfo
Get detailed circuit information.
Parameters:
circuitId(string): Circuit identifier (e.g., "monza", "spa")
16. getSeasonList
Get a list of available F1 seasons.
Parameters:
limit(number, optional): Number of seasons to return
17. getQualifyingResults
Get qualifying session results.
Parameters:
year(number): Season year (e.g., 2023)round(number): Race number (e.g., 1, 2, 3)
18. getDriverInformation
Get detailed driver information from Ergast API.
Parameters:
driverId(string): Driver identifier (e.g., "max_verstappen", "lewis_hamilton")
19. getConstructorInformation
Get detailed constructor information from Ergast API.
Parameters:
constructorId(string): Constructor identifier (e.g., "red_bull", "mercedes")
20. clearCache
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.