LeagueNight
Round-robin fixtures, standings and match-day plans for league organizers. Free.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"league-night": {
"url": "https://league-night.magicteams.ai/mcp"
}
}
}원격 엔드포인트
https://league-night.magicteams.ai/mcpstreamable-http할 수 있는 일
도구 목록
도구 (4)
🟢round_robin_schedule(teams, rounds, second_leg)
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.
입력 스키마
{
"type": "object",
"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"
}
},
"required": [
"teams"
]
}🟢standings_table(results, teams, points_win, points_draw)
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.
입력 스키마
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"home": {
"type": "string"
},
"away": {
"type": "string"
},
"home_score": {
"type": "number"
},
"away_score": {
"type": "number"
}
},
"required": [
"home",
"away",
"home_score",
"away_score"
]
},
"description": "Match results in any order"
},
"teams": {
"type": "array",
"items": {
"type": "string"
},
"description": "Full roster; results for teams outside it are skipped with a warning"
},
"points_win": {
"type": "number",
"description": "Points for a win, default 3"
},
"points_draw": {
"type": "number",
"description": "Points for a draw, default 1"
}
},
"required": [
"results"
]
}🟢match_day_plan(games, courts, slot_minutes, start_time)
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.
입력 스키마
{
"type": "object",
"properties": {
"games": {
"type": "array",
"items": {
"type": "object",
"properties": {
"home": {
"type": "string"
},
"away": {
"type": "string"
}
},
"required": [
"home",
"away"
]
},
"description": "Games in the order they should be played"
},
"courts": {
"type": "number",
"description": "Courts available (1-12)"
},
"slot_minutes": {
"type": "number",
"description": "Minutes per time slot (10-180)"
},
"start_time": {
"type": "string",
"description": "First kick-off, 24h HH:MM"
}
},
"required": [
"games",
"courts",
"slot_minutes",
"start_time"
]
}🟢season_plan(teams, courts, slot_minutes, start_date, days_between_rounds, ...)
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.
입력 스키마
{
"type": "object",
"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)"
},
"slot_minutes": {
"type": "number",
"description": "Minutes per time slot (10-180)"
},
"start_date": {
"type": "string",
"description": "First match day, YYYY-MM-DD"
},
"days_between_rounds": {
"type": "number",
"description": "Days between match days, default 7"
},
"second_leg": {
"type": "boolean",
"description": "Plan a double round-robin (each pair meets twice)"
}
},
"required": [
"teams",
"courts",
"slot_minutes",
"start_date"
]
}커뮤니티
증거