Open Formula 1 MCP Server

Servidor MCP para recuperar e analisar corridas, carros, pilotos, voltas, paradas nos boxes e mais da Fórmula 1 (F1).

Documentação

Open-F1-MCP-Server

Este projeto implementa o MCP Server para Open Formula 1

Para informações mais detalhadas, consulte Implementação do Open F1 MCP Server

Sou estudante do ensino médio e gostaria de saber se meu projeto é apreciado e/ou utilizado. Se você gostar ou usar este MCP Server, por favor, dê uma estrela no GitHub e compartilhe com seus amigos - obrigado!!

Arya Akman

O que é Open Formula 1

Open Formula 1 é uma API de código aberto que fornece dados de Fórmula 1 em tempo real e históricos.

A API oferece uma riqueza de informações, incluindo tempos de volta, telemetria do carro, comunicações de rádio e muito mais. Se você deseja criar painéis interativos, aprofundar-se na análise de corridas ou até mesmo desenvolver objetos conectados que acendem toda vez que seu piloto favorito assume a liderança, o OpenF1 torna tudo isso possível.


Ferramentas (a partir da v1.2)

get_sessions:

Recupera sessões de corrida de F1. Pode filtrar por ano, país, circuito, tipo de sessão, etc. Retorna detalhes da sessão, incluindo session_key, data, local e tipo.

Parâmetro	        Descrição
year		        Filtrar por ano (ex.: 2023, 2024).
country_name	    Filtrar por nome do país (ex.: 'Monaco', 'Italy').
circuit_short_name	Filtrar pelo nome curto do circuito (ex.: 'Monza', 'Monaco').
session_name    	Filtrar pelo nome da sessão (ex.: 'Race', 'Qualifying', 'Sprint').
session_key	    	Obter sessão específica pelo seu session_key único.
date_start	    	Filtrar pela data de início (formato ISO: YYYY-MM-DD). Suporta filtros como >= e <=.
Outros filtros		session_type, location, country_code, meeting_key, gmt_offset

get_drivers:

Recupera informações dos pilotos. Pode obter todos os pilotos atuais ou filtrar por session_key para obter os pilotos que participaram de uma sessão específica. Retorna detalhes do piloto, incluindo nome, número, equipe, país e URL da foto.

Parâmetro	    	Descrição
session_key	    	Opcional. Filtra pilotos por session_key para obter participantes de uma sessão específica.
driver_number	   	Opcional. Filtra pelo número do piloto (ex.: 1, 44, 16).
team_name        	Opcional. Filtra pelo nome da equipe (ex.: 'Red Bull Racing', 'Ferrari').

get_laps:

Recupera dados de voltas para sessões, pilotos e voltas específicas. Retorna informações detalhadas da volta, incluindo tempo de volta, tempos de setor, duração e posição.

Parâmetro	    	Descrição
session_key	    	Obrigatório para resultados significativos. Filtra pela chave de sessão única.
driver_number	   	Opcional. Filtra pelo número do piloto (ex.: 1, 44, 16).
lap_number	    	Opcional. Filtra por um número de volta específico.

get_pit_stops:

Recupera dados de paradas nos boxes para sessões específicas. Retorna informações detalhadas da parada, incluindo duração, número da volta e tempo.

Parâmetro	    	Descrição
session_key	        Obrigatório para resultados significativos. Filtra pela chave de sessão única.
driver_number		Opcional. Filtra pelo número do piloto (ex.: 1, 44, 16).
pit_duration		Opcional. Limite superior para a duração da parada em segundos (ex.: 30.0 para paradas abaixo de 30 segundos).

get_overtakes:

Recupera dados de ultrapassagens mostrando mudanças de posição entre pilotos. Uma ultrapassagem refere-se a um piloto (o piloto que ultrapassa) trocando de posição com outro piloto (o piloto ultrapassado). Retorna informações detalhadas, incluindo os pilotos envolvidos, o número da volta e o momento do evento.

Parâmetro	                Descrição
session_key	    	        Obrigatório para resultados significativos. Filtra pela chave de sessão única.
overtaking_driver_number    Opcional. Filtra pelo número do piloto que realizou a ultrapassagem (ex.: 1, 44).
overtaken_driver_number		Opcional. Filtra pelo número do piloto que foi ultrapassado (ex.: 16, 63).

Instruções de instalação:

1. Instalar dependências:

bashpip install mcp httpx


2. Adicionar/atualizar a configuração do Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "Open-F1": {
      "command": "python",
      "args": ["/path/to/OpenF1MCPServer.py"]
    }
  }
}

3. Reinicie o Claude Desktop e verifique a instalação

Vá para Claude Desktop -> Arquivo -> Configurações -> Desenvolvedor

No lado direito da tela, procure em Servidores MCP Locais e verifique

  • "Open-F1" aparece
  • O estado é "running" (destacado com fundo azul)

Exemplos de uso

Os seguintes exemplos de prompts podem fornecer ideias sobre como utilizar este MCP Server

  • Exemplos de uso relacionados a Sessões (Corrida)

    • "Mostre-me todas as sessões de F1 de 2024"

    • "Obtenha os detalhes da sessão de corrida para Monaco 2023"

  • Exemplos de uso relacionados a Pilotos

    • "Quem dirigiu na sessão 9158?" (usando um session_key)

    • "Mostre-me todos os pilotos da Ferrari na corrida de Monza 2024"

  • Exemplos de uso relacionados a informações de voltas

    • "Obtenha os dados da volta 10 para todos os pilotos na corrida de Monaco 2024"

    • "Qual foi a volta mais rápida de Max Verstappen na última corrida?"

    • "Compare os tempos de setor para a volta 1 entre os pilotos 1 e 44 na sessão 9158"

  • Exemplos de uso relacionados a paradas nos boxes

    • "Mostre-me todas as paradas nos boxes do Grande Prêmio de Singapura de 2025"

    • "Obtenha as paradas nos boxes para o piloto 1 na sessão 9158"

    • "Encontre todas as paradas nos boxes abaixo de 25 segundos na última corrida"

    • "Qual piloto teve a parada nos boxes mais rápida na corrida de Monaco 2025?"

    • "Compare os tempos de parada nos boxes entre pilotos da Red Bull e da Ferrari"

    • "Mostre-me todas as paradas nos boxes que levaram mais de 30 segundos em Singapore 2025"

  • Exemplos de uso relacionados a ultrapassagens

    • "Mostre-me todas as ultrapassagens da corrida de Monaco 2024"

    • "Quantas vezes o piloto 1 ultrapassou alguém na sessão 9158?"

    • "Quem ultrapassou o piloto 44 na última corrida?"

    • "Mostre-me todas as ultrapassagens envolvendo o piloto 16"

    • "Qual volta teve mais ultrapassagens na sessão 9158?"

    • "Mostre-me todas as batalhas entre os pilotos 1 e 16" (pode usar ambos os parâmetros)


O servidor lida com as chamadas de API para o OpenF1 e retorna dados formatados que o Claude pode interpretar e apresentar a você