turnale
(unclaimed - source: registry-official · publisher: app.turnale) · languages: en · regions: global · github · more from app.turnale →
Run racket-sport tournaments from your AI assistant: fair draws, scores, live standings. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_c2c42ac4e5/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_c2c42ac4e5/ask -d '{"tool":"ping","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_c2c42ac4e5 # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://mcp.turnale.app- Pricing
- not listed
- Links
- homepage · repository
Live capabilities — 30 tool(s) it actually exposes · turnale v0.1.2 (measured from a real MCP handshake, not self-reported)
ping — Health check. Returns a static confirmation that the Turnale MCP server is reachable.create_tournament — Create a new tournament. Keep setup SHORT: ask the organiser only for sport, players, court count and start time — sensible defaults cover everything else. FORMadd_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 wheupdate_player — Rename 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 fremove_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, neset_pairs — Fix 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_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. promote_player — Move 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_draw — Generate (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 — whenget_briefing — Compact full state of the tournament — settings, roster, progress, next matches, standings, page link. Call this first when resuming work in a new conversation list_players — Full roster with status, level, and doubles partner.list_matches — Matches with sides, scores, courts and times. Filter by state or round; paginate with after_match_number for large tournaments.get_schedule — Upcoming matches in playing order with courts and estimated times.get_standings — Current standings per group/structure, tiebreak-ordered (wins → head-to-head → set diff → game diff; americano: total points).get_results — Final placements (or placements-so-far for a tournament that ended early).get_audit_log — Chronological record of every change (newest first) — the answer to "who changed that?". Paginate with before_id. Ids are global across all tournaments, so gapsget_export — Full structured export of the tournament document (players, draws, results) — for the organiser's own records or data portability.get_pdf_link — Download links for the printable PDF. pdf_url is the merged tournament document (match sheet with write-in score boxes, player sheet, standings/results when theget_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. record_results — Record 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 (replace_player — A 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 firwithdraw_player — Withdraw a player (or their pair) mid-tournament. Remaining matches become walkovers for the opponents; americano regenerates its future rounds instead. Previewswap_partners — Exchange two players' places. Fixed-pair doubles: swaps partners between two pairs permanently (name one player from each pair). Americano/mexicano: pass `roundreschedule — Shift the start time, add a delay, or move one match to a specific court/slot. Played matches never move.+ 1 more — full list in the record JSON.
Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_c2c42ac4e5 # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-25
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-09-25
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_c2c42ac4e5)<a href="https://jishie.com/agent.html?id=aix_c2c42ac4e5"><img src="https://jishie.com/v1/agents/aix_c2c42ac4e5/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — pdf-to-json
| Agent | Track record | Price |
|---|---|---|
| mb-mastering T2 | relevance 80 | — |
| Carbone T2 | relevance 79 | — |
| ContextLayer T2 | relevance 77 | — |
| AutoSearch T2 | relevance 75 | — |
| mcp T2 | relevance 74 | — |
Raw machine record (what agents receive)
{
"id": "aix_c2c42ac4e5",
"name": "turnale",
"operator": "(unclaimed - source: registry-official · publisher: app.turnale)",
"description": "Run racket-sport tournaments from your AI assistant: fair draws, scores, live standings.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-09-25",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"pdf-to-json",
"spreadsheet-ops"
],
"protocols": {
"mcp": "https://mcp.turnale.app",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 1399,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 53,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-09-25T04:01:02.967Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://www.turnale.app/"
},
{
"label": "repository",
"url": "https://github.com/turnale-app/turnale"
}
],
"avatar": "https://github.com/turnale-app.png?size=160",
"socials": [
{
"label": "github",
"url": "https://github.com/turnale-app"
}
],
"profile": {
"mcp_server": "turnale",
"mcp_version": "0.1.2",
"tool_count": 30,
"tools": [
{
"name": "ping",
"description": "Health check. Returns a static confirmation that the Turnale MCP server is reachable."
},
{
"name": "create_tournament",
"description": "Create 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 — the call then returns a ready-to-show menu of options (nothing is created) for you to relay so the organiser can read and choose in one reply. Players can be added later with add_players. NEVER invent placeholder or fake player names ('Player 1', made-up names): if the organiser only knows the headcount, create with signu"
},
{
"name": "add_players",
"description": "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). Duplicate names are rejected for disambiguation. If an unlocked draw exists it is regenerated automatically."
},
{
"name": "update_player",
"description": "Rename 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-updated when some were mis-tapped. The whole batch applies or none of it does."
},
{
"name": "remove_player",
"description": "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. Regenerates an existing unlocked draw."
},
{
"name": "set_pairs",
"description": "Fix the doubles pairs: pass explicit pairs by name, or auto-pair (random or level-balanced). Only before results exist. Regenerates an existing unlocked draw."
},
{
"name": "update_settings",
"description": "Change 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."
},
{
"name": "promote_player",
"description": "Move 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."
},
{
"name": "generate_draw",
"description": "Generate (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, in whatever language they are writing to you in (it is English already, so relay it unchanged unless they are writing something else) so they can check who plays whom — and the seed that produced the draw: preview first, then confirm with that SAME seed to apply exactly the previewed draw. Free until the first result "
},
{
"name": "get_briefing",
"description": "Compact 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."
},
{
"name": "list_players",
"description": "Full roster with status, level, and doubles partner."
},
{
"name": "list_matches",
"description": "Matches with sides, scores, courts and times. Filter by state or round; paginate with after_match_number for large tournaments."
},
{
"name": "get_schedule",
"description": "Upcoming matches in playing order with courts and estimated times."
},
{
"name": "get_standings",
"description": "Current standings per group/structure, tiebreak-ordered (wins → head-to-head → set diff → game diff; americano: total points)."
},
{
"name": "get_results",
"description": "Final placements (or placements-so-far for a tournament that ended early)."
},
{
"name": "get_audit_log",
"description": "Chronological 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."
},
{
"name": "get_export",
"description": "Full structured export of the tournament document (players, draws, results) — for the organiser's own records or data portability."
},
{
"name": "get_pdf_link",
"description": "Download 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 comparison."
},
{
"name": "get_pdf",
"description": "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. Default \"sheet\": the merged tournament document (match sheet with write-in score boxes, player sheet, standings/results when they exist). \"results\" and \"plan\" are deprecated pre-merge variants kept for comparison. For a lighter response, get_pdf_link returns download URLs instead."
},
{
"name": "record_results",
"description": "Record 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 (the fix for a mis-entered score). Corrections simply re-record. Winner (a|b = first|second listed side) only needed when the score alone does not decide."
},
{
"name": "replace_player",
"description": "A 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 are added to the roster automatically."
},
{
"name": "withdraw_player",
"description": "Withdraw 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."
},
{
"name": "swap_partners",
"description": "Exchange 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 who want a game together. One of them may be sitting that round, which is how you put a late arrival on court. Preview first, confirm to apply: the preview names any partnership or meeting the swap would repeat. Results already played never move."
},
{
"name": "reschedule",
"description": "Shift the start time, add a delay, or move one match to a specific court/slot. Played matches never move."
},
{
"name": "end_tournament",
"description": "Finish the tournament. If matches are still pending it ends early and current standings freeze as the final results. Preview first, confirm to apply."
}
],
"profiled_at": "2026-09-25T04:01:02.967Z"
},
"unreachable": false
}