MLB SportRadar

Accede a datos de juegos de la MLB, clasificaciones y estadísticas de jugadores utilizando la API de SportRadar.

Documentación

Servidor MCP de MLB SportRadar

Servidor de Protocolo de Contexto de Modelo (MCP) para conectar Claude con la API de MLB de SportRadar. Proporciona herramientas para acceder a datos de juegos de MLB, clasificaciones, estadísticas de jugadores y más a través de la API de SportRadar.

Requisitos

  • Python 3.12 o superior
  • SDK de Python del Protocolo de Contexto de Modelo (MCP)
  • httpx
  • python-dotenv
  • Clave de API de SportRadar

Configuración

1. Obtener la clave de API de SportRadar

  1. Regístrate en Portal de desarrolladores de SportRadar
  2. Obtén tu clave de API de MLB (de prueba o producción)

2. Instalar uv (recomendado)

curl -LsSf https://astral.sh/uv/install.sh | sh

3. Clonar este repositorio

git clone https://github.com/yourusername/mlb-sportradar-mcp.git
cd mlb-sportradar-mcp

4. Crear y activar un entorno virtual

# Create virtual environment
uv venv

# Activate virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate

5. Instalar dependencias

# Option 1: Using uv (recommended)
uv sync

# Option 2: Using pip with requirements.txt
pip install -r requirements.txt

# Option 3: Install as editable package
uv pip install -e .

6. Configurar variables de entorno

Crea un archivo .env en la raíz del proyecto con tu clave de API de SportRadar:

SPORTRADAR_API_KEY=your_api_key_here

Uso

1. Configurar Claude Desktop

Primero, instala la CLI de MCP globalmente:

uv tool install "mcp[cli]"

Luego agrega este servidor a tu archivo de configuración de Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

{
  "mcpServers": {
    "MLB SportRadar": {
      "command": "/Users/<USERNAME>/.local/share/uv/tools/mcp/bin/mcp",
      "args": ["run", "/full/path/to/mlb-sportradar-mcp/src/mlb_sportradar_mcp/server.py"]
    }
  }
}

Importante: Reemplaza /full/path/to/ con la ruta absoluta real a tu directorio mlb-sportradar-mcp.

Reinicia Claude Desktop después de guardar la configuración.

2. Usar el servidor MCP con Claude

Una vez configurado, Claude Desktop tendrá acceso a estas herramientas de MLB SportRadar:

Datos de juegos:

  • get_daily_schedule: Obtén el calendario de MLB para una fecha específica o hoy
  • get_game_summary: Obtén información resumida de un juego específico
  • get_game_boxscore: Obtén la caja de anotaciones detallada de un juego específico
  • get_game_play_by_play: Obtén datos detallados de jugada por jugada de un juego
  • get_game_pitch_metrics: Obtén métricas a nivel de lanzamiento y datos de Statcast

Equipos y liga:

  • get_standings: Obtén las clasificaciones de MLB para un año y liga específicos
  • get_team_profile: Obtén información detallada del equipo
  • get_team_roster: Obtén la lista actual de jugadores de un equipo específico
  • get_team_hierarchy: Obtén la jerarquía completa de equipos de MLB con divisiones
  • get_seasonal_statistics: Obtén estadísticas de temporada de un equipo

Datos de jugadores:

  • get_player_profile: Obtén información detallada del jugador
  • get_player_seasonal_stats: Obtén estadísticas de temporada de un jugador
  • get_seasonal_splits: Obtén divisiones de jugador (local/visitante, contra zurdos/diestros, etc.)
  • get_league_leaders: Obtén líderes de la liga de MLB en varias categorías

Información de la liga:

  • get_injuries: Obtén el informe actual de lesiones de MLB
  • get_transactions: Obtén transacciones de MLB para una fecha específica
  • get_draft_summary: Obtén el resumen del draft de MLB para un año específico

Ejemplos de consultas para probar con Claude:

  • "Muéstrame el calendario de MLB de hoy"
  • "Obtén las clasificaciones actuales de la Liga Americana"
  • "¿Cuáles son los líderes actuales de bateo en MLB?"
  • "Muéstrame el informe de lesiones de MLB"
  • "Obtén datos de jugada por jugada del juego [game_id]"
  • "Muéstrame métricas de lanzamiento del último juego"
  • "Obtén divisiones de jugador para [nombre_del_jugador]"
  • "¿Qué transacciones ocurrieron hoy en MLB?"

Desarrollo y pruebas

Instala las dependencias de desarrollo y ejecuta el conjunto de pruebas con:

uv sync --all-extras
pytest -v tests

Ejecutar el servidor localmente

Para iniciar el servidor manualmente (útil al desarrollar o probar), ejecuta:

mlb-sportradar-mcp

Alternativamente, puedes ejecutarlo directamente con:

uv run python src/mlb_sportradar_mcp/server.py

Instalar la CLI de MCP globalmente

Si deseas usar comandos de mcp run, instala la CLI de MCP globalmente:

uv tool install "mcp[cli]"

Luego puedes ejecutar:

mcp run src/mlb_sportradar_mcp/server.py

Endpoints de la API

Este servidor MCP utiliza los endpoints de la API v8 de MLB de SportRadar:

  • Calendario: /en/games/{year}/{month}/{day}/schedule.json
  • Resumen del juego: /en/games/{game_id}/summary.json
  • Caja de anotaciones del juego: /en/games/{game_id}/boxscore.json
  • Clasificaciones: /en/seasons/{year}/standings.json
  • Perfil del jugador: /en/players/{player_id}/profile.json
  • Perfil del equipo: /en/teams/{team_id}/profile.json
  • Líderes de la liga: /en/seasons/{year}/leaders.json
  • Lista del equipo: /en/teams/{team_id}/roster.json
  • Lesiones: /en/injuries.json

Límites de velocidad

Ten en cuenta los límites de velocidad de la API de SportRadar. La API de prueba generalmente tiene límites más bajos que las claves de producción. Monitorea tu uso para evitar alcanzar los límites de velocidad.

Licencia

MIT

Cambio de prueba