Organize racket-sport tournaments with fair draws, live scoring and standings from your AI assistant.
Turnale runs tournament management for racket sports like tennis and table tennis. Muse can create tournaments, manage player rosters, generate draws and schedules, record match results, and display live standings and final rankings.
Try asking Muse: "Set up a round-robin table tennis tournament for 12 players on Saturday at 2pm with 3 courts."
Source: Found in the official MCP Registry (app.turnale/turnale) · First listed September 24, 2026
Each bar is one check, every 15 minutes. Green means it answered. Last checked 2 h ago.
What Muse can see: It does not ask you to sign in, so it cannot see your accounts. It only sees what Muse sends it from your request.
Before it acts: Read what Muse plans to do before you approve it, and remove the app from Muse when you stop using it.
musedirectory.ai is not part of Meta. More about how Muse handles your information
Not in Muse's Connectors list yet, but Muse can still use it. Copy the request below and paste it into Muse. Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
https://mcp.turnale.app/Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
Response time at the last check: 381ms. Worked in 100% of checks over 30 days.
Screened, no issues found
Screening looks for known threats and hidden instructions at the time of the check, and runs again weekly and whenever the tool list changes. It cannot see the server's code, so only connect what you need and review what Muse asks to do. How screening works.
pingHealth check. Returns a static confirmation that the Turnale MCP server is reachable.create_tournamentCreate a new tournament. Keep setup SHORT: ask the organiser only for sport, players, court count and start time — sensible defaults cover everything else. FORMAT: never ask an open 'which format?' question. If the organiser clearly named one, pass it; otherwise omit format — theadd_playersAdd 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). Duplicate names are rejected for disambiguation. If an unlocked draw exists it is regeneratedupdate_playerRename a player or set their gender/level/note. Updates MANY in one call: pass `updates` with one object per player and never loop one-by-one — setting levels for a whole roster used to be one call per player, which on a phone meant approving each one and left the roster half-updremove_playerRemove 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. Regenerates an existing unlocked draw.set_pairsFix the doubles pairs: pass explicit pairs by name, or auto-pair (random or level-balanced). Only before results exist. Regenerates an existing unlocked draw.update_settingsChange the tournament name, start time, match duration, break/changeover minutes, courts (count or names), house rules, or courtside score entry from the page. Court changes recompute the remaining schedule; played matches never move.promote_playerMove a waitlisted player onto the active roster when a spot opens (signed-in players are notified by email). The cap can be raised with update_settings.generate_drawGenerate (or regenerate) the draw and schedule. This IS the start action: the first draw moves the tournament from setup to active and closes self-signup — when the organiser says "start the tournament", call this. The result includes rounds_text — SHOW it to the organiser as-is,get_briefingCompact full state of the tournament — settings, roster, progress, next matches, standings, page link. Call this first when resuming work in a new conversation with just the key.list_playersFull roster with status, level, and doubles partner.list_matchesMatches with sides, scores, courts and times. Filter by state or round; paginate with after_match_number for large tournaments.get_scheduleUpcoming matches in playing order with courts and estimated times.get_standingsCurrent standings per group/structure, tiebreak-ordered (wins → head-to-head → set diff → game diff; americano: total points).get_resultsFinal placements (or placements-so-far for a tournament that ended early).get_audit_logChronological record of every change (newest first) — the answer to "who changed that?". Paginate with before_id. Ids are global across all tournaments, so gaps between ids are normal.get_exportFull structured export of the tournament document (players, draws, results) — for the organiser's own records or data portability.get_pdf_linkDownload links for the printable PDF. pdf_url is the merged tournament document (match sheet with write-in score boxes, player sheet, standings/results when they exist) — hand this to the organiser. results_pdf_url and plan_pdf_url are deprecated pre-merge variants kept for compaget_pdfThe 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. Default "sheet": the merged tournament document (match sheet with write-in score boxes, player sheet, standings/results record_resultsRecord one or many results. Score is conversational text: "6-4 3-6 10-7" (sets) or "16-8" (americano points). Outcomes: completed (default), walkover, retired (partial score allowed), cancelled, reinstate — reinstate CLEARS a recorded result and returns the match to scheduled (threplace_playerA substitute takes over a player's spot. During play: slot takeover — completed results stay, the change is shown ("Anna, for Kristjan from R3"). Before the first result: choose mode slot_swap (default) or regenerate (re-pair and redraw using levels). Unknown substitute names arewithdraw_playerWithdraw a player (or their pair) mid-tournament. Remaining matches become walkovers for the opponents; americano regenerates its future rounds instead. Preview first, confirm to apply.swap_partnersExchange two players' places. Fixed-pair doubles: swaps partners between two pairs permanently (name one player from each pair). Americano/mexicano: pass `round` to swap two players' places in ONE unplayed round — the courtside patch for a late arrival, an injury, or two friends rescheduleShift the start time, add a delay, or move one match to a specific court/slot. Played matches never move.end_tournamentFinish the tournament. If matches are still pending it ends early and current standings freeze as the final results. Preview first, confirm to apply.undo_last_changeRoll the tournament back. Without to_change_id: restore exactly how it was before the most recent change (tool call or courtside page entry). With to_change_id (an id from get_audit_log): restore to just before that change — it and every later change are discarded in one step, sodelete_tournamentSoft-delete the whole tournament (recoverable by support for 7 days, then gone). Preview first; confirm: true to apply.record_feedbackRecord a request for something Turnale does not support yet (a format, scoring variant, or feature), so it can be considered for the roadmap. Call this only when the organiser asked for something unsupported AND agreed to have it noted. Describe the missing capability in general suggest_formatRecommend tournament formats in plain language, with the round/time math done by the engine. Call this FIRST when the organiser has not named a format, names one hesitantly, or comes from a background where americano/mexicano need explaining — then relay the `menu` text as-is insget_player_templateA blank Excel workbook the organiser fills in and hands back: Name, Level, Gender, Comments, one player per row, with a sheet explaining each column. Offer it when the organiser has no list ready, asks how to send their players, or would rather work in a spreadsheet than paste nahttps://mcp.turnale.app/Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Turnale to help me. It is a free service with an MCP server at https://mcp.turnale.app/. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.
At the last check (September 28, 2026, 07:15 UTC) the endpoint was working, answering in 381ms. Over the last 7 days it answered 100% of health checks. It is checked every 15 minutes.
It was screened on September 24, 2026 with the result "screened, no issues found". Screening checks the domain against threat feeds and reads the tools for hidden instructions and requests for passwords or card numbers. It cannot see the server's code, so grant only the access you need.
It exposes 30 tools, including ping, create_tournament, add_players, update_player. For example, you could ask Muse: "Set up a round-robin table tennis tournament for 12 players on Saturday at 2pm with 3 courts."
This listing was added from public sources (Found in the official MCP Registry (app.turnale/turnale)). If you build Turnale, claim it to correct the details and get your badge.
Paste this on your site or README. It always shows the latest check.
<a href="https://musedirectory.ai/connector/turnale"><img src="https://musedirectory.ai/badge/turnale.svg" alt="Turnale on musedirectory.ai" width="236" height="40"></a>