Turniermeister — Tournament Engine
Turnier engine: AI prepares a real tournament (bracket, schedule) and returns a claim link.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"turniermeister": {
"url": "https://app.turniermeister.at/mcp"
}
}
}Puntos de conexión remotos
https://app.turniermeister.at/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (1)
🟡prepare_tournament(name, mode, competitionType, templateKey, teamCount, ...)
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-schnapsen). Do not guess unknown keys — omit it instead. - 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. - Validation problems come back as structured errors: fix your input from the error JSON 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).
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Tournament name as agreed with the user. Max 120 chars."
},
"mode": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "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."
},
"competitionType": {
"description": "Fixed to \"bracket\" — other competition types are not exposed yet.",
"type": "string",
"const": "bracket"
},
"templateKey": {
"description": "Optional catalog template key (e.g. preset-padel). Omit instead of guessing.",
"type": "string",
"maxLength": 120
},
"teamCount": {
"description": "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.",
"type": "integer",
"minimum": 2,
"maximum": 250
},
"participants": {
"description": "Participant names, ONLY when the user explicitly provided them. Stored encrypted and migrated at claim time.",
"maxItems": 64,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "Team or player name as given by the user."
},
"email": {
"description": "Optional contact email, only when the user supplied one.",
"type": "string",
"maxLength": 255
}
},
"required": [
"name"
]
}
},
"idempotencyKey": {
"type": "string",
"minLength": 8,
"maxLength": 120,
"description": "Unique key for this preparation request (UUID). Same key returns the same preparation instead of a duplicate."
},
"clientInfo": {
"description": "Optional free-form identifier of the calling agent, used for funnel attribution only.",
"type": "string",
"maxLength": 120
}
},
"required": [
"name",
"mode",
"idempotencyKey"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia