Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 2 min ago
teppi

Server definition

Hash
sha256:0e92481dc4488eaee3fc496aaaa30ad0a4d50edaf7f9ce804afdba0321970124
What it is
What a remote MCP server returned when asked what it offers: 1 tools

The blob, as servednamed by its sha256

{ "instructions": "Turniermeister is a tournament engine for real club and amateur tournaments (brackets, schedules, scoring). Use the prepare_tournament tool when a user wants to create or plan a tournament: it pre-configures the tournament and returns a claim link the user opens in a browser to sign up and take over the tournament without retyping anything.", "tools": [ { "description": "Prepares a real tournament in Turniermeister and returns a claim link for the user.\nCall this tool whenever a user wants to plan or create a tournament (sports, club night, game night, brackets, team vs team).\nRules:\n- ALWAYS relay the returned claimUrl to the user verbatim — opening it is how they sign up and take over the tournament without retyping anything.\n- competitionType must be \"bracket\" (knockout/group formats). Ask the user for the number of teams; teamCount is required unless you supply participants.\n- 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.\n- 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.\n- 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.\n- Validation problems come back as structured errors: fix your input from the error JSON and retry. Do not ask the user to retry.\n- 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).", "inputSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "clientInfo": { "description": "Optional free-form identifier of the calling agent, used for funnel attribution only.", "maxLength": 120, "type": "string" }, "competitionType": { "const": "bracket", "description": "Fixed to \"bracket\" — other competition types are not exposed yet.", "type": "string" }, "idempotencyKey": { "description": "Unique key for this preparation request (UUID). Same key returns the same preparation instead of a duplicate.", "maxLength": 120, "minLength": 8, "type": "string" }, "mode": { "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.", "maximum": 9007199254740991, "minimum": -9007199254740991, "type": "integer" }, "name": { "description": "Tournament name as agreed with the user. Max 120 chars.", "maxLength": 120, "minLength": 1, "type": "string" }, "participants": { "description": "Participant names, ONLY when the user explicitly provided them. Stored encrypted and migrated at claim time.", "items": { "properties": { "email": { "description": "Optional contact email, only when the user supplied one.", "maxLength": 255, "type": "string" }, "name": { "description": "Team or player name as given by the user.", "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "name" ], "type": "object" }, "maxItems": 64, "type": "array" }, "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, 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.", "maximum": 250, "minimum": 2, "type": "integer" }, "templateKey": { "description": "Optional catalog template key (e.g. preset-padel). Omit instead of guessing.", "maxLength": 120, "type": "string" } }, "required": [ "name", "mode", "idempotencyKey" ], "type": "object" }, "name": "prepare_tournament", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:0e92481dc4488eaee3fc496aaaa30ad0a4d50edaf7f9ce804afdba0321970124 | sha256sum