Skip to main content
Glama

Defense vs position (matchup strength)

get_defense_vs_position
Read-onlyIdempotent

Returns what each NFL defense allows per game to QBs, RBs, WRs or TEs: fantasy points plus yards, TDs, receptions and targets, from ESPN box scores, ranked so rank 1 allows the most (the best matchup). Use it for matchup-based start/sit and streaming, optionally over the last N weeks. Pro plan (Free and Basic keys get 403 pro_required).

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_defense_vs_position"
  }
}

Input Schema

NameRequiredDescriptionDefault
lastNoOnly the trailing N weeks with games, 1-18. Default: the whole season.
teamNoOnly this defense. Team code, e.g. BUF or KC. LA/LAR, WSH/WAS and JAC/JAX are interchangeable.
scoringNoFantasy scoring: ppr (full PPR, the default), half (half-PPR) or standard.ppr
positionNoQB, RB, WR or TE. Default: all four.

Output Schema

NameRequiredDescriptionDefault
noteNoA sentence for the user saying which plan is needed.
errorNoPresent only when the call failed: what went wrong.
weeksNoWeeks included.
reasonNoMachine-readable failure reason, e.g. basic_required or pro_required.
seasonNoSeason.
sourceNoData source.
statusNoHTTP status of the failed API call.
scoringNoScoring used.
defensesNoPer defense: fantasy points, yards, TDs, receptions and targets allowed per game, and rank.
positionNoPosition asked for.
updated_atNoWhen the data was last loaded.
by_positionNoWithout position: QB, RB, WR and TE lists.
upgrade_urlNoWhere to see the plans.
rank_meaningNorank 1 = allows the most (the best matchup).
required_planNoThe plan that unlocks this data: basic or pro.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only establish that this is a safe, idempotent, non-destructive read; the description goes well beyond that. It discloses the ranking direction (rank 1 = most allowed = best matchup), the underlying data source, and an access constraint with the exact failure mode ('Free and Basic keys get 403 pro_required'), which an agent needs before committing to this call.

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 core definition is front-loaded in the first sentence, with usage and the plan restriction following. It is dense but every clause carries information; the only mild cost is the long colon-and-list construction in the opening sentence, which reads as a run-on.

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 an output schema present, return values need not be explained, and the description covers scope, source, ranking semantics, and the plan gate. The remaining gap is minor: it does not note that filtering by team collapses the result to a single defense, though the schema's team parameter description covers that.

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 all four parameters (last, team, scoring, position) are already documented with defaults and examples in the schema. The description only echoes the 'last N weeks' behavior and the position set, adding no syntax or interpretation beyond what the structured fields already provide, 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?

States a specific verb and resource: per-game defensive allowances to QBs/RBs/WRs/TEs, including the exact metrics returned (fantasy points, yards, TDs, receptions, targets) and the data source (ESPN box scores). The inverted ranking convention ('rank 1 allows the most') further pins down what the output means, so it is clearly distinguishable from siblings like get_player_stats or get_projections.

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?

Gives a concrete use case ('matchup-based start/sit and streaming') and a scoping option ('optionally over the last N weeks'), which tells the agent the intended analytical context. It stops short of naming an alternative tool or stating when-not to use it, so there is no explicit routing to siblings such as get_matchups or get_projections.

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