Skip to main content
Glama

turnale

Undo changes

undo_last_change
Destructive

Roll 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, so a burst of unwanted calls unwinds with a single revert. Preview lists exactly what would be discarded; confirm: true applies. A follow-up plain undo restores what the previous undo discarded.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoOmit or false: return a preview of what would change. True: apply it.
request_idNoOptional idempotency id — retrying a call with the same id never applies it twice
to_change_idNoA change id from get_audit_log — restore to just before this change, discarding it and everything after it. Omit to undo only the latest change.
tournament_keyYesThe tournament's organiser key (starts with tk_)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
previewNoTrue when this is a preview — nothing was changed
summaryYesWhat happened, in one line
discardedYesEvery change this rollback discards, oldest first
undone_atYes
undone_toolYesTool behind the earliest discarded change
undone_summaryYes
discarded_countYes

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, and the description adds substantial behavioral detail: what gets discarded (the change and everything later), how preview works before applying, and that a follow-up undo restores the previously discarded changes. It also notes that changes can come from tool calls or courtside page entries, providing context beyond the annotations. This richly informs the agent about consequences and state transitions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise yet comprehensive, with a clear structure: overview sentence, conditional behavior for the two modes, preview/confirm explanation, and the redo follow-up note. Every sentence earns its place, and the information is front-loaded, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex with multiple modes, a preview mechanism, and a redo behavior. The description covers all these aspects and provides necessary context about change tracking origins. It references get_audit_log for obtaining change IDs, which integrates well with sibling tools. Given the rich output schema and annotations, the description is complete enough for the agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides 100% parameter coverage with clear descriptions. The description reinforces the semantics of to_change_id and confirm but does not add significant new meaning beyond what the schema states. Since schema coverage is high, a baseline of 3 is appropriate; the description adds minimal extra value for parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Roll the tournament back') and identifies the resource (tournament state). It distinguishes between two modes (undo latest vs. undo to a specific change), which differentiates it from any potential sibling tools. The reference to get_audit_log for obtaining change IDs further clarifies its role within the toolset.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: when to omit to_change_id (undo most recent change) and when to include it (undo a burst of unwanted changes). It also explains the preview/confirm flow and the redo behavior. While it doesn't explicitly list alternative tools, the conditions for use are well-defined and sufficient for the agent to decide when to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation3/5

Several tools serve overlapping purposes: get_pdf and get_pdf_link both return PDF artifacts, get_schedule and list_matches both provide match scheduling info, and get_results vs. get_standings can be confused for finished tournaments. However, the descriptions clarify the distinctions (embedded vs. link, upcoming vs. all matches, final vs. current standings), and roster-management tools are clearly separated by action.

Naming Consistency5/5

All 30 tools consistently use lowercase snake_case with a verb_noun pattern (e.g., create_tournament, record_results, withdraw_player). The only slight variation is the mix of get_* and list_* for read operations, but that's a common and predictable convention. There are no camelCase or inconsistent verb styles.

Tool Count2/5

With 30 tools, the server exceeds the 'too many' threshold of 25. While the domain is complex, this count is heavy and may overwhelm agents, especially since several tools could be consolidated (e.g., get_pdf/get_pdf_link, get_schedule/list_matches). A more streamlined set around 20 tools would be more appropriate.

Completeness5/5

The tool set provides comprehensive lifecycle coverage for tournament management: create/delete/end tournaments, manage players (add, remove, replace, withdraw, promote, update), generate draws, record results, handle doubles pairs, reschedule, retrieve standings/schedule/results, export/PDF, audit log, undo changes, and feedback. No major gaps are apparent for the stated purpose.