Skip to main content
Glama
Formula One MCP Server (Python)

Formula One MCP Server (Python)

Formula One MCP Server

PyPI version Python Versions License: MIT

A Model Context Protocol (MCP) server that provides Formula One racing data. This package exposes various tools for querying F1 data including event schedules, driver information, telemetry data, and race results.

Features

  • Event Schedule: Access the complete F1 race calendar for any season

  • Event Information: Detailed data about specific Grand Prix events

  • Session Results: Comprehensive results from races, qualifying sessions, sprints, and practice sessions

  • Driver Information: Access driver details for specific sessions

  • Performance Analysis: Analyze a driver's performance with lap time statistics

  • Driver Comparison: Compare multiple drivers' performances in the same session

  • Telemetry Data: Access detailed telemetry for specific laps

  • Championship Standings: View driver and constructor standings for any season

Related MCP server: Formula One MCP Server

Installation

Installing via Smithery

To install f1-mcp-server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @Machine-To-Machine/f1-mcp-server --client claude

Manual Installation

In a uv managed python project, add to dependencies by:

uv add f1-mcp-server

Alternatively, for projects using pip for dependencies:

pip install f1-mcp-server

To run the server inside your project:

uv run f1-mcp-server

Or to run it globally in isolated environment:

uvx f1-mcp-server

To install directly from the source:

git clone https://github.com/Machine-To-Machine/f1-mcp-server.git
cd f1-mcp-server
pip install -e .

Usage

Command Line

The server can be run in two modes:

Standard I/O mode (default):

uvx run f1-mcp-server

SSE transport mode (for web applications):

uvx f1-mcp-server --transport sse --port 8000

Python API

from f1_mcp_server import main

# Run the server with default settings
main()

# Or with SSE transport settings
main(port=9000, transport="sse")

API Documentation

The server exposes the following tools via MCP:

Tool Name

Description

get_event_schedule

Get Formula One race calendar for a specific season

get_event_info

Get detailed information about a specific Formula One Grand Prix

get_session_results

Get results for a specific Formula One session

get_driver_info

Get information about a specific Formula One driver

analyze_driver_performance

Analyze a driver's performance in a Formula One session

compare_drivers

Compare performance between multiple Formula One drivers

get_telemetry

Get telemetry data for a specific Formula One lap

get_championship_standings

Get Formula One championship standings

See the FastF1 documentation for detailed information about the underlying data: FastF1 Documentation

Dependencies

  • anyio (>=4.9.0)

  • click (>=8.1.8)

  • fastf1 (>=3.5.3)

  • mcp (>=1.6.0)

  • numpy (>=2.2.4)

  • pandas (>=2.2.3)

  • uvicorn (>=0.34.0)

Development

Setup Development Environment

git clone https://github.com/Machine-To-Machine/f1-mcp-server.git
cd f1-mcp-server
uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"

Code Quality

# Run linting
uv run ruff check .

# Run formatting check
uv run ruff format --check .

# Run security checks
uv run bandit -r src/

Contribution Guidelines

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature-name

  3. Commit your changes: git commit -am 'Add some feature'

  4. Push to the branch: git push origin feature-name

  5. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Authors

  • Machine To Machine

Acknowledgements

This project leverages FastF1, an excellent Python package for accessing Formula 1 data. We are grateful to its maintainers and contributors.

This project was inspired by rakeshgangwar/f1-mcp-server which was written in TypeScript. The f1_data.py module was mostly adapted from their source code.

Available Tools

8 tools
analyze_driver_performanceC

Analyze a driver's performance in a Formula One session

Inputs: year (required), event_identifier (required), session_name (required), driver_identifier (required).

compare_driversB

Compare performance between multiple Formula One drivers

Inputs: year (required), event_identifier (required), session_name (required), drivers (required).

get_championship_standingsC

Get Formula One championship standings

Inputs: year (required), round_num.

get_driver_infoC

Get information about a specific Formula One driver

Inputs: year (required), event_identifier (required), session_name (required), driver_identifier (required).

get_event_infoB

Get detailed information about a specific Formula One Grand Prix

Inputs: year (required), identifier (required).

get_event_scheduleA

Get Formula One race calendar for a specific season

Inputs: year (required).

get_session_resultsC

Get results for a specific Formula One session

Inputs: year (required), event_identifier (required), session_name (required).

get_telemetryC

Get telemetry data for a specific Formula One lap

Inputs: year (required), event_identifier (required), session_name (required), driver_identifier (required), +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 8 tools

    Disambiguation5/5

    All 8 tools target distinct aspects of Formula One data—drivers, events, sessions, championships, and telemetry—with no overlapping functionality. Each has a clear, non-redundant purpose.

    Naming Consistency5/5

    Every tool uses a consistent verb_noun pattern with lowercase and underscores (e.g., get_driver_info, analyze_driver_performance). The naming is predictable and adheres to a single convention.

    Tool Count5/5

    With 8 tools, the server is well-scoped for its domain. It covers essential F1 operations without being too sparse or overly granular, making it ideal for most common queries without excessive complexity.

    Completeness4/5

    The tool set covers major areas: driver info, performance analysis, comparisons, standings, event details, schedule, session results, and telemetry. One minor gap is lack of team/constructor info, but the surface is otherwise comprehensive for a dedicated F1 server.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides real-time and historical Formula 1 racing data through the Model Context Protocol, offering access to timing data, driver stats, race results, telemetry, and more.
      14
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A Model Context Protocol server that provides comprehensive Formula One racing data, enabling access to event schedules, driver information, telemetry data, race results, and performance analytics through natural language queries.
      8
      1
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server for Formula 1 data via the FastF1 library. Ask Claude (or any MCP-compatible client) about race results, lap times, telemetry, standings, pit stops, and qualifying — with historical data back to 1950 via the Ergast API.
      21
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      A local MCP server that gives Claude (or any MCP-compatible AI client) access to Formula 1 race data. Load any session from 2018 onwards, ask questions in natural language, and get answers backed by real telemetry, timing, and strategy data.
      17
      1
      MIT