Skip to main content
Glama

Turniermeister — Tournament Engine

Server Details

Turnier engine: AI prepares a real tournament (bracket, schedule) and returns a claim link.

Ownership verified
Status
Healthy
Uptime
99.8% over 41 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
MartyMcFlyJr/turniermeister
GitHub Stars
0

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

There is only one tool, so there is no possibility of misselection between overlapping tools. The single tool's purpose (prepare a tournament and hand back a claim link) is clearly stated and unambiguous.

Naming Consistency5/5

The lone name prepare_tournament follows a clean verb_noun snake_case pattern. With a single tool there is no convention mixing to penalize.

Tool Count3/5

One tool is borderline thin, even for a deliberately narrow handoff service. The tool carries a lot of parameter and rule complexity, but the surface offers no read, list, or management operations to round it out.

Completeness3/5

The surface covers exactly one lifecycle step: preparing a tournament and returning a claim link. Retrieving, updating, listing, or cancelling existing tournaments is entirely absent, though the design clearly delegates post-claim management to the Turniermeister web app.

Available Tools

1 tool
prepare_tournamentPrepare a Turniermeister tournamentInspect

Prepares a real tournament in Turniermeister and returns a claim link for the user. Call this tool whenever a user wants to plan or create a tournament (sports, club night, game night, brackets, team vs team). Rules:

  • ALWAYS relay the returned claimUrl to the user verbatim — opening it is how they sign up and take over the tournament without retyping anything.

  • competitionType must be "bracket" (knockout/group formats). Ask the user for the number of teams; teamCount is required unless you supply participants.

  • Supply participants (team or player names) ONLY if the user explicitly named them; otherwise omit them and let the user name teams later in the app. Never invent participant names.

  • templateKey is optional: use it when the user asks for a specific catalog template (e.g. preset-padel, preset-fussball, preset-eisstock, preset-schnapsen). For Eisstock use mode 2; its 128-team limit is available only with templateKey preset-eisstock. Do not guess unknown keys — omit it instead.

  • schedule is optional: pass fields, startTime (HH:MM), playingMinutes and pauseMinutes ONLY when the user named them. Never invent them. The tool does not know the user's dates or field layout beyond these values.

  • ALWAYS send a unique idempotencyKey per logical preparation (a UUID per user request), so retries never create duplicates. Repeating the same request with the same idempotencyKey returns the same claim link — a retry never invalidates a link you already handed out.

  • Business validation problems come back as structured JSON errors (ok=false, code, message, fixHint): fix your input from that JSON and retry. Schema violations (wrong type or value out of range) are rejected as a validation error naming the field (e.g. teamCount above the maximum): correct that argument and retry. Do not ask the user to retry.

  • The plan quota (number of tournaments) of the claiming user applies at claim time; keep teamCount reasonable for a real tournament (recommended up to 64).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesTournament mode as a numeric ITournamentMode value from the Turniermeister catalog. Values: 0 = knockout (single elimination), 1 = double elimination, 2 = single-day league, 3 = swiss system, 4 = multilevel knockout (placement tournament), 5 = league (round robin), 6 = ladder, 7 = point series, 8 = group stage + knockout, 9 = swiss system + knockout final, 10 = league + playoff final, 11 = best-of-N knockout, 12 = time trial (best time), 13 = time trial (combined), 14 = time trial (single run), 15 = time trial (average), 16 = team match. Default for knockout tournaments: 0. Unknown values are rejected.
