WhistleBets
Server Details
Tonight's NBA referee crews and a short whistle read for each game. Read-only, no sign-in.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 3 tools
nba_game_refs and nba_refs_tonight overlap heavily: both return referee crews, whistle reads, and Monty's take, with only scope (single game by team vs. full tonight slate) distinguishing them. nba_referee is clearly distinct, but the game/slate pair could easily be confused.
All names use snake_case with an nba_ prefix, which is readable and predictable at a high level. However, suffixes mix plural 'refs', singular 'referee', and time-qualified 'refs_tonight', so there is no consistent verb_noun or noun pattern.
Three tools is a tight, focused set for a niche preview API, and each tool has a plausible role. The overlap between two tools suggests the set could be slightly leaner, but the count itself is reasonable.
The surface covers the main preview needs: a specific game's crew, a specific referee's tendencies, and tonight's slate. Minor gaps exist, such as no way to list all games for an arbitrary date or browse all referees, but agents can work around them using team-based lookups.
Available Tools
3 toolsnba_game_refsReferees for one NBA gameARead-onlyIdempotentInspect
The referee crew for one NBA game (yesterday, today or tomorrow), the whistle read in a word, the foul-trouble watch and Monty's take; for last night's games, the score and whether the whistle ran busier or quieter than expected. Find it by team: 'Celtics', 'Boston' or 'BOS'.
| Name | Required | Description | Default |
|---|---|---|---|
| team | Yes | A team in the game, e.g. 'Celtics', 'Boston' or 'BOS' | |
| opponent | No | The other team, if known |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is scope and content. It does that: the window is capped at yesterday/today/tomorrow and it discloses what comes back (crew, a one-word whistle read, foul-trouble watch, plus score and busier/quieter comparison for last night's games). Missing: what happens when no game matches that team in the window.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the resource and its time window, then the lookup key — no wasted framing. The density is slightly marred by undefined shorthand ('the whistle read in a word', 'Monty's take') that an uninitiated agent cannot resolve.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with full schema coverage and no output schema, the description is mostly sufficient: it supplies the time window and sketches the returned fields. However, several return components are named in opaque jargon rather than explained, and the empty-result case is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the team parameter already documents the 'Celtics'/'Boston'/'BOS' alias forms. The description repeats those examples and never mentions the optional opponent parameter, so it adds essentially no meaning beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: the referee crew for exactly one NBA game inside a three-day window (yesterday/today/tomorrow), looked up by team. That is clearly distinct from a general referee lookup, though neither sibling (nba_referee, nba_refs_tonight) is named to make the boundary explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'Find it by team' with alias examples shows how to call it, and the three-day window implies when it is applicable. There is no explicit when-not guidance and no named alternative for the sibling tools, so the agent must infer the boundary itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nba_refereeOne NBA refereeARead-onlyIdempotentInspect
A short read on one NBA referee: how busy their whistle tends to run (in a word), their late-game accuracy when it stands out, and their next assignment. Preview only: the full profile is on WhistleBets.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Referee's name, e.g. 'Scott Foster' |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely new context: the payload is deliberately truncated preview data (whistle rate reduced to "a word," accuracy shown only "when it stands out"), which tells the agent to expect partial/null fields and not to treat this as a complete profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and scope, then the caveat about preview data. Every clause maps to either the returned fields or the truncation warning; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does its job by enumerating the three returned signals and flagging that they are abbreviated. What's missing is edge-case behavior — e.g., what happens for an unknown or ambiguous referee name — which matters for a lookup keyed on a free-text string.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single name parameter is documented with an example ('Scott Foster') plus length bounds. The description contributes nothing further about the parameter, so the schema carries the load and a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"A short read on one NBA referee" pairs a specific verb-and-resource with the field set it returns (whistle tendency, late-game accuracy, next assignment), so the agent knows it takes a single referee name rather than a game or a nightly slate. It doesn't explicitly name nba_game_refs or nba_refs_tonight, so the sibling distinction is inferred from "one" rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use statement and no sibling is named as an alternative. The closest thing to guidance is "Preview only: the full profile is on WhistleBets," which implies this is a shallow lookup and not the source for complete referee profiles, leaving the agent to infer selection rules.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nba_refs_tonightNBA referees tonightARead-onlyIdempotentInspect
Tonight's NBA games with each referee crew and the whistle read in a word (busy, average or quiet), plus Monty's take on the night. Preview only: the full reports are on WhistleBets.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, read-only, idempotent, non-open-world call, so the safety profile is covered. The description adds real context beyond that: the whistle read is deliberately a single word (busy/average/quiet), and the payload is a teaser with fuller reports living elsewhere. That tells an agent to expect coarse summaries and not to over-promise detail, which is useful behavioral framing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero padding. Content comes first (games, crews, rating, take) and the scope caveat plus external pointer follow, which is the right front-loading for an agent scanning tool lists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and no output schema, the description carries the whole burden of explaining what comes back, and it does so at a reasonable level: games, crews, a categorical rating, and commentary. It is slightly thin on the shape of the response — e.g. whether every game has an assigned crew, or what 'Monty's take' actually contains — but nothing essential to calling it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline applies. The implicit meaning of that empty schema — always 'tonight', no date or team filter — is at least consistent with the description's framing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource combination: tonight's NBA games, each referee crew, a one-word whistle rating, and commentary. An agent can tell this is a nightly slate snapshot rather than a lookup, which is enough to separate it from nba_game_refs and nba_referee. It stops short of naming those siblings explicitly, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line 'Preview only: the full reports are on WhistleBets' signals when this is the right tool (a quick look) and where to send a user for depth. However, it never explicitly contrasts itself with nba_game_refs or nba_referee, so choosing between them is left to the agent's inference from the names.
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.
3 tool updates
- First observed
nba_game_refs - First observed
nba_referee - First observed
nba_refs_tonight
Related MCP Connectors
NBA and WNBA player-prop analytics: daily board, graded track record, matchup and referee data.
NBA/WNBA betting analytics: live odds, sharp fair prices, injuries, and prop verification.
Live and historical NBA/NFL/NHL data — fantasy bots, content sites, betting research.
21+ sports research: player stat hit rates, today's games and explainers. Read-only, no picks.
51
Related MCP Servers
- AlicenseAqualityDmaintenanceSchedules, scores, odds, splits & explainable AI bet confidence — 8+ sports, free instant key.1614MIT
- AlicenseAqualityCmaintenanceMCP server for NBA live data and stats, providing read-only tools to query live scores, box scores, player info, standings, and more from NBA.com.1511 npm1MIT
- AlicenseNot gradedqualityBmaintenanceReference data layer for prediction markets: resolution-clarity grades (A/B/C), named resolution sources with provenance, cross-venue linking, and per-contract eligibility screens across Kalshi and Polymarket. Open,read-only, no key required.3MIT
- FlicenseNot gradedqualityDmaintenanceMulti-agent parlay optimization system using CrewAI to analyze games, evaluate props, and construct optimal parlay combinations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.