Formula 1 MCP Server

Acesse estatísticas e informações extensas da Fórmula 1 usando a biblioteca FastF1 e a API OpenF1.

Documentação

🏁 Formula 1 MCP Server 🏎️

Este projeto define um servidor MCP para dados da Fórmula 1, fornecendo a fãs, analistas e desenvolvedores acesso fácil a uma vasta gama de estatísticas e informações da F1. Construído com Python e alimentado pelo framework Gradio, oferece uma interface web amigável para explorar dados históricos e recentes da F1 da biblioteca FastF1 e da API OpenF1 oficial.

Demonstração em Vídeo (Claude Desktop)

Demo Video

Arquitetura

Visão geral da arquitetura do servidor e cliente MCP. O servidor MCP é hospedado usando um back-end Gradio e pode ser executado localmente ou em um servidor remoto.

Principais Recursos do Gradio

A interface é organizada em várias abas Gradio, cada uma dedicada a um tipo específico de dados da F1:

  • Classificação do Campeonato: Veja as classificações finais do campeonato de pilotos e construtores para qualquer temporada de 1950 até o presente.
  • Informações do Evento: Obtenha informações detalhadas para qualquer Grande Prêmio, incluindo horários e detalhes do circuito.
  • Calendário da Temporada: Exiba o calendário completo de corridas para um determinado ano.
  • Visualizações de Pista: Gere e visualize gráficos da volta mais rápida da corrida, mostrando velocidade, mudanças de marcha e forças G nas curvas.
  • Resultados de Sessão: Obtenha resultados detalhados para qualquer sessão de corrida (Treino, Classificação ou Corrida).
  • Informações de Pilotos e Construtores: Consulte informações de histórico e estatísticas para pilotos e equipes.
  • Ferramentas da API OpenF1: Um kit de ferramentas avançado para desenvolvedores consultarem diretamente a API OpenF1, criarem solicitações personalizadas e visualizarem respostas JSON brutas.

Pilha de Tecnologias

  • Backend: Python
  • Framework Web: Gradio
  • Fontes de Dados:
    • fastf1 biblioteca Python para dados históricos.
    • openf1 para dados ao vivo e recentes por meio de sua API pública.
  • Bibliotecas Principais: pandas, matplotlib

Servidor MCP

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

Cliente MCP

O cliente MCP e o agente de IA estão definidos dentro de mcp_client.py e permitem interação com o servidor MCP por meio do transporte de eventos do lado do servidor (SSE).

Arquivo de configuração do MCP

Para clientes MCP que suportam transporte SSE (para Claude Desktop, veja abaixo), a seguinte configuração pode ser usada:

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

Para Claude Desktop, a seguinte configuração pode ser usada em vez disso, mas certifique-se de ter o 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"
      ]
    }
  }
}