F1 MCP Server
A real-time Formula 1 analytics server that lets you ask natural language questions about races, lap times, tyre strategies, pit stops, and more using live data from the OpenF1 API.
README
๐๏ธ F1 MCP Server
A real-time Formula 1 analytics server built with the Model Context Protocol (MCP). Ask Claude natural language questions about F1 races, lap times, tyre strategies, pit stops, and more โ powered by live data from the OpenF1 API.
"What tyre strategy did the top 3 drivers use in the 2026 Monaco Race?" "Who set the fastest lap at the 2026 Australian GP?" "Was there a safety car at the 2024 British GP?"
๐๏ธ Architecture

โ๏ธ How It Works
Claude Desktop acts as the MCP client. On startup, it boots the F1 MCP server as a local subprocess and communicates via stdio (standard input/output). When you ask a natural language question, Claude reads the tool definitions and docstrings, decides which tools to call (and in what order), fires the OpenF1 API requests, and synthesizes the response โ all automatically.
No API key required. No authentication. Just live F1 data.
๐ ๏ธ Tools
| Tool | Description |
|---|---|
get_sessions |
Find all sessions for a year/country (Race, Qualifying, Practice, Sprint) |
get_drivers |
List all drivers in a session with number, name, and team |
get_driver_laps |
All lap times and sector times for a specific driver |
get_fastest_lap |
Fastest lap across all drivers in a session |
get_pit_stops |
Pit stop laps and durations for a session |
get_tyre_stints |
Full tyre strategy โ compound, stint number, lap range |
get_race_positions |
Final finishing positions for all drivers |
get_weather |
Track temp, air temp, humidity, wind, and rainfall |
get_race_control |
Safety cars, flags, penalties, and incidents |
๐ฌ Example Queries
What sessions are available for the 2026 season?
Who set the fastest lap in the 2026 Australian GP?
What tyre strategy did the top 3 use in the 2026 Monaco Race?
Did it rain during the 2024 British GP qualifying?
Were there any safety cars in the 2024 Monaco Race?
What were Hamilton's lap times in the 2026 Monaco Race?
How long were Verstappen's pit stops in the 2024 Abu Dhabi GP?
๐ธ Screenshots
Sessions Query

Fastest Lap โ Auto Tool Chaining

Tyre Strategy โ Multi-Tool Chain

๐ Setup
Prerequisites
- Python 3.10+
- uv package manager
- Claude Desktop
Installation
# Clone the repo
git clone https://github.com/kevinjohnson/F1-MCP-Server.git
cd F1-MCP-Server
# Install dependencies
uv add "mcp[cli]" requests
# Register with Claude Desktop
uv run mcp install main.py
Then fully quit and reopen Claude Desktop. The F1 Assistant will appear under Connectors.
Common Issue
If the server shows as "Server not found", make sure main.py ends with:
if __name__ == "__main__":
mcp.run() # No transport argument โ stdio only
๐ก Data Source
All data comes from OpenF1 โ a free, open-source API providing real-time and historical F1 telemetry from 2023 onwards.
- No API key required for historical data
- Rate limit: 3 req/s, 30 req/min (free tier)
- Data available from 2023 season onwards
๐ง Why MCP?
Claude can't access live data or external APIs on its own. MCP (Model Context Protocol) bridges that gap โ it lets you define tools as Python functions that Claude can call autonomously. The key insight: Claude reads your docstrings to decide when and how to use each tool, enabling it to chain multiple API calls together without any explicit instructions.
In this project, a single question like "What tyre strategy did the top 3 use?" triggers Claude to automatically: find the session key โ get race positions โ resolve driver numbers โ fetch tyre stints for each driver โ all from one natural language prompt.
๐ Project Structure
F1-MCP-Server/
โโโ main.py # MCP server with all 9 tools
โโโ pyproject.toml # uv project config
โโโ images/ # Screenshots and architecture diagram
โโโ README.md
๐ญ Potential Extensions
- Add
get_car_telemetryโ throttle, brake, DRS, gear data per lap - Add
get_overtakesโ position change events during a race - Add
get_championship_standingsโ driver and constructor standings - Cache session keys locally to reduce API calls
- Add a
compare_driverstool for head-to-head lap time analysis
Built by Kevin Johnson ยท Powered by OpenF1 ยท Built with MCP
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.