https://github.com/praneethravuri/pitstop
🏎️ Your pit stop for all things F1 - MCP server delivering championship standings, race analytics, and telemetry data straight to your AI assistant
https://github.com/praneethravuri/pitstop
agentic-ai ai ai-agent claude f1 formula1 mcp mcp-server motorsport python racing telemetry
Last synced: about 1 month ago
JSON representation
🏎️ Your pit stop for all things F1 - MCP server delivering championship standings, race analytics, and telemetry data straight to your AI assistant
- Host: GitHub
- URL: https://github.com/praneethravuri/pitstop
- Owner: praneethravuri
- Created: 2025-10-04T17:07:26.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-10-04T20:27:45.000Z (9 months ago)
- Last Synced: 2025-10-04T20:38:55.088Z (9 months ago)
- Topics: agentic-ai, ai, ai-agent, claude, f1, formula1, mcp, mcp-server, motorsport, python, racing, telemetry
- Language: Python
- Homepage:
- Size: 163 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🏎️ Pitstop: The All-in-One F1 MCP Server
Pitstop is a comprehensive Model Context Protocol (MCP) server for Formula 1 data. It aggregates data from multiple authoritative sources to answer any F1-related question, from historical stats to real-time race telemetry.
## 🌟 Capabilities
Pitstop consolidates specialized functions into **7 powerful tools**:
1. **`get_live_data`**: Real-time access to telemetry, pit stops, team radio, race control messages, and intervals.
2. **`get_session_data`**: Comprehensive session analysis including results, weather, fastest laps, and driver details.
3. **`get_telemetry_data`**: Deep dive into car performance with lap-by-lap telemetry (speed, throttle, brake, gears).
4. **`get_reference_data`**: Static encyclopedia for drivers, teams, circuits, and tire compounds.
5. **`get_standings`**: Current and historical championship standings.
6. **`get_schedule`**: Full calendar awareness including testing and future races.
7. **`get_f1_news`**: Latest headlines from 25+ trusted global sources.
## 🔌 Data Sources
- **OpenF1 API**: Real-time timing & telemetry (2023-Present)
- **FastF1 / Ergast**: Historical data & deep analysis (1950-Present)
- **RSS Feeds**: Aggregated news from official and major media outlets.
## 🚀 Installation & Usage
### Prerequisites
- Python 3.13+
- `uv` (recommended) or `pip`
### 1. Install via Smithery (Recommended)
To install Pitstop for Claude Desktop automatically:
```bash
npx -y @smithery/cli install pitstop --client claude
```
### 2. Manual Installation
Clone the repository and install dependencies:
```bash
git clone https://github.com/praneethravuri/pitstop.git
cd pitstop
uv sync
```
### 3. Running the Server
Run the MCP server directly using `uv`:
```bash
uv run pitstop
```
### 4. Docker Deployment
To run with Docker Compose:
### 5. Client Configuration
To use Pitstop with MCP clients like Antigravity, Claude Desktop, or Claude Code, add the following to your configuration file (e.g., `claude_desktop_config.json` or `mcp.json`).
#### Option A: Docker (Recommended)
```json
{
"mcpServers": {
"pitstop": {
"command": "docker",
"args": ["run", "-i", "--rm", "pitstop"],
"env": {
"PITSTOP_ENV": "production"
}
}
}
}
```
#### Option B: Local (`uv`)
```json
{
"mcpServers": {
"pitstop": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/pitstop",
"pitstop"
],
"env": {
"PITSTOP_ENV": "production"
}
}
}
}
```
> **Note**: Replace `/absolute/path/to/pitstop` with the actual path to your cloned repository.
Or manually using python:
```bash
# Add src to PYTHONPATH if running manually
export PYTHONPATH=$PYTHONPATH:$(pwd)/src
python -m pitstop
```
## 🛠️ Tool Usage Guide
| Tool | Purpose | Example Query |
| :--- | :--- | :--- |
| **`get_live_data`** | Live race monitoring | "Check the gap between VER and HAM", "Any specialized pit stops?" |
| **`get_session_data`** | Post-session analysis | "Get full results for Monaco 2024", "What was the weather during Q3?" |
| **`get_standings`** | Championship tracker | "Who is leading the constructor standings?", "2021 driver points" |
| **`get_schedule`** | Calendar & Events | "When is the next race?", "Monaco GP start times" |
| **`get_reference_data`** | Encyclopedia | "How many corners does Spa have?", "Max Verstappen stats" |
| **`get_f1_news`** | News Aggregator | "Latest Ferrari news", "Updates on Newey" |
| **`get_telemetry_data`** | Deep Tech Analysis | "Compare telemetry for VER and LEC in Q3" |
## 📦 Project Structure
```
src/
pitstop/
__main__.py # Entry point
clients/ # API Clients (OpenF1, FastF1, RSS)
models/ # Pydantic Data Models
tools/ # Tool Implementations
live/ # Live Data Tools
general/ # Session & Telemetry
reference/ # Static Data
...
```
## 📜 License
MIT License. Data provided by FastF1, OpenF1, and Ergast. Not affiliated with Formula 1 or FIA.