nameYesTournament name as agreed with the user. Max 120 chars.
scheduleNoOptional schedule. Set only the values the user explicitly named; omitted values keep the app defaults and can be changed in the app after the takeover.
teamCountNoNumber of teams. Required unless participants are supplied. Must match participants length if both are given. The app supports up to 250 teams (8 for single-day league mode, or 128 with mode 2 and templateKey preset-eisstock); larger values are rejected during preparation. For real amateur tournaments keep it around 64 or below.
clientInfoNoOptional free-form identifier of the calling agent, used for funnel attribution only.
templateKeyNoOptional catalog template key (e.g. preset-padel). Omit instead of guessing.
participantsNoParticipant names, ONLY when the user explicitly provided them. Stored encrypted and migrated at claim time.
idempotencyKeyYesUnique key for this preparation request (UUID). Same key returns the same preparation instead of a duplicate.
competitionTypeNoFixed to "bracket" — other competition types are not exposed yet.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedprepare_tournament1 field changed
      • addedInput schema / properties / schedule
        Added value: +{
        +  "description": "Optional schedule. Set only the values the user explicitly named; omitted values keep the app defaults and can be changed in the app after the takeover.",
        +  "properties": {
        +    "fields": {
        +      "description": "Number of playing fields (1-20). Only if the user named it.",
        +      "maximum": 20,
        +      "minimum": 1,
        +      "type": "integer"
        +    },
        +    "pauseMinutes": {
        +      "description": "Break between matches in minutes (0-120). Only if the user named it.",
        +      "maximum": 120,
        +      "minimum": 0,
        +      "type": "integer"
        +    },
        +    "playingMinutes": {
        +      "description": "Playing time per match in minutes (1-360). Only if the user named it.",
        +      "maximum": 360,
        +      "minimum": 1,
        +      "type": "integer"
        +    },
        +    "startTime": {
        +      "description": "Tournament start time in 24h format \"HH:MM\", e.g. \"09:00\". Only if the user named it.",
        +      "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
  2. 1 tool update
    • Changedprepare_tournament1 field changed
      • changedInput schema / properties / teamCount / description
        Previous value: -"Number of teams. Required unless participants are supplied. Must match participants length if both are given. The app supports up to 250 teams (8 for single-day league mode); larger values are rejected during preparation. For real amateur tournaments keep it around 64 or below."New value: +"Number of teams. Required unless participants are supplied. Must match participants length if both are given. The app supports up to 250 teams (8 for single-day league mode, or 128 with mode 2 and templateKey preset-eisstock); larger values are rejected during preparation. For real amateur tournaments keep it around 64 or below."
  3. 1 tool update
    • Changedprepare_tournament2 fields changed
      • changedInput schema / properties / teamCount / description
        Previous value: -"Number of teams. Required unless participants are supplied. Must match participants length if both are given. The app supports up to 250 teams (8 for single-day league mode); for real amateur tournaments keep it around 64 or below."New value: +"Number of teams. Required unless participants are supplied. Must match participants length if both are given. The app supports up to 250 teams (8 for single-day league mode); larger values are rejected during preparation. For real amateur tournaments keep it around 64 or below."
      • changedInput schema / properties / teamCount / maximum
        Previous value: -256New value: +250
  4. 1 tool update
    • Changedprepare_tournament2 fields changed
      • changedInput schema / properties / mode / description
        Previous value: -"Tournament mode as a numeric ITournamentMode value from the Turniermeister catalog (agent reference: 0 = single elimination bracket default)."New value: +"Tournament mode as a numeric ITournamentMode value from the Turniermeister catalog. Values: 0 = knockout (single elimination), 1 = double elimination, 2 = single-day league, 3 = swiss system, 4 = multilevel knockout (placement tournament), 5 = league (round robin), 6 = ladder, 7 = point series, 8 = group stage + knockout, 9 = swiss system + knockout final, 10 = league + playoff final, 11 = best-of-N knockout, 12 = time trial (best time), 13 = time trial (combined), 14 = time trial (single run), 15 = time trial (average), 16 = team match. Default for knockout tournaments: 0. Unknown values are rejected."
      • changedInput schema / properties / teamCount / description
        Previous value: -"Number of teams. Required unless participants are supplied. Must match participants length if both are given."New value: +"Number of teams. Required unless participants are supplied. Must match participants length if both are given. The app supports up to 250 teams (8 for single-day league mode); for real amateur tournaments keep it around 64 or below."
  5. 1 tool update
    • First observedprepare_tournament

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Tournament software for tennis, padel, pickleball and more: fair draws, live standings, scores and dropout handling.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to the Start.gg GraphQL API for querying tournament information, event standings, and player statistics. It also enables bracket management tasks like retrieving match sets and reporting winners through natural language.
    1
    Apache 2.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables MCP clients to discover tournaments, inspect events, entrants, sets, standings, and streams for any game on start.gg using natural language.
    15
    42 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.