F1 MCP Server

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.

Category
Visit Server

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

Architecture Diagram


โš™๏ธ 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

Sessions

Fastest Lap โ€” Auto Tool Chaining

Fastest Lap

Tyre Strategy โ€” Multi-Tool Chain

Tyre Strategy


๐Ÿš€ Setup

Prerequisites

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_drivers tool for head-to-head lap time analysis

Built by Kevin Johnson ยท Powered by OpenF1 ยท Built with MCP

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured