SuperAPI AI Directory

tournament-manager

General & other

View repository

Updated 10-15 19:57

About this skill

Tournament Manager (EasyChamp)

Run tournaments end-to-end without leaving Claude — generate a league, spin up a tournament under it, build the bracket, create the schedule, and enter results as matches finish. Powered by the EasyChamp MCP running over stdio.

When to Use

  • A league needs to be created ("Start the summer basketball league, 8 teams, single-elim").
  • A tournament needs to be spun up under an existing league.
  • A bracket must be generated from a tournament's team list.
  • A match schedule must be produced with optional venue assignments.
  • A match result must be recorded against the bracket.

Chain order is usually: easychamp_generate_league → easychamp_generate_tournament → easychamp_generate_bracket → easychamp_create_schedule → easychamp_enter_results (one per match).

MCP Tools

All tools live on the EasyChamp MCP server. Invoke them as-is; the server is configured via the Deps tab snippet (see below).

easychamp_generate_league

Create a new league under the authenticated organization.

Input:

{
  "name": "Summer Basketball League",
  "sport": "basketball",
  "teamCount": 8,
  "format": "single_elim"
}

Output: { leagueId, name, sport, teams: string[] }.

easychamp_generate_tournament

Create a tournament inside an existing league.

Input: { "leagueId": "lg_abc123", "type": "single_elim" } Output: { tournamentId, leagueId, type }.

easychamp_generate_bracket

Build the bracket for a tournament from its registered teams.

Input: { "tournamentId": "tn_xyz789" } Output: { bracketId, rounds: Match[] }.

easychamp_create_schedule

Produce the schedule with match dates (and optional venues).

Input:

{
  "tournamentId": "tn_xyz789",
  "startDate": "2026-06-01",
  "venues": ["Court A", "Court B"]
}

Output: { scheduleId, matches: ScheduledMatch[] }.

easychamp_enter_results

Record the final score + winner for a single match.

Input: { "matchId": "m_42", "homeScore": 84, "awayScore": 77, "winner": "home" } Output: { matchId, finalized: true }.

Setup

  1. Open the Deps tab in Skill Studio and click Copy config next to the EasyChamp row.
  2. Paste the snippet into your ~/.claude.json under mcpServers.
  3. Export EASYCHAMP_API_KEY (from https://easychamp.com/account/api-keys) or set EASYCHAMP_DEMO=1 for a no-auth demo.

Detailed tool schemas are in references/schemas.md.

Workflow Example

1. easychamp_generate_league({ name: "Fall Cup", sport: "soccer", teamCount: 16, format: "double_elim" })
   → leagueId = "lg_fallcup"
2. easychamp_generate_tournament({ leagueId: "lg_fallcup", type: "double_elim" })
   → tournamentId = "tn_fallcup_main"
3. easychamp_generate_bracket({ tournamentId: "tn_fallcup_main" })
   → bracketId = "br_fallcup", rounds: [[Match, Match, ...], ...]
4. easychamp_create_schedule({ tournamentId: "tn_fallcup_main", startDate: "2026-09-01" })
   → scheduleId = "sc_fallcup", matches: [...]
5. easychamp_enter_results({ matchId: "m_1", homeScore: 3, awayScore: 1, winner: "home" })
   → { matchId: "m_1", finalized: true }

Safety

  • Never log or echo the EASYCHAMP_API_KEY. The copy-config snippet uses the ${EASYCHAMP_API_KEY} placeholder — fill it in from your environment, never paste the real value into chat.
  • Score entries are final; re-running easychamp_enter_results for a matchId that is already finalized returns a structured error.