Skip to main content
Glama

NBA foul trouble risk

invoke_nba_foul_risk
Read-onlyIdempotent

NBA foul trouble risk for each player on today's slate (or the next slate when today has no games), from the BankrollSZN foul model (foul-v1.0). For each player: projected minutes, salary, fouls per 36 minutes over the last 30 games (and the rate shrunk toward his position), the opponent's free throw attempts per game and index, home or away, expected fouls, the chance of 4, 5 and 6 fouls (p4, p5, p6), and a risk tier (High, Elevated, Normal, Low). Tested out of sample on 2025-26: top fifth predicted 10.0% to reach 5 fouls vs 10.8% actual. Early in the season the rates use last season's games. Refreshes every 30 minutes.

Input Schema

NameRequiredDescriptionDefault
teamNoTeam abbreviation, for example NY or SA.
tierNoOnly this risk tier.
limitNoMaximum rows to return. The plan limit applies on top.
playerNoPlayer name, or part of a name.
sort_byNoDefault p5.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior5/5

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

The annotations already declare read-only, idempotent, non-destructive behavior, and the description adds substantial context beyond that: model version, data recency, fallback slate behavior, early-season rate handling, and out-of-sample calibration. There is no contradiction with 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?

The description is front-loaded and dense with useful content, especially the output field list, which is necessary because there is no output schema. It is somewhat run-on in the first sentence, but overall most information earns its place.

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?

Given the absence of an output schema and the complexity of the tool, the description is complete: it enumerates returned fields, explains model provenance and refresh cadence, covers early-season behavior, and provides calibration evidence. An agent has enough context to call and interpret it 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 description coverage is 100%, so the input parameters are fully documented in the schema. The description focuses on output fields and model behavior rather than adding meaning to the input parameters, which is the baseline case when the schema already does the heavy lifting.

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 states a specific resource and scope: foul trouble risk for each NBA player on today's slate, with a defined fallback to the next slate. It clearly distinguishes itself from general NBA projection or rotation tools by focusing on foul risk outcomes and the BankrollSZN foul model.

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 temporal context (today's slate, or next slate if today has no games) and freshness (refreshes every 30 minutes), which implies when the data is applicable. However, it does not explicitly say when to use this versus sibling tools like invoke_nba_projections or invoke_nba_rotations, nor does it state any exclusions.

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