Servidor MCP

LeagueNight

io.github.everyai-com/league-night
Gaming Productividad Público y accesible MCP 2026-07-28

Qué hace este MCP

Creates round-robin fixtures, match-day schedules, season plans and standings for sports leagues.

match_day_plan
Lay an ordered list of games onto a courts-by-slots time grid: game i goes to court (i mod courts) in slot (i div courts) and each slot is slot_minutes long, starting at start_time.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['games', 'courts', 'slot_minutes', 'start_time'], 'properties': {'games': {'type': 'array', 'items': {'type': 'object', 'required': ['home', 'away'], 'properties': {'away': {'type': 'string'}, 'home': {'type': 'string'}}}, 'description': 'Games in the order they should be played'}, 'courts': {'type': 'number', 'description': 'Courts available (1-12)'}, 'start_time': {'type': 'string', 'description': 'First kick-off, 24h HH:MM'}, 'slot_minutes': {'type': 'number', 'description': 'Minutes per time slot (10-180)'}}}
round_robin_schedule
Build a circle-method round-robin fixture schedule: every pair of teams meets once, or twice when second_leg is set. Odd team counts get one bye per round.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['teams'], 'properties': {'teams': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Team names (2 or more, unique)'}, 'rounds': {'type': 'number', 'description': 'Optional number of rounds to return (1..full schedule)'}, 'second_leg': {'type': 'boolean', 'description': 'Also schedule the reverse fixtures for a double round-robin'}}}
season_plan
Size a season end-to-end: total fixtures from the round-robin, games per match day given the courts available, match days needed, and the calendar dates from a start date to the estimated finish date.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['teams', 'courts', 'slot_minutes', 'start_date'], 'properties': {'teams': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Team names (2 or more, unique)'}, 'courts': {'type': 'number', 'description': 'Courts available per match day (1-12)'}, 'second_leg': {'type': 'boolean', 'description': 'Plan a double round-robin (each pair meets twice)'}, 'start_date': {'type': 'string', 'description': 'First match day, YYYY-MM-DD'}, 'slot_minutes': {'type': 'number', 'description': 'Minutes per time slot (10-180)'}, 'days_between_rounds': {'type': 'number', 'description': 'Days between match days, default 7'}}}
standings_table
Aggregate match results into a league table with played, wins, draws, losses, goals for/against, goal difference and points, sorted by points, then goal difference, then goals for, then name.
Solo lectura
Esquema de entrada
{'type': 'object', 'required': ['results'], 'properties': {'teams': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Full roster; results for teams outside it are skipped with a warning'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['home', 'away', 'home_score', 'away_score'], 'properties': {'away': {'type': 'string'}, 'home': {'type': 'string'}, 'away_score': {'type': 'number'}, 'home_score': {'type': 'number'}}}, 'description': 'Match results in any order'}, 'points_win': {'type': 'number', 'description': 'Points for a win, default 3'}, 'points_draw': {'type': 'number', 'description': 'Points for a draw, default 1'}}}
Añadido
season_plan
5 de October de 2026 a las 02:40
Añadido
match_day_plan
5 de October de 2026 a las 02:40
Añadido
standings_table
5 de October de 2026 a las 02:40
Añadido
round_robin_schedule
5 de October de 2026 a las 02:40