Soccer MCP Server
Fornece estatísticas de futebol e dados de partidas ao vivo usando o serviço API-Football.
Documentação
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:
- Crie uma conta no RapidAPI
- Assine a API-Football API
- 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)
- Clone este repositório
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
- Instale as dependências
pip install -r requirements.txt
- Construa a imagem Docker
docker build -t soccer_server .
- 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
- 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
- Clone este repositório
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
- Instale as dependências
pip install -r requirements.txt
- Defina a variável de ambiente da chave de API
export RAPID_API_KEY_FOOTBALL=your_api_key_here
- 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.
