Soccer MCP Server
Proporciona estadísticas de fútbol y datos de partidos en vivo utilizando el servicio API-Football.
Documentación
Soccer MCP Server
Un servidor Python que implementa el Protocolo de Contexto de Modelo (MCP) para estadísticas de fútbol y datos de partidos en vivo utilizando el servicio API-Football.
Descripción general
Este servidor proporciona un conjunto completo de herramientas para acceder a datos de fútbol a través de la API de API-Football. Actúa como un puente entre aplicaciones y servicios de datos de fútbol, ofreciendo tanto información de partidos en vivo como estadísticas históricas de ligas, equipos y jugadores de todo el mundo.
Características
- Datos de ligas (clasificaciones, partidos, calendarios)
- Información de equipos y partidos
- Estadísticas y perfiles de jugadores
- Datos de partidos en vivo (eventos, estadísticas, líneas de tiempo)
- Análisis de partidos (estadísticas, eventos)
Configuración
Este servidor requiere una clave de API de RapidAPI para el servicio API-Football:
- Crea una cuenta en RapidAPI
- Suscríbete a la API de API-Football
- Establece la variable de entorno:
RAPID_API_KEY_FOOTBALL=your_api_key_here
Herramientas
Datos de ligas
-
get_league_id_by_name
- Obtén el ID de la liga para un nombre de liga dado
- Ejemplo:
get_league_id_by_name(league_name="Premier League")
-
get_all_leagues_id
- Obtén una lista de todas las ligas de fútbol con sus IDs
- Se puede filtrar por país
- Ejemplo:
get_all_leagues_id(country=["England", "Spain"])
-
get_standings
- Obtén las clasificaciones de ligas para múltiples ligas y temporadas
- Se puede filtrar por equipo
- Ejemplo:
get_standings(league_id=[39, 140], season=[2022, 2023])
-
get_league_info
- Obtén información sobre una liga de fútbol específica
- Ejemplo:
get_league_info(league_name="Champions League")
-
get_league_fixtures
- Obtiene todos los partidos de una liga y temporada determinadas
- Ejemplo:
get_league_fixtures(league_id=39, season=2023)
-
get_league_schedule_by_date
- Obtiene el calendario de una liga en fechas específicas
- Ejemplo:
get_league_schedule_by_date(league_name="Premier League", date=["2024-03-08", "2024-03-09"], season="2023")
Datos de jugadores
-
get_player_id
- Obtén IDs de jugadores e información para jugadores que coincidan con un nombre
- Ejemplo:
get_player_id(player_name="Messi")
-
get_player_profile
- Obtén el perfil de un jugador por su apellido
- Ejemplo:
get_player_profile(player_name="Messi")
-
get_player_statistics
- Obtén estadísticas detalladas de jugadores por temporadas y nombre de liga
- Ejemplo:
get_player_statistics(player_id=154, seasons=[2022, 2023], league_name="La Liga")
-
get_player_statistics_2
- Obtén estadísticas detalladas de jugadores por temporadas e ID de liga
- Ejemplo:
get_player_statistics_2(player_id=154, seasons=[2022, 2023], league_id=140)
Datos de equipos
-
get_team_fixtures
- Devuelve los partidos pasados o próximos de un equipo
- Ejemplo:
get_team_fixtures(team_name="Manchester United", type="past", limit=3)
-
get_team_fixtures_by_date_range
- Obtén los partidos de un equipo dentro de un rango de fechas
- Ejemplo:
get_team_fixtures_by_date_range(team_name="Liverpool", from_date="2023-09-01", to_date="2023-09-30", season="2023")
-
get_team_info
- Obtén información básica sobre un equipo específico
- Ejemplo:
get_team_info(team_name="Real Madrid")
Datos de partidos
-
get_fixture_statistics
- Obtiene estadísticas detalladas para un partido específico
- Ejemplo:
get_fixture_statistics(fixture_id=867946)
-
get_fixture_events
- Obtiene todos los eventos del juego para un partido (goles, tarjetas, sustituciones)
- Ejemplo:
get_fixture_events(fixture_id=867946)
-
get_multiple_fixtures_stats
- Obtiene estadísticas de múltiples partidos a la vez
- Ejemplo:
get_multiple_fixtures_stats(fixture_ids=[867946, 867947, 867948])
Datos de partidos en vivo
-
get_live_match_for_team
- Comprueba si un equipo está jugando actualmente en vivo
- Ejemplo:
get_live_match_for_team(team_name="Chelsea")
-
get_live_stats_for_team
- Obtiene estadísticas en vivo del juego para un equipo en un partido
- Ejemplo:
get_live_stats_for_team(team_name="Liverpool")
-
get_live_match_timeline
- Obtiene la línea de tiempo en tiempo real de los eventos del partido en vivo de un equipo
- Ejemplo:
get_live_match_timeline(team_name="Manchester City")
Uso
El servidor está implementado utilizando el framework Fast MCP y puede ejecutarse como un servicio independiente.
# Start the server
python soccer_server.py
# or
mcp run soccer-server.py
Configuración
- El servidor se ejecuta con un tiempo de espera de 30 segundos para un funcionamiento más fiable
- Se implementan manejadores de señales para un apagado elegante (Ctrl+C)
Uso con Claude Desktop
Opción 1: Usando Docker (Recomendado)
- Clona este repositorio
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
- Instala las dependencias
pip install -r requirements.txt
- Construye la imagen de Docker
docker build -t soccer_server .
- Ejecuta el contenedor de Docker (asegúrate de que tu clave de API se pase como variable de entorno)
docker run -d -p 5000:5000 -e RAPID_API_KEY_FOOTBALL=your_api_key_here --name soccer_server soccer_server
- Añade esto a tu
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"
}
}
}
}
Opción 2: Ejecución directa con Python
- Clona este repositorio
git clone https://github.com/obinopaul/soccer-mcp-server.git
cd soccer-mcp-server
- Instala las dependencias
pip install -r requirements.txt
- Establece la variable de entorno de la clave de API
export RAPID_API_KEY_FOOTBALL=your_api_key_here
- Añade esto a tu
claude_desktop_config.json, ajustando la ruta de Python según sea necesario:
{
"mcpServers": {
"soccer_server": {
"command": "/path/to/your/python",
"args": [
"/path/to/soccer_server.py"
],
"env": {
"RAPID_API_KEY_FOOTBALL": "your_api_key_here"
}
}
}
}
Después de añadir la configuración elegida, reinicia Claude Desktop para cargar el servidor de fútbol. Podrás usar todas las herramientas de datos de fútbol en tus conversaciones con Claude.
Detalles técnicos
El servidor está construido sobre:
- API-Football a través de RapidAPI
- MCP para la interfaz de API
- Pydantic para la validación de entradas
- Requests para la comunicación con la API
Licencia
Este servidor MCP está disponible bajo la Licencia MIT.
