Skip to main content
Glama

Whistle.day - Tournament organizer

Server Details

Free tournament organiser for humans & AI agents — set up, draw brackets, score matches, and run hall projector displays by prompt.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

TDQS

B3.3/5.0

Scored across 21 tools

Disambiguation4/5

Most tools target distinct resource+action pairs and descriptions clarify overlapping ones well. The stage cluster (create_stage, generate_stage, resolve_stage, get_stage, list_stages) and the various get_/list_ variants are distinguishable via their descriptions, though an agent must read carefully to avoid misselection between create vs generate vs resolve on stages.

Naming Consistency5/5

All 21 tools follow a strict snake_case verb_noun pattern (add_court, create_stage, generate_stage, get_fixture, list_pools, update_fixture, publish_tournament, resolve_stage). The verb vocabulary is small and used consistently.

Tool Count4/5

21 tools is on the heavy side, but the domain spans several distinct entities (tournaments, courts, entries, stages, pools, fixtures, standings, displays, handoffs) that each need their own verbs. Each tool earns its place and the surface is not padded.

Completeness3/5

Core lifecycle (create tournament/court/entry/stage, generate fixtures, score them, resolve standings, publish) is well covered. However updates/deletes are sparse: fixtures can be updated but entries, courts, stages, and tournaments cannot be edited or removed, which will cause dead ends for dropouts, corrections, or cleanup.

Available Tools

21 tools
add_courtA
Destructive
Inspect

Add a court, pitch or table. Courts are what the schedule puts matches on and what the projector groups them by, so a tournament with none can be played but not organised: update_fixture's court argument has nothing to point at.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesCourt name, e.g. 'Court 1'
positionNoOrder on the screen, 0-based (default: after the last one)
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the mutation profile is covered. The description adds domain context (a tournament can exist without courts but cannot be organised) but says nothing about permissions, duplicate handling, or what happens on re-adding, so it adds moderate value over the annotations.

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

Conciseness4/5

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

Two sentences, front-loaded with the core action. The second sentence is somewhat elaborate in explaining the organisational consequence, but it earns its place by justifying why courts matter rather than padding.

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

Completeness4/5

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

For a simple creation tool with no output schema and full schema coverage, the description supplies enough domain rationale to call it correctly. It could be stronger on edge cases (duplicate names, position defaults) but covers the essentials.

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?

Schema coverage is 100%, so all four parameters (name, position, session_token, tournament_id) are already documented, giving a baseline of 3. The description only ties courts back to update_fixture's court argument and adds no format or constraint detail beyond the schema.

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?

States a specific verb (Add) and resource (court, pitch or table), and explicitly distinguishes its role from siblings like update_fixture, whose court argument depends on this data. An agent can tell what it creates and why it matters without opening the schema.

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?

Gives clear context for when courts are needed (the schedule places matches on them, the projector groups by them), implying use before scheduling fixtures. It does not explicitly name read alternatives like list_courts or state prerequisites, so it falls short of a 5.

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

add_entryC
Destructive
Inspect

Add a team/participant to a tournament

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTeam name
seedYesSeed (position)
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing on top: it does not warn that repeated calls create duplicate entries (non-idempotent) or that this mutates tournament state.

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

Conciseness4/5

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

A single short sentence with zero wasted words and the action front-loaded. It is efficient, though arguably too sparse rather than excessively long.

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

Completeness2/5

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

This is a non-idempotent, destructive write with four required parameters and no output schema; the description should at least note duplicate-entry behavior or dependencies on a pre-existing tournament. As written, an agent has enough to attempt the call but not enough to use it safely.

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?

Schema description coverage is 100%, so all four parameters (team name, seed, session_token, tournament_id) are documented in the schema. The description's 'team/participant' phrasing marginally clarifies what 'name' means but adds no format or constraint detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Add') and resource ('team/participant to a tournament'), which is enough to distinguish it from siblings like add_court or create_tournament. It is clear but does not explicitly contrast itself with any alternative sibling.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention that a tournament must already exist or that the session_token must come from create_tournament (only the schema says that). The agent gets no help deciding between add_entry and alternatives.

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

create_displayA
Destructive
Inspect

