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"
]
}コミュニティ
エビデンス