MCP ExplorerExplorer

Formula One MCP Server

@Machine To Machineon a month ago
0 MIT
FreeCommunity
Web Services
#f1#formula one#racing#sports#data#mcp
A Model Context Protocol (MCP) server that provides Formula One racing data.

Overview

What is Formula One MCP Server

The F1 MCP Server is a Model Context Protocol server that provides access to comprehensive Formula One racing data, including event schedules, driver statistics, telemetry data, and race results. It operates as a service, allowing users to query and retrieve relevant F1 information programmatically.

Use cases

This server can be utilized by applications and services that require real-time or historical analysis of Formula One data. Potential use cases include sports analytics platforms, mobile applications for F1 fans, performance comparison tools for drivers, and business intelligence solutions for teams and sponsors.

How to use

To use the F1 MCP Server, you can install it via package managers like Smithery or pip. Once installed, you can run the server in standard mode or use SSE transport for web applications. The server exposes an API that allows users to interact with various tools to retrieve F1 data programmatically.

Key features

Key features include access to the complete Formula One race calendar, event details, session results, detailed driver information, performance analytics, driver comparisons, telemetry data for laps, and championship standings. It also offers capabilities for in-depth performance analysis for drivers across different sessions.

Where to use

The F1 MCP Server can be used in environments requiring F1 data integration, such as sports applications, data science projects, and web applications that aim to provide current or historical Formula One data. It is suitable for developers looking to embed F1 data functionalities into their software solutions.

Content

Formula One MCP Server

PyPI version
Python Versions
License: MIT
smithery badge

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.

Formula One Server (Python) MCP server

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

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.

Tools

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 for a specific session
analyze_driver_performance
Analyze a driver's performance in a Formula One session
compare_drivers
Compare performance between multiple Formula One drivers in the same session
get_telemetry
Get telemetry data for a specific Formula One lap
get_championship_standings
Get Formula One championship standings for a specific season

Comments

Recommend MCP Servers

View All MCP Servers