Formula One MCP Server (Python)

MIT License
  • Linux
  • Apple

Integrations

  • Enables access to Formula One racing data from a GitHub repository, with the README mentioning the project was inspired by another GitHub repository.

  • Utilizes NumPy as a dependency for working with numerical data in Formula One racing statistics and telemetry analysis.

  • Leverages pandas for data manipulation and analysis of Formula One data, including race results, telemetry, and driver statistics.

Formula One MCP Server

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

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 NameDescription
get_event_scheduleGet Formula One race calendar for a specific season
get_event_infoGet detailed information about a specific Formula One Grand Prix
get_session_resultsGet results for a specific Formula One session
get_driver_infoGet information about a specific Formula One driver
analyze_driver_performanceAnalyze a driver's performance in a Formula One session
compare_driversCompare performance between multiple Formula One drivers
get_telemetryGet telemetry data for a specific Formula One lap
get_championship_standingsGet 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.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

This project implements a Model Context Protocol (MCP) server providing Formula One racing data using the Python FastF1 library. Inspired by an existing TypeScript server, it offers similar F1 data functionalities natively in Python via FastF1.

  1. Features
    1. Installation
      1. Usage
        1. Command Line
        2. Python API
      2. API Documentation
        1. Dependencies
          1. Development
            1. Setup Development Environment
            2. Code Quality
            3. Contribution Guidelines
          2. License
            1. Authors
              1. Acknowledgements
                ID: qu9jvw5zsv