Skip to main content
Glama

The Tennis Desk

A lineup from NorCal availability

plan_lineup_from_availability
Read-onlyIdempotent

Plans a lineup from the availability a member's agent read on the USTA NorCal league site, so the agent can fill in the lineup form. Pass the team, the match and each player's answer in USTA's own words: yes, No, maybe, call last, First shift only or Second shift only. The result also holds the values for the lineup form, and what to confirm with the member before Save. Each line's win chance needs a Desk Pass after the member's free forecast each week. The Desk never acts on the USTA site, so the member, or their own agent in their own session, presses Save. Call it when someone pastes or describes who can play a match and asks for a lineup.

Input Schema

NameRequiredDescriptionDefault
dateNoThe match date, as 2026-10-24. With opponent, or alone. With neither, the plan is for the team's next match.
teamYesThe member's team: the Desk's team id, which is USTA NorCal's own team id, a link to its team page, or its name.
askedNoThe person's question word for word, never paraphrased. Leave it out rather than invent one.
seasonNoSeason year. Defaults to the current season.
matchIdNoUSTA NorCal's own id for the match, read from the link on the team page. Optional: it fills in the form's path.
opponentNoThe other team in the match, as the schedule names it. With date, or alone.
availabilityYesEach player's answer, as the agent read it on NorCal's availability grid or as the member pasted it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/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, closed-world, and the description correctly does not contradict them. It adds genuinely useful behavior beyond them: the result carries lineup-form values and what to confirm with the member before Save, the Desk never acts on the USTA site so the member or their own agent presses Save, and win chances are gated behind a Desk Pass. Return-shape detail is implied rather than specified.

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

Conciseness3/5

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

The purpose is front-loaded and the prerequisite/ownership sentences are worth their space. However, the description re-enumerates all six answer strings that the schema already lists in full, and the 'Each line's win chance needs a Desk Pass after the member's free forecast each week' sentence is dense and hard to parse on first read.

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 seven parameters, a nested availability array, and no output schema, the description does more than most: it states what the tool returns (lineup form values plus confirmations), who performs the save, and the Desk Pass gating. The main omission is routing against the near-identical plan_lineup sibling, which an agent needs in order to choose 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?

Schema coverage is 100%, so the schema already documents all seven parameters including the nested availability item fields. The description reinforces verbatim passing ('in USTA's own words') and required inputs (team, match, each player's answer), but mostly restates what the schema says, including the six answer values already enumerated in the schema. 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 artifact (plans a lineup) plus the precise input source: availability a member's agent read on the USTA NorCal league site. It reads as a distinct capability, but it never mentions the sibling plan_lineup, so an agent must infer how this differs from that tool by name alone.

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 last sentence gives an explicit trigger: 'Call it when someone pastes or describes who can play a match and asks for a lineup.' The Desk Pass prerequisite ('Each line's win chance needs a Desk Pass after the member's free forecast each week') adds a real gate. It lacks an explicit when-not condition or a named alternative (plan_lineup), which keeps it below 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