Create a projector display screen for a published tournament

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDisplay name (default: Main screen)
tokenNoURL token (default: auto-generated)
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already disclose the safety profile (destructiveHint=true, idempotentHint=false, openWorldHint=true), so the bar is lower. The description adds the published-tournament precondition, but does not disclose what a destructive create implies, what gets torn down, or any auth/rate details beyond the session_token parameter.

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?

A single front-loaded sentence with no wasted words; the resource and scope are immediately clear.

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

Completeness3/5

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

For a create tool with no output schema, the description covers the core action and a key precondition, and annotations carry the safety profile. It is minimally adequate but omits what happens on failure or what the created display returns.

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?

Schema description coverage is 100%, so the schema already documents all four parameters including defaults for name and token. The description adds no parameter-level meaning, so baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb ('Create') and resource ('projector display screen') with a qualifying scope ('for a published tournament'). An agent can tell it apart from siblings like create_tournament or create_stage, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

The phrase 'for a published tournament' implies a precondition (the tournament must already be published), which is useful context. However, there is no explicit when-to-use/when-not guidance and no mention of alternatives.

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

create_handoffA
Destructive
Inspect

Make a link that hands this tournament to a person. They open it, set an email and a password, and the account this session has been acting as becomes theirs. Single use, and it expires. Afterwards this session_token stops working — which is the point, so hand it over when the tournament is ready rather than when you are still building it.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare destructive/non-idempotent/open-world, and the description goes well beyond them by spelling out exactly what is destroyed: the link is single use, it expires, and the acting session_token stops working afterwards. It even explains the intent ('which is the point'), which is genuinely useful for an agent weighing whether to call it.

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?

Three tight sentences, no filler; the mechanism comes first, then the lifecycle constraints, then the timing advice. Every sentence carries distinct information.

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?

With only two required string parameters and no output schema, the description covers the full decision surface: what it creates, that it is one-shot and expiring, and the irreversible side effect on the session. Nothing an agent needs before calling it is missing.

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?

Schema coverage is 100% and both parameters are self-describing (session_token 'returned by create_tournament', tournament_id). The description adds no parameter-level detail, so the baseline 3 applies.

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?

States a specific verb and artifact ('make a link that hands this tournament to a person'), plus the concrete flow that follows (recipient sets email/password and takes over the account). No sibling tool covers handoff, so it is unambiguously distinct from create_tournament, publish_tournament, and the get/list tools.

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?

Gives explicit timing guidance: hand it over when the tournament is ready, not while still building. It does not need to name an alternative because no sibling performs a similar function, but it stops short of stating prerequisites or what happens if invoked early.

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

create_stageC
Destructive
Inspect

Create a stage in a tournament (e.g. round_robin group)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesStage name, e.g. 'Group' or 'Playoff'
configNoJSON config, e.g. {"poolCount":1}
formatYesFormat: round_robin, single_elim, double_elim, swiss
positionYesStage position (0-based)
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare destructiveHint=true, openWorldHint=true, and non-idempotent, implying meaningful side effects. The description says nothing about what the stage creation does to existing tournament state, whether it needs a published/unpublished tournament, or what permissions the session_token must carry. With a destructive write operation, this is a notable gap.

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?

A single short sentence with an embedded example. No waste, front-loaded verb and resource.

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

Completeness2/5

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

For a destructive, non-idempotent, open-world write with no output schema, the description omits workflow ordering, prerequisites, side effects, and the distinction from sibling tools like generate_stage. It is too sparse for the operation's complexity.

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?

Schema description coverage is 100%, so all six parameters are documented in the schema itself, including format enum values and config JSON shape. The description adds no parameter detail beyond the schema. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource: 'Create a stage in a tournament' with an example format. This distinguishes it from siblings like generate_stage or resolve_stage, though the description doesn't explain how create_stage differs from generate_stage, which seem adjacent in purpose.

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

Usage Guidelines2/5

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

No guidance on when to use this versus generate_stage or resolve_stage, both siblings that also deal with stages. No prerequisites or ordering mentioned. The agent must infer that a tournament must exist first.

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

create_tournamentA
Destructive
Inspect

