Skip to main content
Glama

🏎️ 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

To install Pitstop for Claude Desktop automatically:

npx -y @smithery/cli install pitstop --client claude

2. Manual Installation

Clone the repository and install dependencies:

git clone https://github.com/praneethravuri/pitstop.git cd pitstop uv sync

3. Running the Server

Run the MCP server directly using uv:

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).

{ "mcpServers": { "pitstop": { "command": "docker", "args": ["run", "-i", "--rm", "pitstop"], "env": { "PITSTOP_ENV": "production" } } } }

Option B: Local (uv)

{ "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:

# 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.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/praneethravuri/pitstop'

If you have feedback or need assistance with the MCP directory API, please join our Discord server