LeagueNight
Round-robin fixtures, standings and match-day plans for league organizers. Free.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `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"
]
}社群
證據