Create a tournament. The only tool that needs no session_token: it makes an account for this tournament and returns the session_token for it, which every other tool then requires. Keep that token — it is the only way back to this tournament, and it is not recoverable.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTournament name
sportNoWhat is being played: volleyball, football, basketball, other. This decides the points, whether a draw is a result at all, and how many sets a match is played to — so getting it wrong scores the whole day wrong. Defaults to "other", which is a generic table rather than a guess.

TDQS

A4.3/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the auth model (creates an account, no token required on input), the return value's significance, and the critical irreversible property that the token is unrecoverable. It does not elaborate on the destructiveHint=true implication, but the irrecoverability warning is meaningful behavioral context.

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?

Three sentences, front-loaded with the core action, then the workflow dependency, then the critical warning. Every sentence earns its place with no filler.

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?

With no output schema, the description correctly compensates by explaining that the tool returns a session_token and why that value matters. For a creation entry-point tool, the agent has everything needed to call it and handle its result.

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?

Schema description coverage is 100%, so both parameters including the meaning-bearing 'sport' enum are already documented in the schema. The description adds no parameter-level meaning, so the baseline of 3 applies.

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?

States a specific verb+resource ('Create a tournament') and then explicitly differentiates itself from all siblings by being the only tool that needs no session_token. An agent can immediately tell this is the entry point.

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?

Explains the surrounding workflow clearly: this is called first, it returns the session_token that every other tool requires, so it is the mandatory starting point. It lacks an explicit 'do not call this if you already have a token — use get_tournament instead' exclusion, but the routing context is strong.

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

generate_stageA
Destructive
Inspect

Generate pools, slots and fixtures for a stage. Use dry_run=true to preview without saving.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoPreview only, don't write anything
stage_idYesStage ID
session_tokenYesThe session_token returned by create_tournament

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already flag destructiveHint=true and non-idempotent, so the write risk is known without the text. The description adds useful context by exposing the dry_run preview path, but never says what generation overwrites or replaces on an already-populated stage — the key destructive question for this tool.

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?

Two short sentences, zero filler, with the destructive operation stated first and the safety mechanism immediately after. Nothing needs trimming.

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

Completeness3/5

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

With no output schema, the agent gets no picture of what a successful generation returns (pools/slots/fixture counts), and no note on whether existing pools or fixtures are replaced. Adequate for a simple call, but incomplete for a destructive generator with a two-parameter prerequisite chain.

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?

Schema description coverage is 100%, and the schema already documents dry_run as 'Preview only, don't write anything'; the description merely restates that. No added meaning for stage_id or session_token, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (generate) and the concrete artifacts produced (pools, slots and fixtures) scoped to a stage, which distinguishes it from create_stage and resolve_stage by outcome. It stops short of naming a sibling or contrasting with them explicitly, so it lands at 4 rather than 5.

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

Usage Guidelines3/5

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

The description gives one actionable usage rule: dry_run=true to preview before writing. However, it offers no guidance on when to generate versus create a stage, re-generate, or resolve a stage, leaving workflow ordering to inference.

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

get_fixtureC
Destructive
Inspect

Get a fixture by ID with games

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFixture ID
session_tokenYesThe session_token returned by create_tournament

TDQS

C2.7/5.0
Behavior1/5

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

The description reads as a pure retrieval operation, yet annotations declare readOnlyHint=false and destructiveHint=true. That is a direct conflict that would mislead an agent about the tool's side effects, and the description adds no other behavioral context (auth via session_token, error cases).

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

Conciseness4/5

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

A single six-word sentence with the key qualifier ('by ID') front-loaded and no filler. It is efficient, though it errs toward under-specification rather than earning real conciseness.

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

Completeness2/5

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

There is no output schema and no annotation coverage an agent can trust, so the description should carry the burden for a getter that includes nested 'games' data. It omits the shape of the returned fixture, the auth requirement, and error behavior, and it leaves the safety profile contradictory.

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?

Schema description coverage is 100%, so both parameters (id and session_token) are already fully documented in the schema. The description only restates 'by ID' and adds nothing about the required session_token or ID format; per the rubric, a 3 is the baseline when the schema does the work.

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

Purpose4/5

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

