← Registry

Game Development

turnale.app

Manages tournaments and player rosters for competitive gaming events.

1 endpoint30 known toolsFirst detected July 29, 2026Last detected August 29, 2026

ENDPOINT 1

https://mcp.turnale.app

No auth detected

MCP server metadata

Name
turnale
Version
0.1.2
Capabilities
tools.listChangedprompts.listChanged
Server instructions

Turnale runs recreational racket-sport tournaments end to end. Five things make one: SPORT · the PLAYER LIST or just a HEADCOUNT · SINGLES OR DOUBLES · the TIME BUDGET · SOCIAL OR COMPETITIVE. Ask for what you do not know yet, ONE question at a time. THAT IS A LIST OF THINGS TO LEARN, NOT A FORM TO FILL IN ORDER. Read every reply for whatever it answers, not for what you asked: 'competitive' settles the vibe, 'knockout' or 'americano' settles the format, 'tomorrow at 18:00' settles the time, a pasted list settles the players. Take it, tick it off, and move to the next unknown — even when it answers a question you had not asked yet. If a reply does not answer YOUR question it has almost certainly answered a different one, so look for that; repeating a question the organiser has already moved past is always wrong, and asking the same thing twice is the single worst thing you can do in this interview. Only two of the five must be settled before a format: the SPORT, and SINGLES OR DOUBLES (ASK it — never infer it from the sport; it decides which formats exist at all, since americano and mexicano are doubles). Everything else has a sensible default and can be changed later. A missing time budget is FINE — suggest_format works without one and assumes a normal evening; a tournament with no start time is FINE too. NEVER hold up a tournament over something optional: make the obvious assumption, create it, and say what you assumed. Headcount only → create with signup_open so players add themselves via the page link; NEVER invent placeholder names. NEVER ask an open 'which format?' question. If the format is unsettled or the organiser uses only tennis vocabulary, call suggest_format and relay the `menu` text that comes back to the organiser word for word — unchanged if they are writing English, translated only if they are writing something else, and NEVER into a language they have not used themselves — it already contains each option's one-line explanation and time math, so they can read and choose in one step. After create_tournament, LEAD with the shareable page link — that is what the organiser opens and shares with players (schedule, live standings, self-signup). COPY EVERY LINK A TOOL GIVES YOU EXACTLY as it came — same https://, same host, same path, character for character. Never retype one from memory, never add 'www.', never drop the scheme, never shorten or prettify it. A rewritten link is a broken link, and the organiser sends it to twenty people before anyone tries it. Mention the organiser key once, secondarily, with the cannot-be-recovered warning: it is only used to manage the tournament through this chat, never by players. Re-share the page link at key moments — draw generated, tournament started, results coming in, tournament ended (get_briefing returns it any time). Mutations are idempotent (request_id) and mistakes are reversible via undo_last_change — prefer preview, then confirm. Set language to the language the organiser is WRITING to you in when create_tournament's list supports it (Spanish → language: 'es'), so the page, PDFs and player emails follow (default English; never set it on a hunch — only from the language they actually use). Always write to the organiser in the language THEY are writing to you in, and never in one they have not used.

Known tools 30

ping

Health check.

Inferred read-only
create_tournament

Create a new tournament.

Potential side effects
add_players

Add players to the roster in bulk (parse pasted lists or spreadsheets yourself and send structured entries — never invent placeholder names; use signup mode when names aren't known yet).

Potential side effects
update_player

Rename a player or set their gender/level/note.

Inferred read-only
remove_player

Remove one or MANY players before any result is recorded (afterwards use withdraw_player or replace_player) — pass player_names to clear several in one call, never loop one-by-one.

Potential side effects
set_pairs

Fix the doubles pairs: pass explicit pairs by name, or auto-pair (random or level-balanced).

Inferred read-only
update_settings

Change the tournament name, start time, match duration, break/changeover minutes, courts (count or names), house rules, or courtside score entry from the page.

Inferred read-only
promote_player

Move a waitlisted player onto the active roster when a spot opens (signed-in players are notified by email).

Potential side effects
generate_draw

Generate (or regenerate) the draw and schedule.

Inferred read-only
get_briefing

Compact full state of the tournament — settings, roster, progress, next matches, standings, page link.

Inferred read-only
list_players

Full roster with status, level, and doubles partner.

Inferred read-only
list_matches

Matches with sides, scores, courts and times.

Inferred read-only
get_schedule

Upcoming matches in playing order with courts and estimated times.

Inferred read-only
get_standings

Current standings per group/structure, tiebreak-ordered (wins → head-to-head → set diff → game diff; americano: total points).

Inferred read-only
get_results

Final placements (or placements-so-far for a tournament that ended early).

Inferred read-only
get_audit_log

Chronological record of every change (newest first) — the answer to "who changed that?

Inferred read-only
get_export

Full structured export of the tournament document (players, draws, results) — for the organiser's own records or data portability.

Inferred read-only
get_pdf_link

Download links for the printable PDF.

Inferred read-only
get_pdf

The printable PDF itself, returned as a base64 embedded resource — use this when the organiser wants the file handed to them and your client cannot fetch URLs.

Inferred read-only
record_results

Record one or many results.

Inferred read-only
replace_player

A substitute takes over a player's spot.

Inferred read-only
withdraw_player

Withdraw a player (or their pair) mid-tournament.

Inferred read-only
swap_partners

Exchange two players' places.

Inferred read-only
reschedule

Shift the start time, add a delay, or move one match to a specific court/slot.

Inferred read-only
end_tournament

Finish the tournament.

Inferred read-only
undo_last_change

Roll the tournament back.

Inferred read-only
delete_tournament

Soft-delete the whole tournament (recoverable by support for 7 days, then gone).

Potential side effects
record_feedback

Record a request for something Turnale does not support yet (a format, scoring variant, or feature), so it can be considered for the roadmap.

Inferred read-only
suggest_format

Recommend tournament formats in plain language, with the round/time math done by the engine.

Inferred read-only
get_player_template

A blank Excel workbook the organiser fills in and hands back: Name, Level, Gender, Comments, one player per row, with a sheet explaining each column.

Inferred read-only

CONNECT WITH APPROVAL

Client installation

Review this server and its permissions before adding it. Secret placeholders must be set locally.

Codex

~/.codex/config.toml

[mcp_servers.turnale]
url = "https://mcp.turnale.app"
enabled = true
Claude Code

.mcp.json

{
  "mcpServers": {
    "turnale": {
      "type": "http",
      "url": "https://mcp.turnale.app"
    }
  }
}
Claude Desktop

Settings → Connectors → Add custom connector

Name: turnale
Remote MCP URL: https://mcp.turnale.app

Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.

Cursor

.cursor/mcp.json

{
  "mcpServers": {
    "turnale": {
      "url": "https://mcp.turnale.app"
    }
  }
}
Visual Studio Code

.vscode/mcp.json

Add to Visual Studio Code
{
  "servers": {
    "turnale": {
      "type": "http",
      "url": "https://mcp.turnale.app"
    }
  }
}
Generic MCP

Client-specific MCP configuration

{
  "name": "turnale",
  "transport": "streamable-http",
  "url": "https://mcp.turnale.app"
}
MCP Inspector

Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.

TRUST AND VERIFICATION EVIDENCE

Loading Trust v2 evidence…

Checking the associated registrable domain. The BuiltWith key remains server-side.

Indexed

Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.