Run recreational racket-sport tournaments from chat.
This repository holds the client integration manifests for Turnale — the Claude Code
plugin, the Gemini CLI extension, and the organiser skill. The server itself is a hosted
service at https://mcp.turnale.app and is not open source.
Turnale lets an organiser run an entire recreational tournament by talking to their AI assistant. Tell it who's playing and you get a fair draw, a schedule, and a shareable web page with live standings that players follow from their phones.
Tennis, padel, pickleball, badminton, squash and table tennis.
Americano and mexicano (rotating-partner doubles), round robin, groups + playoff, and knockout with an optional 3rd-place match — as singles or fixed pairs, with random or level-balanced pairing. The assistant explains the options with the round and time maths already done by the engine.
Dropouts, substitutions, partner swaps, late arrivals, court changes, and ending early with the standings frozen as the final result. Every change can be previewed before it lands and undone afterwards.
Walkovers and retirements are recorded as exactly that, and the games actually played still count towards the standings.
The shareable page carries the order of play, live scores, standings and self-signup, with an optional cap and waitlist. Printable order-of-play and results PDFs cover the clubhouse noticeboard.
Point your assistant at https://mcp.turnale.app and start straight away.
{
"mcpServers": {
"turnale": {
"type": "http",
"url": "https://mcp.turnale.app"
}
}
}Creating a tournament returns an unguessable organiser key plus the shareable page link. The key is the only credential and is relayed in chat with a cannot-be-recovered warning; the page link on its own is view-only.
Per-platform connect steps for Claude, ChatGPT, Le Chat, Perplexity, Grok and the Gemini CLI are at turnale.app/docs.
/plugin marketplace add turnale-app/turnale
/plugin install turnale
gemini extensions install https://github.com/turnale-app/turnale
- Run a padel americano for 12 players on 3 courts, 2 hours.
- Set up Thursday's tennis night — no player list yet, let people sign up via a link.
- Jonas can't come, replace him with Emil from round 3.
- Court 1: 9–7, Court 2: 11–5. Who plays whom next?
- We have to stop early — freeze the standings and give me the final results.