Names a specific verb and resource ('Get a fixture by ID') and adds the returned payload ('with games'), so an agent knows this is a single-fixture lookup rather than a list. It does not explicitly distinguish itself from the sibling list_fixtures or get_stage, but 'by ID' makes the distinction reasonably inferable.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and never names an alternative such as list_fixtures for browsing multiple fixtures. Usage is only implied by 'by ID'.

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

get_stageC
Destructive
Inspect

Get a stage by ID with its pools

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesStage ID
session_tokenYesThe session_token returned by create_tournament

TDQS

C2.9/5.0
Behavior1/5

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

Annotations declare readOnlyHint=false and destructiveHint=true, yet the description presents this as a simple read ('Get a stage'). The description contradicts the annotations by framing a destructive, non-read-only operation as retrieval. This is an Annotation Contradiction.

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

Conciseness4/5

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

A single, efficient, front-loaded sentence with no wasted words. However, it is too short to carry the behavioral load required by the destructive annotation.

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

Completeness2/5

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

For a tool with destructiveHint=true and no output schema, the description should explain what gets destroyed or mutated, required permissions, and side effects. Instead it reads as a harmless getter, leaving an agent unprepared for the destructive behavior.

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?

Schema coverage is 100%, so both parameters (id, session_token) are already documented in the schema. The description adds 'with its pools' but no parameter-level meaning beyond the schema baseline. Baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb and resource ('Get a stage by ID') and clarifies the scope with 'with its pools', distinguishing it from get_stage_table and list_stages. Lacks explicit sibling routing but the resource is unambiguous.

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

Usage Guidelines3/5

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

The phrase 'by ID' implies you must have a stage ID, and 'with its pools' implies this is a richer read than a bare stage fetch. But there is no explicit when-to-use versus get_stage_table or list_stages, leaving usage to inference.

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

get_stage_tableA
Destructive
Inspect

Get a stage's cross-pool table: every pool's first place, then every second, then every third, ranked within each of those tiers. This is what "the best third-placed teams" is decided on, and what a stage_rank slot reads. Provisional until every pool in the stage has finished — readable throughout, but nothing is seeded from it until then.

ParametersJSON Schema
NameRequiredDescriptionDefault
stage_idYesStage ID
session_tokenYesThe session_token returned by create_tournament

TDQS

A3.6/5.0
Behavior1/5

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

The description frames this as a pure read ('Get... readable throughout'), while the annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false. A destructive, non-read-only operation is irreconcilable with fetching a ranking table, so the agent gets conflicting signals about safety. Flagged as an annotation contradiction.

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?

Three sentences, each earning its place: what the table is, what it feeds, and its provisional status. The defining content is front-loaded and there is no filler.

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

Completeness4/5

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

With no output schema, the description carries the burden of explaining returns and does so well by describing the tier structure and the provisional caveat. It is thin on authorization/error behavior for a session_token-gated tool, but the domain semantics are otherwise complete.

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?

Both parameters (stage_id, session_token) are fully documented in the schema at 100% coverage, so the baseline is 3. The description adds no format, scoping, or identifier guidance beyond what the schema already provides.

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?

