Formula 1 MCP Server

Accede a estadísticas e información extensas de la Fórmula 1 utilizando la librería FastF1 y la API de OpenF1.

Documentación

🏁 Formula 1 MCP Server 🏎️

Este proyecto define un servidor MCP para datos de Fórmula 1, proporcionando a aficionados, analistas y desarrolladores un acceso fácil a una amplia gama de estadísticas e información de F1. Construido con Python y impulsado por el framework Gradio, ofrece una interfaz web fácil de usar para explorar datos históricos y recientes de F1 de la librería FastF1 y de la API oficial OpenF1 API.

Demo en Video (Claude Desktop)

Demo Video

Arquitectura

Descripción general de la arquitectura del servidor MCP y del cliente. El servidor MCP se aloja utilizando un back-end Gradio y puede ejecutarse localmente o en un servidor remoto.

Características Clave de Gradio

La interfaz está organizada en varias pestañas Gradio, cada una dedicada a un tipo específico de datos de F1:

  • Clasificaciones del Campeonato: Ver las clasificaciones finales del campeonato de pilotos y constructores para cualquier temporada desde 1950 hasta la actualidad.
  • Información de Eventos: Obtener información detallada de cualquier Gran Premio, incluyendo horarios y detalles del circuito.
  • Calendario de Temporada: Mostrar el calendario completo de carreras para un año determinado.
  • Visualizaciones de Circuito: Generar y ver gráficos de la vuelta más rápida de la carrera, visualizando velocidad, cambios de marcha y fuerzas G en curvas.
  • Resultados de Sesiones: Obtener resultados detallados de cualquier sesión de carrera (Práctica, Clasificación o Carrera).
  • Información de Pilotos y Constructores: Consultar información de antecedentes y estadísticas de pilotos y equipos.
  • Herramientas de la API OpenF1: Un kit de herramientas avanzado para que los desarrolladores consulten directamente la API OpenF1, construyan solicitudes personalizadas y vean respuestas JSON sin procesar.

Pila Tecnológica

  • Backend: Python
  • Web Framework: Gradio
  • Fuentes de Datos:
    • fastf1 librería de Python para datos históricos.
    • openf1 para datos en vivo y recientes a través de su API pública.
  • Librerías Clave: pandas, matplotlib

Servidor MCP

El servidor MCP está definido dentro de app.py.

Cliente MCP

El cliente MCP y el agente de IA están definidos dentro de mcp_client.py y permiten la interacción con el servidor MCP a través del transporte de eventos del lado del servidor (SSE).

Archivo de configuración MCP

Para clientes MCP que soporten transporte SSE (para Claude Desktop, ver más abajo), se puede utilizar la siguiente configuración:

{
  "mcpServers": {
    "gradio": {
      "url": "https://agents-mcp-hackathon-f1-mcp-server.hf.space/gradio_api/mcp/sse"
    }
  }
}

Para Claude Desktop, se puede utilizar en su lugar la siguiente configuración, pero asegúrate de tener Node.js instalado:

{
  "mcpServers": {
    "gradio": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://agents-mcp-hackathon-f1-mcp-server.hf.space/gradio_api/mcp/sse",
        "--transport",
        "sse-only"
      ]
    }
  }
}