Skip to main content

A Model Context Protocol (MCP) server that provides Formula One racing data for AI applications, including event schedules, driver information, telemetry data, race results, and performance analysis.

Project description

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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

f1_mcp_server-0.1.0.tar.gz (99.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

f1_mcp_server-0.1.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file f1_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: f1_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 99.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for f1_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b09eafdf1acb33243cce3c75d0330527a8cfa7b94cbb4be4f3c9b1fd1a62243f
MD5 9507a0cc9675fc493ed8668bba9948cd
BLAKE2b-256 12cba346e2eb776f93169fc1f8ef86fbc89d2859e9c553c7365b5c3d62717d8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for f1_mcp_server-0.1.0.tar.gz:

Publisher: publish-pypi.yml on Machine-To-Machine/f1-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file f1_mcp_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: f1_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for f1_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e8d73c65a61edc4d38be2239632d0d8e54bcfa8147ccb0f13162b80bb46ff5a
MD5 7bb70fb131227b08e83abcee569b65bc
BLAKE2b-256 b96511e60fa3b7ccdffce24451576c0503a91ddb55829a8bf7a8e23956b7e3ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for f1_mcp_server-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on Machine-To-Machine/f1-mcp-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page