States a specific verb ('Get') and a precisely defined resource ('a stage's cross-pool table'), then enumerates its exact ordering semantics (first places, then seconds, then thirds, ranked within tier). This is detailed enough to distinguish it from sibling reads like list_standings or get_stage without opening their schemas.

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?

Gives real usage context: it names the decision it feeds ('the best third-placed teams') and the slot that reads it (stage_rank). It also states the availability window ('readable throughout, but nothing is seeded from it until [all pools finish]'). No sibling alternative is named explicitly, so it falls short of a 5.

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

get_tournamentC
Destructive
Inspect

Get a tournament by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesTournament ID
session_tokenYesThe session_token returned by create_tournament

TDQS

C2.7/5.0
Behavior1/5

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

The description says 'Get', implying a safe read operation, but the annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false. This directly contradicts the natural meaning of the description and leaves the agent with no reliable behavioral signal.

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

Conciseness4/5

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

The description is a single short sentence with no wasted words and is front-loaded. However, given the contradictory annotations, this extreme brevity leaves important behavioral context unaddressed.

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

Completeness2/5

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

For a simple retrieval tool with full schema coverage and no output schema, the bare description might normally suffice. But the annotations contradict the read-only implication, and the description does nothing to resolve or explain that inconsistency, leaving agents potentially misled.

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?

Schema description coverage is 100%, and both parameters are documented there, including the session_token requirement. The description adds only 'by ID', which is already conveyed by the schema, so baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('tournament') with an ID-based scope. It does not explicitly differentiate itself from sibling retrieval tools such as get_stage or get_fixture, nor from list_tournaments, but the resource name makes the basic purpose clear.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus list_tournaments or other retrieval siblings. The description provides no prerequisites, exclusions, or contextual triggers beyond the implication that an ID is required.

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

list_courtsC
Destructive
Inspect

The courts a tournament is played on. Their ids are what update_fixture's court argument takes.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare destructiveHint=true, readOnlyHint=false, openWorldHint=true and idempotentHint=false, and the description explains none of this for a tool named like a plain listing. It offers no return shape, ordering, pagination, or authorization context, so an agent gets no behavioral signal beyond the structured hints.

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

Conciseness4/5

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

Two short sentences, no filler, and the resource statement is front-loaded ahead of the cross-tool pointer. It is lean without being truncated, though the first fragment is under-specified rather than maximally efficient.

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

Completeness3/5

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

With no output schema, the description should indicate what is returned (court names, ids, possibly venue metadata); it only implies ids exist. Nothing about the surprising destructive/non-read-only annotation is addressed, leaving a real gap for a two-parameter tool.

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?

Schema description coverage is 100% for both parameters, so tournament_id and session_token (with its create_tournament provenance) are already documented. The description adds no additional parameter meaning, which is the expected baseline when the schema does the work.

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

Purpose3/5

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

The description identifies the resource ("the courts a tournament is played on") but never supplies a verb, so it does not actually say it lists or returns them. Against siblings like add_court and update_fixture it is distinguishable as the read side, but only by inference from the name, not from the text.

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

Usage Guidelines3/5

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

It gives one concrete usage hook: the returned ids are what update_fixture's court argument takes, which tells the agent when this lookup is needed. It does not state when to prefer this over list_pools/list_stages or any prerequisite beyond the required tournament_id/session_token shown in the schema.

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

list_entriesC
Destructive
Inspect

List entries (participants) in a tournament

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

C2.9/5.0
Behavior1/5

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

The description states 'List entries', which strongly implies a read-only, non-destructive operation, but the annotations declare readOnlyHint=false and destructiveHint=true. This direct contradiction means the description misleads the agent about the tool's safety profile and side effects.

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 a single, front-loaded sentence with no wasted words. It states the action and scope immediately and is appropriately sized for a simple list tool.

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

Completeness3/5

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

For a two-parameter list tool with full schema coverage and no output schema, the core purpose is communicated. However, the description does not address the surprising annotation flags, leaving a gap in behavioral context that an agent would need to resolve.

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?

Schema description coverage is 100%, so both parameters (session_token and tournament_id) are fully documented in the schema. The description adds only that the listing is scoped to a tournament, which is already implied by the required tournament_id parameter, so it provides little extra meaning.

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

Purpose4/5

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

The description gives a specific verb ('List') and resource ('entries'), and clarifies that entries are participants, which is helpful. It scopes the action to a tournament, but does not explicitly distinguish this tool from sibling list tools like list_tournaments or list_standings beyond that scope.

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

Usage Guidelines2/5

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

The description offers no explicit guidance on when to use this tool versus alternatives such as list_standings or list_stages. The usage context is only implied by the phrase 'in a tournament', leaving the agent to infer the appropriate situation.

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

list_fixturesC
Destructive
Inspect

List fixtures in a stage, optionally filtered by pool, round, or status

ParametersJSON Schema
NameRequiredDescriptionDefault
roundNoRound number (optional)
statusNoStatus filter: pending, ready, live, finished, walkover, bye (optional)
pool_idNoPool ID (optional)
stage_idYesStage ID
session_tokenYesThe session_token returned by create_tournament

TDQS

C2.9/5.0
Behavior1/5

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

The description asserts a pure read operation ("List fixtures"), while annotations declare readOnlyHint=false and destructiveHint=true. That is a direct inconsistency about whether calling this tool can mutate or destroy data, and it is exactly the kind of safety signal an agent depends on. The description also adds no disclosure about pagination, ordering, or whether the stage must already be generated/resolved.

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?

A single front-loaded sentence that names the resource, the containment scope, and the optional filters with zero padding. Nothing here needs trimming.

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

Completeness2/5

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

There is no output schema, so the description should say something about what a fixture record looks like or how results are ordered (this is a fixture list, likely the core of the workflow). With a contradictory safety annotation and no return-format or pagination context, an agent cannot call this confidently.

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?

Schema description coverage is 100%, so all five parameters are already documented in the schema, including the allowed status values. The description restates the optional filters (pool, round, status) but adds no format, defaulting, or interaction detail beyond what the schema provides. Baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource with scope ("List fixtures in a stage") and enumerates the available filters. It distinguishes itself from get_fixture (singular) by implication, but never explicitly names siblings like list_pools or get_fixture, so the routing burden is left partly to inference.

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

Usage Guidelines3/5

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

"Optionally filtered by pool, round, or status" gives a mild sense of when this tool is appropriate, but there is no explicit when-to-use versus get_fixture or list_stages guidance and no mention of prerequisites such as a valid session_token or a resolved stage.

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

list_poolsC
Destructive
Inspect

List pools in a stage

ParametersJSON Schema
NameRequiredDescriptionDefault
stage_idYesStage ID
session_tokenYesThe session_token returned by create_tournament

TDQS

C2.7/5.0
Behavior1/5

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

The description presents a plain enumeration ('List pools'), yet annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false. A list operation described as read-style while flagged destructive is a direct inconsistency, and the description never reconciles it or explains the side effects.

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

Conciseness4/5

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

A single five-word sentence with no filler and the scope front-loaded. It is efficient, though arguably too terse to carry the behavioral burden the missing annotations context requires.

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

Completeness2/5

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

There is no output schema and no description of what a pool contains or what the listing returns, which matters for a list tool. Combined with the unexplained destructive annotation, an agent lacks enough to call this confidently.

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?

Schema description coverage is 100%, with stage_id and session_token both documented in the schema, so the baseline is 3. The description adds nothing about the parameters beyond restating the stage scoping already implied by the schema.

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

Purpose4/5

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

States a specific verb ('List') and resource ('pools') plus its scope ('in a stage'), so the operation is unambiguous. It does not differentiate from sibling list_* tools or explain what a pool is, but the core purpose is clear.

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

Usage Guidelines2/5

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

No guidance on when to use this versus siblings like list_stages or get_stage, and no prerequisites stated. The only implicit cue is the 'in a stage' scoping, which the caller must infer.

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

list_stagesC
Destructive
Inspect

List stages in a tournament

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

C2.7/5.0
Behavior1/5

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

The description frames this as a plain read ('List stages'), but annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false. The description discloses none of that and is directly at odds with the declared safety profile, so the agent gets contradictory signals about whether calling this is safe.

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

Conciseness4/5

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

A single tight sentence with the verb and scope front-loaded and no filler. It is efficient, though borderline under-specified given the tool's odd annotation profile.

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

Completeness2/5

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

For a collection-listing tool there is no output schema, so the description should convey at least the return shape, ordering, or pagination behavior — none of which appear. It also leaves the destructive/non-idempotent annotations unexplained, which is the most important missing context here.

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?

Schema description coverage is 100%, so both tournament_id and session_token are already documented in the schema, including the note that session_token comes from create_tournament. The description adds nothing about parameter meaning, which is acceptable at full coverage but is the baseline rather than added value.

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

Purpose4/5

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

States a specific verb (List) and resource (stages) with a scoping qualifier (in a tournament), so the agent knows the shape of the operation. It does not distinguish itself from sibling readers like get_stage, get_stage_table, or list_pools, so an agent cannot tell from the text alone when this collection-level read is the right one.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisite description, and no mention of how it relates to get_stage or get_stage_table. The tournament scope implies the tool requires an existing tournament, but that is inference rather than stated guidance.

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

list_standingsC
Destructive
Inspect

List standings for a pool

ParametersJSON Schema
NameRequiredDescriptionDefault
pool_idYesPool ID
session_tokenYesThe session_token returned by create_tournament

TDQS

C2.7/5.0
Behavior1/5

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

The description says 'List', which signals a passive read, while the annotations declare readOnlyHint=false, destructiveHint=true, and idempotentHint=false. That is a direct contradiction of the safety profile an agent would infer from the wording, with no explanation of what is actually modified or destroyed.

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

Conciseness4/5

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

A single short sentence with zero filler and the resource front-loaded. It is efficient, though arguably under-specified rather than optimally sized given the tool's unknowns.

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

Completeness2/5

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

There is no output schema, two required parameters, and annotations describing a destructive, non-idempotent, open-world operation — yet the description explains none of this. An agent cannot tell whether calling this is safe, whether it needs write auth, or what it returns.

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?

Schema description coverage is 100%, so both pool_id and session_token are already documented in the schema; the description adds no syntax, format, or relationship detail beyond the schema. Baseline 3 is appropriate when the schema carries the parameter burden.

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

Purpose4/5

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

States a specific verb ('List') and resource ('standings for a pool'), which is clearly distinct from siblings like list_pools, list_stages, and list_entries. It does not, however, explicitly differentiate itself from the other read/listing tools beyond naming the resource.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and no pointer to alternatives (e.g., get_stage_table, list_pools) despite a dense set of sibling tools. The agent must infer that this belongs to the tournament/pool workflow from the schema alone.

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

list_tournamentsB
Destructive
Inspect

List the tournaments this session can act on

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYesThe session_token returned by create_tournament

TDQS

B3.2/5.0
Behavior1/5

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

The description says 'List', which strongly implies a read-only, non-destructive operation, yet annotations declare readOnlyHint=false and destructiveHint=true. This is a direct contradiction, and the description does not explain the destructive or open-world behavior.

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 a single front-loaded sentence with no wasted words. It is appropriately sized for a one-parameter list tool.

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

Completeness2/5

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

For a tool whose annotations indicate destructive and non-idempotent behavior, the description should clarify why a 'list' operation carries those traits. Without that, the description is incomplete despite the simple schema.

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?

There is one parameter with 100% schema description coverage, and the schema already explains that session_token comes from create_tournament. The description adds no additional meaning beyond the schema.

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 gives a specific verb (List) and resource (tournaments), plus a scoping qualifier (this session can act on). It is easy to distinguish from get_tournament, create_tournament, and the other list_* siblings.

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

Usage Guidelines3/5

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

The phrase 'this session can act on' implies the tool is for session-scoped tournament discovery, but it does not state when to prefer this over get_tournament or any sibling. No explicit exclusions or alternatives are given.

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

publish_tournamentB
Destructive
Inspect

Publish a tournament (set status to live) so the display works

ParametersJSON Schema
NameRequiredDescriptionDefault
session_tokenYesThe session_token returned by create_tournament
tournament_idYesTournament ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the mutation profile is covered. The description adds the concrete state transition ('set status to live'), which is useful context, but it does not explain why the operation is flagged destructive, whether it is reversible, or what permissions beyond a session token are needed.

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

Conciseness4/5

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

A single efficient sentence with the action front-loaded and the clarification parenthesized. It is tight, though it leans toward under-specification rather than optimizing for reader value.

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

Completeness3/5

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

For a two-parameter mutation tool with no output schema, the description is minimally adequate: it conveys the state change but omits error conditions, authorization expectations, and side effects that an agent would want before calling it.

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?

Schema description coverage is 100%, so both parameters are already documented in the schema (including the session_token's provenance). The description adds no further parameter meaning, making the baseline 3 appropriate.

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

Purpose4/5

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

States a specific verb and resource (publish a tournament) and disambiguates by defining what publishing means (set status to live), which differentiates it from siblings like create_tournament or update_fixture. It does not explicitly name a contrasting sibling, so it falls short of a 5.

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

Usage Guidelines3/5

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

The phrase 'so the display works' implies the motivating condition for using it, but there is no explicit when-to-use guidance, no prerequisites, and no named alternatives among the many sibling tools. Usage is only weakly inferable.

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

resolve_stageA
Destructive
Inspect

Re-resolve a stage's fixture propagation and standings. Use after correcting scores.

ParametersJSON Schema
NameRequiredDescriptionDefault
stage_idYesStage ID
session_tokenYesThe session_token returned by create_tournament

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare this a non-idempotent, destructive, open-world write, so the safety profile is covered. The description adds that it recomputes derived data (propagation and standings), but does not say what existing standings/fixtures are overwritten, whether published results are affected, or what happens on repeated calls beyond the annotation's idempotentHint=false.

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?

Two short sentences with zero filler; the operation is front-loaded and the trigger condition follows immediately. Nothing is wasted.

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

Completeness3/5

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

For a destructive mutation with no output schema, the definition covers the operation and the trigger but not the blast radius (which standings rows/fixtures get rewritten, impact on published tournaments). Annotations carry the safety signal, so this is adequate but not complete.

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?

Schema description coverage is 100% and both parameters (stage_id, session_token) are documented in the schema, so the baseline is 3. The description adds no format, ID-format, or token-scoping detail beyond what the schema already provides.

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

Purpose4/5

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

States a specific verb ('Re-resolve') plus the affected artifacts (fixture propagation and standings), which is enough to separate it from create_stage, generate_stage, and update_fixture. It does not explicitly contrast itself with those siblings, but the 'Re-' framing implies recomputation of existing data.

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?

'Use after correcting scores' gives an explicit trigger condition, which is more than implied usage. It stops short of naming alternatives (e.g., generate_stage for first-time generation) or stating when not to call it, so it misses the top tier.

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

update_fixtureA
Destructive
Inspect

Update a fixture's score and status (settle a match)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesFixture ID
courtNoCourt ID (optional)
statusYesNew status: finished, walkover, live, ready, pending
winnerNoWinner entry ID (for walkover)
away_scoreNoAway score
home_scoreNoHome score
session_tokenYesThe session_token returned by create_tournament

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is carried by structured data. The description adds a small operational nuance (that this call can finalize/settle a match) but does not explain irreversibility, required authorization, or the effect of status transitions beyond what annotations already say.

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?

A single short sentence with the operation front-loaded and zero padding. The parenthetical adds a concrete purpose without bloat.

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

Completeness3/5

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

For a 7-parameter mutating tool with no output schema, the description covers only the headline action. Required-parameter and conditional requirements (session_token auth, winner only for walkover, valid status values) are left entirely to the schema, leaving the definition minimally sufficient.

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?

Schema description coverage is 100%, so every parameter (including required id, status, session_token and the score/winner/court fields) is already documented in the schema. The description mentions score and status but adds no format, valid-transition, or conditional logic (e.g. winner required for walkover) beyond the schema.

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

Purpose4/5

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

States a specific verb (update) plus resource (fixture) and the fields touched (score, status), which cleanly separates it from the read-only sibling get_fixture/list_fixtures. It stops short of explicitly naming those siblings or clarifying its scope against other mutation tools like resolve_stage.

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

Usage Guidelines3/5

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

The parenthetical '(settle a match)' implies a scenario for use, so usage is implied rather than stated. There is no explicit when-to-use/when-not guidance and no mention of alternatives such as resolve_stage or publish_tournament.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 21 tool updates
    • First observedadd_court
    • First observedadd_entry
    • First observedcreate_display
    • First observedcreate_handoff
    • First observedcreate_stage
    • First observedcreate_tournament
    • First observedgenerate_stage
    • First observedget_fixture
    • First observedget_stage
    • First observedget_stage_table
    • First observedget_tournament
    • First observedlist_courts
    • First observedlist_entries
    • First observedlist_fixtures
    • First observedlist_pools
    • First observedlist_stages
    • First observedlist_standings
    • First observedlist_tournaments
    • First observedpublish_tournament
    • First observedresolve_stage
    • First observedupdate_fixture

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables detection and analysis of pre-public product launches through web search, content extraction, AI-powered scoring, and automated alerting. Provides comprehensive tools for surfacing stealth startup signals before they trend publicly.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Analyze LinkedIn & email outreach campaigns, track pipeline performance, and review lead conversations for RevOps, Sales Managers, and SDR teams.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources