Skip to main content
Glama

The Tennis Desk

A team's win rate and counts

compute_aggregate
Read-onlyIdempotent

Works out one number for any covered team, in any league or season, in code from its recorded lines: win_rate, win_count, loss_count or match_count. Call it whenever you would state a count, an average or a win rate, and quote its value exactly rather than working one out. With no phase it counts the playoffs and sectionals too, so pass phase:'regular season' for a league record alone.

Input Schema

NameRequiredDescriptionDefault
kindYesWhich number to compute, over the lines the team played: 'win_rate' (the share of them won, from 0 to 1), 'win_count' (lines won), 'loss_count' (lines lost) or 'match_count' (lines played).
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 for a LEAGUE record — 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 to filter to, e.g. 2026
includeAllSeasonsNoSet true ONLY when the user explicitly asks about prior years / all history.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover read-only/idempotent/non-destructive, and the description adds real behavioral context beyond them: values are computed in code from recorded lines (so they are authoritative and should be quoted verbatim), and omitting `phase` silently includes playoffs and sectionals. That default-inclusion trap is exactly the kind of non-obvious behavior worth disclosing.

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, no filler, with the core action stated first and the phase caveat appended where it matters. The opening clause ('in any league or season, in code from its recorded lines') is slightly dense but earns its place by establishing scope and authority.

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 correctly specifies the return as a single number drawn from a fixed set, and warns about the phase default. Minor gap: it never says what happens for a team that isn't 'covered' or how an ambiguous team name is resolved.

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 the `kind` enum and `phase` values is already documented. The description restates the phase default and the kinds but adds no syntax or edge-case detail beyond the schema, so 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 and resource ('works out one number for any covered team') and enumerates exactly which four numbers it can produce, matching the `kind` enum. It does not name the closest sibling (query_team_record) so the agent must infer the split, which keeps it off 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 Guidelines4/5

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

Explicit trigger: 'Call it whenever you would state a count, an average or a win rate, and quote its value exactly rather than working one out' — this tells the agent not to hand-compute. It also gives a concrete conditional for `phase` ('pass phase:regular season for a league record alone'). No named alternatives or exclusions, so not a 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