Soccer MCP Server

Fornece estatísticas de futebol e dados de partidas ao vivo usando o serviço API-Football.

Documentação

MseeP.ai Security Assessment Badge

Soccer MCP Server

Um servidor Python que implementa o Model Context Protocol (MCP) para estatísticas de futebol e dados de partidas ao vivo usando o serviço API-Football.

Visão Geral

Este servidor fornece um conjunto abrangente de ferramentas para acessar dados de futebol por meio da API-Football. Ele serve como uma ponte entre aplicações e serviços de dados de futebol, oferecendo tanto informações de partidas ao vivo quanto estatísticas históricas para ligas, times e jogadores em todo o mundo.

Recursos

  • Dados de ligas (classificações, partidas, calendários)
  • Informações de times e partidas
  • Estatísticas e perfis de jogadores
  • Dados de partidas ao vivo (eventos, estatísticas, cronologias)
  • Análise de partidas (estatísticas, eventos)

Configuração

Este servidor requer uma chave de API do RapidAPI para o serviço API-Football:

  1. Crie uma conta no RapidAPI
  2. Assine a API-Football API
  3. Defina a variável de ambiente:
    RAPID_API_KEY_FOOTBALL=your_api_key_here
    

Ferramentas

Dados de Ligas

  • get_league_id_by_name

    • Recupere o ID da liga para um nome de liga fornecido
    • Exemplo: get_league_id_by_name(league_name="Premier League")
  • get_all_leagues_id

    • Recupere uma lista de todas as ligas de futebol com seus IDs
    • Pode ser filtrada por país
    • Exemplo: get_all_leagues_id(country=["England", "Spain"])
  • get_standings

    • Recupere classificações de ligas para múltiplas ligas e temporadas
    • Pode ser filtrada por time
    • Exemplo: get_standings(league_id=[39, 140], season=[2022, 2023])
  • get_league_info

    • Recupere informações sobre uma liga de futebol específica
    • Exemplo: get_league_info(league_name="Champions League")
  • get_league_fixtures

    • Recupera todas as partidas de uma liga e temporada
    • Exemplo: get_league_fixtures(league_id=39, season=2023)
  • get_league_schedule_by_date

    • Recupera o calendário de uma liga em datas especificadas
    • Exemplo: get_league_schedule_by_date(league_name="Premier League", date=["2024-03-08", "2024-03-09"], season="2023")

Dados de Jogadores

  • get_player_id

    • Recupere IDs e informações de jogadores que correspondem a um nome
    • Exemplo: get_player_id(player_name="Messi")
  • get_player_profile

    • Recupere o perfil de um jogador pelo sobrenome
    • Exemplo: get_player_profile(player_name="Messi")
  • get_player_statistics

    • Recupere estatísticas detalhadas de jogadores por temporadas e nome da liga
    • Exemplo: get_player_statistics(player_id=154, seasons=[2022, 2023], league_name="La Liga")
  • get_player_statistics_2

    • Recupere estatísticas detalhadas de jogadores por temporadas e ID da liga
    • Exemplo: get_player_statistics_2(player_id=154, seasons=[2022, 2023], league_id=140)

Dados de Times

  • get_team_fixtures

    • Retorna partidas passadas ou futuras para um time
    • Exemplo: get_team_fixtures(team_name="Manchester United", type="past", limit=3)
  • get_team_fixtures_by_date_range

    • Recupere partidas de um time dentro de um intervalo de datas
    • Exemplo: get_team_fixtures_by_date_range(team_name="Liverpool", from_date="2023-09-01", to_date="2023-09-30", season="2023")
  • get_team_info

    • Recupere informações básicas sobre um time específico
    • Exemplo: get_team_info(team_name="Real Madrid")

Dados de Partidas/Fixtures

  • get_fixture_statistics

    • Recupera estatísticas detalhadas de uma partida específica
    • Exemplo: get_fixture_statistics(fixture_id=867946)
  • get_fixture_events

    • Recupera todos os eventos durante o jogo para uma partida (gols, cartões, substituições)
    • Exemplo: get_fixture_events(fixture_id=867946)
  • get_multiple_fixtures_stats

    • Recupera estatísticas de múltiplas partidas de uma vez
    • Exemplo: get_multiple_fixtures_stats(fixture_ids=[867946, 867947, 867948])

Dados de Partidas ao Vivo

  • get_live_match_for_team

    • Verifica se um time está jogando ao vivo no momento
    • Exemplo: get_live_match_for_team(team_name="Chelsea")
  • get_live_stats_for_team

    • Recupera estatísticas ao vivo durante o jogo para um time em uma partida
    • Exemplo: get_live_stats_for_team(team_name="Liverpool")
  • get_live_match_timeline

    • Recupera a linha do tempo em tempo real de eventos para a partida ao vivo de um time
    • Exemplo: get_live_match_timeline(team_name="Manchester City")

Uso

O servidor é implementado usando o framework Fast MCP e pode ser executado como um serviço autônomo.

# Start the server
python soccer_server.py
# or
mcp run soccer-server.py

Configuração

  • O servidor é executado com um tempo limite de 30 segundos para operação mais confiável
  • Manipuladores de sinais são implementados para desligamento gracioso (Ctrl+C)

Uso com Claude Desktop

Opção 1: Usando Docker (Recomendado)

  1. Clone este repositório
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
  1. Instale as dependências
pip install -r requirements.txt
  1. Construa a imagem Docker
docker build -t soccer_server .
  1. Execute o contêiner Docker (certifique-se de que sua chave de API seja passada como uma variável de ambiente)
docker run -d -p 5000:5000 -e RAPID_API_KEY_FOOTBALL=your_api_key_here --name soccer_server soccer_server
  1. Adicione isso ao seu claude_desktop_config.json:
{
  "mcpServers": {
    "soccer_server": {
      "command": "docker",
      "args": [
        "exec",
        "-i",
        "soccer_server",
        "python",
        "soccer_server.py"
      ],
      "env": {
        "RAPID_API_KEY_FOOTBALL": "your_api_key_here"
      }
    }
  }
}

Opção 2: Execução Direta em Python

  1. Clone este repositório
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
  1. Instale as dependências
pip install -r requirements.txt
  1. Defina a variável de ambiente da chave de API
export RAPID_API_KEY_FOOTBALL=your_api_key_here
  1. Adicione isso ao seu claude_desktop_config.json, ajustando o caminho do Python conforme necessário:
{
  "mcpServers": {
    "soccer_server": {
      "command": "/path/to/your/python",
      "args": [
        "/path/to/soccer_server.py"
      ],
      "env": {
        "RAPID_API_KEY_FOOTBALL": "your_api_key_here"
      }
    }
  }
}

Após adicionar sua configuração escolhida, reinicie o Claude Desktop para carregar o servidor de futebol. Você poderá então usar todas as ferramentas de dados de futebol nas suas conversas com o Claude.

Detalhes Técnicos

O servidor é construído sobre:

  • API-Football via RapidAPI
  • MCP para interface de API
  • Pydantic para validação de entrada
  • Requests para comunicação com a API

Licença

Este servidor MCP está disponível sob a Licença MIT.