Skip to main content
Glama

Fantasy Football MCP — Draft, Start/Sit, Waivers

Explain This Price — why we price a player’s strikes there

explain_player
Read-only

Why our model prices an NFL player's Kalshi prop strikes where it does this week: the projection, The Ladder's verdict, the widest published gap, and what the model does not account for (our number only where calibrated, 30–70%). Use for "why do you price there", "explain 's prop".

Input Schema

NameRequiredDescriptionDefault
statNoOptional stat to narrow to, e.g. "rec_yds", "receptions", "rush_yds".
playerNoPlayer name, full or partial (e.g. "Puka Nacua").

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / $schema
      Removed value: -"https://json-schema.org/draft/2020-12/schema"
  2. Changed2 schema fields changed
    • addedInput schema / properties / player
      Added value: +{
      +  "description": "Player name, full or partial (e.g. \"Puka Nacua\").",
      +  "type": "string"
      +}
    • addedInput schema / properties / stat
      Added value: +{
      +  "description": "Optional stat to narrow to, e.g. \"rec_yds\", \"receptions\", \"rush_yds\".",
      +  "type": "string"
      +}
  3. Changed4 schema fields changed
    • removedInput schema / properties / platform
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "enum": [
      -        "yahoo",
      -        "espn",
      -        "sleeper",
      -        "nfl",
      -        "cbs",
      -        "fantrax",
      -        "draftkings",
      -        "underdog"
      -      ],
      -      "type": "string"
      -    }
      -  ],
      -  "description": "League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog."
      -}
    • removedInput schema / properties / player
      Removed value: -{
      -  "description": "Player full name (e.g. \"Bijan Robinson\", \"Jaxon Smith-Njigba\").",
      -  "type": "string"
      -}
    • removedInput schema / properties / scoring
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "string"
      -    },
      -    {
      -      "enum": [
      -        "standard",
      -        "half_ppr",
      -        "ppr"
      -      ],
      -      "type": "string"
      -    }
      -  ],
      -  "description": "Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr."
      -}
    • removedInput schema / required
      Removed value: -[
      -  "player"
      -]
  4. Changed8 schema fields changed
    • addedInput schema / properties / platform / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "enum": [
      +      "yahoo",
      +      "espn",
      +      "sleeper",
      +      "nfl",
      +      "cbs",
      +      "fantrax",
      +      "draftkings",
      +      "underdog"
      +    ],
      +    "type": "string"
      +  }
      +]
    • changedInput schema / properties / platform / description
      Previous value: -"League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball."New value: +"League platform — applies its default scoring, size, roster + best-ball settings (overridable by explicit scoring/teams). Underdog/DraftKings are best ball. One of: yahoo · espn · sleeper · nfl · cbs · fantrax · draftkings · underdog."
    • removedInput schema / properties / platform / enum
      Removed value: -[
      -  "yahoo",
      -  "espn",
      -  "sleeper",
      -  "nfl",
      -  "cbs",
      -  "fantrax",
      -  "draftkings",
      -  "underdog"
      -]
    • removedInput schema / properties / platform / type
      Removed value: -"string"
    • addedInput schema / properties / scoring / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "enum": [
      +      "standard",
      +      "half_ppr",
      +      "ppr"
      +    ],
      +    "type": "string"
      +  }
      +]
    • changedInput schema / properties / scoring / description
      Previous value: -"Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults."New value: +"Scoring format: standard, half_ppr (default), or ppr (full PPR). Overrides a platform preset. Works for Yahoo/ESPN/Sleeper defaults. One of: standard · half_ppr · ppr."
    • removedInput schema / properties / scoring / enum
      Removed value: -[
      -  "standard",
      -  "half_ppr",
      -  "ppr"
      -]
    • removedInput schema / properties / scoring / type
      Removed value: -"string"
  5. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  6. Added

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already cover the read-only, closed-world safety profile, so the description wisely spends its words elsewhere: it discloses the 30–70% calibration window and explicitly flags that some factors are not accounted for. That is genuine context beyond the annotations, though it says nothing about what happens when a player is uncalibrated (no number returned?).

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?

Front-loaded with the purpose, then the output inventory, then the usage triggers — a sensible order. The first sentence is long and packs several clauses together, but no sentence is filler.

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?

No output schema exists, and the description compensates by enumerating the four things the answer contains. For a two-optional-param read tool this is close to sufficient; only the uncalibrated-player case is left ambiguous.

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% and both parameters are documented there, including the stat-narrowing examples. The description adds no parameter-level detail (e.g., what happens with a partial player name or whether stat defaults to all stats), so baseline 3 applies.

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 resource — explaining why the model prices an NFL player's Kalshi prop strikes where it does — and enumerates the outputs (projection, The Ladder's verdict, widest published gap, model gaps). It is not explicitly differentiated from nearby siblings like explain_prop or explain_ladder, so the agent must infer the boundary.

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 concrete trigger phrasings ("why do you price <player> there", "explain <player>'s prop") that map user intent to this tool, which is strong routing guidance. It stops short of naming an alternative or stating when not to use it.

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.