Skip to main content
Glama

Plays

get_plays
Read-onlyIdempotent

Use for play-by-play events: goals, shots, misses, blocks, faceoffs, hits, giveaways, takeaways, penalties, with rink coordinates, strength state (5v5, 5v4), zone, and the players involved. Filter by game, season, team, player (any role), event type, strength, zone, or period. Requires at least one of game_id, season or player_id. Paginate with offset. Costs 10 credits.

Input Schema

NameRequiredDescriptionDefault
teamNoTeam abbreviation that owns the event (e.g. BUF)
typeNoEvent type
zoneNoZone: O offensive, N neutral, D defensive
limitNoMax events (default 200)
leagueNoLeague. Defaults to nhl. One of: nhl, pwhl, ohl, whl, qmjhl, echl, ahl, ushl.
offsetNoPagination offset
periodNoPeriod number (4+ is overtime)
seasonNoSeason ID, 8-digit (e.g. 20242025).
game_idNoNHL game ID (e.g. 2025020887)
strengthNoSkater strength from the event owner's view, e.g. 5v5, 5v4, 4v5
player_idNoNHL player ID; matches the player in any role on the event
shot_attempts_onlyNoOnly goals, shots on goal, missed shots and blocked shots (Corsi events)

Output Schema

NameRequiredDescriptionDefault
countYes
playsYes
summaryYes
next_offsetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / league / description
      Previous value: -"League. Defaults to nhl. One of: nhl, pwhl, ohl, whl, qmjhl, echl."New value: +"League. Defaults to nhl. One of: nhl, pwhl, ohl, whl, qmjhl, echl, ahl, ushl."
    • changedInput schema / properties / league / enum
      Previous value: -[
      -  "nhl",
      -  "pwhl",
      -  "ohl",
      -  "whl",
      -  "qmjhl",
      -  "echl"
      -]New value: +[
      +  "nhl",
      +  "pwhl",
      +  "ohl",
      +  "whl",
      +  "qmjhl",
      +  "echl",
      +  "ahl",
      +  "ushl"
      +]
  2. Changed2 schema fields changed
    • changedInput schema / properties / league / description
      Previous value: -"League. Defaults to nhl. One of: nhl, pwhl."New value: +"League. Defaults to nhl. One of: nhl, pwhl, ohl, whl, qmjhl, echl."
    • changedInput schema / properties / league / enum
      Previous value: -[
      -  "nhl",
      -  "pwhl"
      -]New value: +[
      +  "nhl",
      +  "pwhl",
      +  "ohl",
      +  "whl",
      +  "qmjhl",
      +  "echl"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / league
      Added value: +{
      +  "description": "League. Defaults to nhl. One of: nhl, pwhl.",
      +  "enum": [
      +    "nhl",
      +    "pwhl"
      +  ],
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds genuinely non-structured context: a credit cost (10 credits), the at-least-one-filter constraint, and pagination via offset. It does not mention page-size defaults or rate limiting, which keeps it off a 5.

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 tightly packed sentences: purpose first, filterable dimensions second, hard constraint and cost last. No filler, and the most decision-relevant facts (what it returns, what it requires, what it costs) are front-loaded.

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?

With an output schema present the description needn't explain return values, and it already covers the two things an agent cannot infer: the mandatory filter constraint and the credit cost. For a 12-parameter, all-optional read tool with full schema coverage, nothing essential to a correct call is missing.

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 every one of the 12 parameters is already documented with types, enums, defaults and examples. The description restates the filterable dimensions (game, season, team, player, event type, strength, zone, period) but adds no syntax, format or edge-case detail beyond the schema, so the baseline of 3 applies.

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 opens with a specific verb and resource ('Use for play-by-play events') and then enumerates the exact event kinds returned (goals, shots, blocks, faceoffs, penalties) plus the attributes attached to each (rink coordinates, strength state, zone, players). An agent can distinguish this from get_shot_map or get_game_detail without opening any schema.

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?

It gives a clear usage context ('use for play-by-play events') and an explicit precondition ('Requires at least one of game_id, season or player_id'), which is real routing guidance. It stops short of naming a sibling alternative or stating when not to use it — nothing points an agent to get_shot_map or get_shifts instead for narrower needs.

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.