Skip to main content
Glama

The Tennis Desk

Each rating group's record

compute_roster_strength
Read-onlyIdempotent

Splits a team's roster by published NTRP level and gives each level group's players, wins, losses and win rate this season, over every league line those players appeared in. Call it for a roster's shape rather than its results, as in 'how strong is their 4.0 half' or 'who carries this team'. It works even before a season has been played, because it then reads the season before.

Input Schema

NameRequiredDescriptionDefault
teamYesTeam key or display name. Or the team's Desk page link or number.
askedNoThe person's question word for word, never paraphrased. Leave it out rather than invent one.
phaseNoOptional competition phase: 'sectionals', 'playoffs', 'postseason', or 'regular season'. Pass it when the member names one, or when they ask how a level group did in their LEAGUE — a sectional match keeps its REGULAR-SEASON league name in our data, so there is no other way to separate them. Omit to count every phase.
seasonNoOptional season year, e.g. 2026

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds genuinely non-obvious behavior: the automatic fallback to the prior season when no season has been played, and that stats aggregate across every league line a player appeared in. It stops short of describing error handling or empty-result 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?

Three sentences: output definition first, then when to call with examples, then a behavioral caveat. No repetition of the title or restatement of annotations, and 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?

No output schema exists, and the description compensates by enumerating the returned fields per level group. With annotations covering safety and the schema covering all four parameters, the remaining question an agent would have — when does this apply and does it work out of season — is answered.

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%, including a detailed explanation of the phase/league-name quirk, so the schema already carries parameter meaning. The description adds only the aggregation scope ('over every league line'), not syntax or format guidance for team, season, or asked. Baseline 3 is appropriate.

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 resource ('splits a team's roster by published NTRP level') plus the exact output fields (players, wins, losses, win rate per level group), and the scope 'over every league line those players appeared in'. The clause 'for a roster's shape rather than its results' separates it from the record/standings siblings like query_team_record and compute_aggregate.

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 invocation triggers with two natural-language examples ('how strong is their 4.0 half', 'who carries this team') and a negative cue ('rather than its results'). It also covers a tricky precondition (works before a season is played). It does not name a specific alternative tool to use instead, which keeps it below 5.

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.

Resources