Skip to main content
Glama

Server Details

Should I start X or Y? NFL fantasy compares, rankings, byes, matchups, schedule strength, checks

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
evanatpizzarobot/draftcall-mcp
GitHub Stars
0
Server Listing
DraftCall-MCP

TDQS

A4.1/5.0

Scored across 10 tools

Disambiguation5/5

Each tool targets a distinct query type: single-player lookup, two-player comparison, rankings, scarcity, ADP gaps, schedule, bye conflicts, weekly matchup, search, and claim verification. Even related tools like compare_players and get_player have clearly separated purposes that an agent can reliably distinguish.

Naming Consistency4/5

Seven tools follow the get_ noun pattern, while search_players, compare_players, and verify_claim use verb_noun without get. The convention is still highly readable and predictable, with only minor deviations.

Tool Count5/5

Ten tools is well-scoped for a fantasy football data server. Each tool covers a meaningful slice of draft, in-season, and fact-checking workflows without unnecessary overlap or bloat.

Completeness4/5

The set covers player lookup, head-to-head comparison, rankings, scarcity, schedule, bye conflicts, weekly matchups, and stat verification. A direct standalone ADP lookup and projections are missing, but agents can work around those gaps using the provided tools.

Available Tools

10 tools
compare_playersCompare two NFL playersA
Read-onlyIdempotent
Inspect

Compare any two NFL players head to head for fantasy football: points per game in the requested scoring format, volume stats, bye weeks, and which one produced more. Use this for start/sit, draft, and trade questions about two specific players.

ParametersJSON Schema
NameRequiredDescriptionDefault
player_aYesFirst player name, e.g. "Bijan Robinson".
player_bYesSecond player name, e.g. "Jahmyr Gibbs".
scoring_formatNoScoring format. ppr awards 1 point per reception, half_ppr 0.5, standard 0. Defaults to half_ppr, the most common league setting.half_ppr

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
tier_aNoThe tier this player sits in at his position, or null when he is outside the ranked pool.
tier_bNoThe tier this player sits in at his position, or null when he is outside the ranked pool.
player_aYes
player_bYes
same_tierYesTrue only when both play the same position and land in the same tier.
higher_ppgYesName of the higher scorer, or null when the two are level.
ppg_marginYes
shared_byeYes
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.
scoring_formatYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already indicate readOnly, idempotent, non-destructive behavior, so the description's job is lighter. It adds useful behavioral detail by enumerating what the comparison reveals: points per game, volume stats, bye weeks, and the higher producer. No contradiction with annotations exists.

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?

Two sentences with no filler: the first states what the tool does and what it returns, the second states when to use it. The core behavior is front-loaded and every clause 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?

For a three-parameter read-only tool with a fully described schema and an output schema present, this description covers all essential guidance: what is compared, which formats are supported, and the decision scenarios it serves. Nothing material is missing for an agent to select and invoke it.

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 schema already documents player_a, player_b, and scoring_format with examples and defaults. The description's mention of 'requested scoring format' adds only light reinforcement and no meaningful new parameter semantics beyond the schema.

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 uses a specific verb ('compare') with a clear resource ('any two NFL players head to head') and lists concrete outputs: points per game, volume stats, bye weeks, and the player who produced more. It clearly distinguishes itself from single-player tools like get_player and from rankings-based siblings like get_rankings.

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?

The description explicitly says to use it for 'start/sit, draft, and trade questions about two specific players,' giving clear when-to-use context. It does not explicitly mention when not to use it or name alternative tools, but the qualifying phrase 'about two specific players' helps the agent avoid misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_adp_market_gapsWhere the draft room disagrees with productionA
Read-onlyIdempotent
Inspect

Players whose consensus average draft position disagrees most with their actual production ranking. A player taken EARLIER than his production is being drafted on expectation (a rookie, a new situation, a bounce-back); one taken LATER is being drafted on doubt. Use this for draft-prep questions about who the room may be mispricing. This is a disagreement, NOT a recommendation: production is last season's, while ADP already prices in injuries, trades and rookies with no NFL snaps.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
positionNoRestrict to one position. Omit for all four.
directionNoearlier_than_production: the room drafts him sooner than his production ranks him. later_than_production: the room waits longer. Omit for both.
scoring_formatNoScoring format. ppr awards 1 point per reception, half_ppr 0.5, standard 0. Defaults to half_ppr, the most common league setting.half_ppr

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
countYes
playersYes
positionNo
directionNo
adp_seasonNoThe season the draft board is for.
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.
drafts_sampledNoHow many real drafts the consensus averages over.
scoring_formatYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral nuance by explaining that production is from last season and ADP already prices in injuries, trades, and rookies, preventing misinterpretation of the gap. No contradiction with annotations.

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 sentences carry definition, directional interpretation, intended usage, and a caveat with zero repetition. The core concept is front-loaded and every sentence adds meaning. This is an efficiently structured description.

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?

The definition, interpretation of both directions, use case, and key data caveats are all present, and the output schema covers return structure. For a read-only tool with four optional parameters, nothing critical is missing for an agent to call and interpret the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, with limit lacking a description. The tool description helps by explaining what earlier/later than production means, reinforcing the direction enum semantics, and the schema itself documents position and scoring_format well. The limit parameter remains undocumented in both schema and description, a minor residual gap.

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 precise definition: players whose consensus ADP disagrees most with production ranking. It distinguishes itself from raw rankings by explicitly declaring 'This is a disagreement, NOT a recommendation,' and the earlier/later explanation grounds the directional semantics. This clearly differentiates the tool from siblings like get_rankings or compare_players.

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?

The description gives an explicit use case: 'Use this for draft-prep questions about who the room may be mispricing.' It also provides a clear when-not-to-use signal by stating the output is not a recommendation. However, it does not name alternative sibling tools or state when to prefer them, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bye_conflictsFind bye-week conflicts on a rosterA
Read-onlyIdempotent
Inspect

Given a list of players, report which bye weeks two or more of them share. Use this for roster planning and draft questions about stacking byes.

ParametersJSON Schema
NameRequiredDescriptionDefault
playersYesPlayer names, two or more.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
seasonYesThe season these bye weeks belong to.
conflictsYesOne entry per week where two or more of the named players are out together. Empty when there are none.
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds that conflicts are reported only when two or more players share a bye week, which is useful but does not disclose additional behavioral details such as output ordering or handling of unmatched players.

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?

Two concise sentences deliver the core behavior and intended use with no filler. The operation is front-loaded and every sentence 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?

The tool has one well-documented parameter, strong annotations, and an output schema. The description covers what the tool does, how to use it, and when to use it, leaving no meaningful gap for an agent to call 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%, with the players parameter already described as 'Player names, two or more.' The description's phrase 'Given a list of players' adds no new semantic 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 states a specific verb and resource: given a list of players, report shared bye weeks. It clearly distinguishes itself from sibling tools like get_player and compare_players by focusing on bye-week conflict aggregation.

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?

The description explicitly gives the intended use: roster planning and draft questions about stacking byes. It does not name alternative tools or exclusions, but the use case is clear enough for an agent to select this over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_playerGet one NFL playerA
Read-onlyIdempotent
Inspect

A single player's fantasy profile: positional rank, points per game in all three scoring formats, season stats, games played, and bye week.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPlayer name, e.g. "Puka Nacua".

Output Schema

ParametersJSON Schema
NameRequiredDescription
adpNoConsensus draft position in the requested format, or null when the board does not have him.
ppgYesPoints per game in each scoring format.
urlYesThe draftcall.io page these figures came from. This is the citation to use.
nameYes
rankYesRank within the position, by points per game.
slugNoURL segment for this player on draftcall.io.
teamYesTeam abbreviation.
tierNoThe tier this player sits in at his position, or null when he is outside the ranked pool.
statsNoSeason totals for the fields that apply to the position.
byeWeekNo
positionYesQB, RB, WR, TE, K or DEF.
efficiencyNoPer-game and per-target rates. Each is null where its inputs do not apply.
gamesPlayedYes
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.

TDQS

A3.7/5.0
Behavior3/5

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

The annotations already establish that the tool is read-only, idempotent, and non-destructive, so the description does not need to repeat those traits. The description adds useful context about what data the profile contains, but it does not disclose additional behavioral constraints such as authentication, rate limits, or error conditions.

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?

The description is a single efficient sentence that front-loads the core scope and then lists the specific profile attributes. There is no wasted wording, and the structure makes the tool's purpose immediately understandable.

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?

For a one-parameter tool with a full input schema, an output schema, and strong read-only annotations, the description provides enough information for an agent to call it appropriately. The included list of return fields covers what an agent would likely need to know about the tool's output.

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?

The input schema provides 100% coverage of the single 'name' parameter, including an example value. The description does not add meaning beyond the schema, but with full schema coverage, the baseline score of 3 is appropriate.

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?

The description clearly identifies the tool's scope as a single player's fantasy profile and enumerates the specific stats returned, such as positional rank, points per game, and bye week. It distinguishes itself from compare_players and search_players through the word 'single', but it does not name a sibling or use an explicit action verb like 'gets' or 'retrieves'.

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?

The description implies that this tool should be used when you need a detailed profile for one known player, especially compared to search or comparison tools. However, it provides no explicit guidance about when not to use it or which sibling tool would be a better fit for related needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_positional_scarcityCompare positional scarcityA
Read-onlyIdempotent
Inspect

How steep the fantasy dropoff is at each position in a given scoring format, measured from the top player to replacement level. Use this for draft-strategy questions like whether to take a running back or a wide receiver first.

ParametersJSON Schema
NameRequiredDescriptionDefault
scoring_formatNoScoring format. ppr awards 1 point per reception, half_ppr 0.5, standard 0. Defaults to half_ppr, the most common league setting.half_ppr

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
positionsYesOne row per position, steepest dropoff first.
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.
scoring_formatYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds behavioral context beyond those: it explains the measurement method ('dropoff from top player to replacement level') and indicates dependence on scoring format. This is consistent with the annotations and adds useful nuance about what the tool computes.

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?

Two sentences, both purposeful and front-loaded. The first defines the metric and its measurement basis; the second gives a concrete use case. No filler or repetition of schema details. Every word earns its place.

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?

For a simple one-parameter tool with an output schema, the description covers the core concept and typical use. It does not describe what positions are included or how the output is structured, but the output schema handles the latter, and the tool is conceptually straightforward. A minor gap: it doesn't mention that the default scoring_format is half_ppr, but the schema covers that. Overall, sufficient for correct invocation.

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?

The schema provides 100% coverage for the single parameter scoring_format, including descriptions of each enum value and its default. The tool description does not add any parameter-specific details beyond mentioning 'in a given scoring format'—which is already implicit. Since the schema handles the semantics fully, a baseline 3 is appropriate.

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 clearly states what the tool computes: 'How steep the fantasy dropoff is at each position in a given scoring format, measured from the top player to replacement level.' It gives a specific verb ('compare' per title) and resource ('positional scarcity'), and distinguishes it from sibling tools like compare_players by focusing on scarcity rather than direct player comparison. The example use case further pins down its intent.

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?

The description explicitly says 'Use this for draft-strategy questions like whether to take a running back or a wide receiver first,' which provides clear when-to-use guidance. It does not mention alternatives or exclusions (e.g., 'for direct player comparison use compare_players'), so it lacks explicit sibling differentiation, but the intended use case is clear enough for an agent to route correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_rankingsGet fantasy position rankingsA
Read-onlyIdempotent
Inspect

Fantasy football rankings for a position in a given scoring format, ordered by points per game. Positions: qb, rb, wr, te, flex, k, def. Use this for "who are the best X" and draft board questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many players to return, newest ranking order.
positionYesPosition to rank. flex covers RB, WR, and TE together.
scoring_formatNoScoring format. ppr awards 1 point per reception, half_ppr 0.5, standard 0. Defaults to half_ppr, the most common league setting.half_ppr

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
countYes
tiersNo
playersYes
positionYes
scarcityNo
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.
scoring_formatYes
format_changes_orderYesFalse for positions that record no receptions, where every format gives the same order.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint: true, idempotentHint: true, and destructiveHint: false, which lowers the disclosure burden. The description adds useful behavioral detail: rankings are ordered by points per game and cover a specific position set. It does not mention pagination, response shape, or data freshness, but these are less critical given the annotations and output schema.

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?

The description is two sentences with no redundant phrasing. It front-loads the core function, then gives a practical use case. Every sentence earns its place.

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?

For a simple read-only rankings tool, the description covers purpose, ordering, positions, and example queries. The output schema exists and parameter descriptions are complete, so the description doesn't need to explain return values. The only minor gap is not mentioning defaults for limit and scoring_format, but those are already in the schema.

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%, with meaningful parameter descriptions (e.g., flex covers RB, WR, and TE together). The description repeats the position list but does not add meaning beyond the schema. The baseline of 3 is appropriate since the schema carries the parameter detail.

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 clearly states the function: returning fantasy football rankings for a position in a given scoring format, ordered by points per game. It enumerates all supported positions and provides concrete example queries ('who are the best X', draft board questions). This distinguishes it from other player-related tools, though siblings are not named.

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?

The description explicitly gives a usage context: answering 'who are the best X' and helping with draft board questions. However, it does not mention when to avoid this tool in favor of siblings like get_positional_scarcity or get_adp_market_gaps, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_strength_of_scheduleStrength of schedule by team and positionA
Read-onlyIdempotent
Inspect

How easy or hard a team's schedule is for one fantasy position, over the full season and over the fantasy playoff weeks (14 through 17), measured as the average fantasy points its opponents allowed to that position over the prior completed season. Give a team abbreviation or a player name; give only a position to rank all 32 teams. Use this for rest-of-season stash, trade deadline, and playoff planning questions.

ParametersJSON Schema
NameRequiredDescriptionDefault
teamNoTeam abbreviation, e.g. "KC". Optional when player is given.
playerNoPlayer name; resolves the team and position. Optional when team is given.
positionNoPosition to grade the schedule for. Required with team, inferred from player, and on its own ranks every team.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
teamNoNull when every team was ranked rather than one graded.
teamsNoEvery team ranked easiest first. Null when a single team was graded.
playerNo
playoffsNo
positionYes
full_seasonNo
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.
playoff_weeksYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already state readOnly, idempotent, and non-destructive behavior, so the description doesn't need to repeat that. It adds useful context beyond annotations: the metric uses the prior completed season's data and covers weeks 14-17, which clarifies the data source and scope. No contradiction with annotations.

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?

The description is two sentences with high information density. It front-loads the core computation, then lists usage modes and use cases, with zero wasted words. It is perfectly sized for the tool's complexity.

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?

The tool has an output schema, so return format is covered. The description fully covers the metric, time windows, input combinations, and intended use cases. It also distinguishes itself from siblings, making it completely self-sufficient for an agent to select and invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are individually documented. The description adds relational meaning: 'Give a team abbreviation or a player name' and 'give only a position to rank all 32 teams' clarifies the optionality and inference rules between team, player, and position — this is beyond what the schema descriptions provide.

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 exactly what the tool computes: schedule difficulty for a fantasy position based on opponents' average fantasy points allowed, over full season and playoff weeks. It clearly differentiates from sibling tools like get_rankings or get_weekly_matchup by focusing on schedule strength rather than player performance or matchups.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives when-to-use guidance: 'Use this for rest-of-season stash, trade deadline, and playoff planning questions.' It also explains the three invocation modes (team abbreviation, player name, or position alone to rank all teams), leaving no ambiguity about how to call it correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_weekly_matchupLook up a player matchup for one weekA
Read-onlyIdempotent
Inspect

Who a player faces in a given week of the 2026 season, whether it is home or away, and how generous that opponent has been to that position. Use this for in-season start or sit questions that name a week, which the season-long tools cannot answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
weekYesRegular-season week, 1 through 18.
playerYesPlayer name, e.g. "Puka Nacua".
scoring_formatNoScoring format. ppr awards 1 point per reception, half_ppr 0.5, standard 0. Defaults to half_ppr, the most common league setting.half_ppr

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
homeNo
teamYes
weekYes
on_byeYesTrue when the team has no game that week, in which case the opponent fields are null.
playerYes
seasonYes
gamedayNo
opponentNo
positionYes
player_ppgYes
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.
scoring_formatYes
opponent_allowed_ofNo
opponent_allowed_ppgNoFantasy points this opponent allowed per game to the position over the completed season.
opponent_allowed_rankNoRank among teams, where 1 allowed the MOST and is therefore the softest matchup.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, so the bar is lower. The description adds useful behavioral context beyond annotations: the data is tied to the 2026 season, and the tool returns venue (home/away) plus opponent-tier generosity for the position. No annotation contradiction exists.

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?

Two sentences with no filler. The first sentence front-loads the core lookup result, and the second explains the intended use case and limitation of alternatives. Every sentence 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?

For a simple read-only lookup with full schema coverage, rich annotations, and a present output schema, the description is complete. It covers the temporal scope, the key result dimensions, and the exact scenario in which an agent should choose this tool. Nothing essential for selecting or invoking it 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 description coverage is 100%, so the schema already documents player, week, and scoring_format clearly. The description adds some context about what the week/player pair resolves to, but it does not materially extend parameter meaning beyond the schema, making the baseline 3 appropriate.

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 verb and resource: it reports who a player faces in a given week, home/away status, and opponent generosity to that position. It also distinguishes itself from season-long tools by scoping to weekly in-season questions, so an agent can tell it apart from sibling tools like get_rankings or get_strength_of_schedule.

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?

The description explicitly says to use this for 'in-season start or sit questions that name a week' and notes that 'season-long tools cannot answer' those questions. This gives a clear when-to-use signal and an implicit when-not-to-use condition, but it does not name specific alternative sibling tools, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_playersSearch NFL playersA
Read-onlyIdempotent
Inspect

Find players by partial name, team abbreviation, or position. Use this when a name is ambiguous or only partly known before calling the other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesPartial name, team abbreviation (e.g. "KC"), or position.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
countYes
queryYes
playersYes
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds little behavioral context beyond the search intent; it does not mention result ordering, pagination, or matching behavior. This is acceptable but not rich.

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?

Two concise sentences, front-loaded with the functional purpose and followed by a usage cue. No wasted words or repetitive schema restatement.

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?

The tool is simple with two parameters, an output schema is present, and annotations cover safety. The description gives enough context for selecting the tool, though it could briefly clarify the limit parameter's role. Overall, it is complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%, because the limit parameter has no schema description. The description mostly restates the query parameter's meaning and does not explain limit behavior, defaults, or constraints, leaving the undocumented parameter uncompensated.

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?

The description states a clear verb and resource: find players by partial name, team abbreviation, or position. It also positions the tool as a pre-step before using other player tools, which distinguishes it from sibling tools, though it does not name a specific alternative.

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 explicitly says to use this when a name is ambiguous or only partly known before calling the other tools, giving a clear context. It does not list explicit when-not-to-use conditions or name specific sibling alternatives, but the guidance is still actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_claimCheck a stated figure against DraftCall dataA
Read-onlyIdempotent
Inspect

Check a number you are about to state, or one a user has stated, against DraftCall data for one player: points per game, games played, bye week, positional rank, or any season stat such as rushingYards or receptions. Returns whether the figure matches and the actual value when it does not. Use this before quoting a figure from memory, and whenever a user asserts a stat.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYesThe figure being checked.
metricYesWhich figure to check. ppg is points per game in scoring_format; rank is positional rank; the rest are season totals.
playerYesPlayer name, e.g. "Puka Nacua".
scoring_formatNoScoring format. ppr awards 1 point per reception, half_ppr 0.5, standard 0. Defaults to half_ppr, the most common league setting.half_ppr

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe draftcall.io page these figures came from. This is the citation to use.
teamYes
actualYesThe real figure, or null when DraftCall holds none.
metricYes
playerYes
claimedYesThe figure that was submitted for checking.
verdictYesunknown means the claim could be neither confirmed nor corrected, not that it was wrong.
positionYes
refreshed_atYesWhen this dataset was last refreshed, as an ISO 8601 timestamp.
stats_seasonYesThe completed NFL season every figure in this result describes.
scoring_formatNoThe format the figure was checked in, or null for metrics that do not vary by format.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: it returns a match verdict and the actual value when the figure does not match, and it scopes the check to one player. It does not specify matching tolerance/precision, a minor gap.

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 sentences, each earning its place: purpose+scope, return behavior, and usage rule. The core action is front-loaded and there is no filler or repetition of schema content.

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?

There is an output schema, so return details need not be re-explained, and the annotations carry the safety profile. The description covers scope, metrics, and when to invoke the tool. The one meaningful gap is the lack of precision semantics (does 'matches' mean exact equality or tolerant rounding?), which matters for a verification tool but is not disabling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds meaningful framing beyond the schema by categorizing the metric choices into logical groups (per-game stats, schedule items like bye week, positional rank, and season totals) and by framing 'value' as a figure to verify rather than merely look up. This helps an agent reason about which metric enum value fits the user's request.

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 first sentence states a specific verb ('Check'), a specific resource ('DraftCall data for one player'), and a concrete scope ('points per game, games played, bye week, positional rank, or any season stat'). It also reveals the output behavior (matches vs. actual value), making it unmistakably a verification tool. It is clearly distinct from all siblings such as compare_players, get_rankings, or get_player.

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?

Explicit usage timing is given: 'Use this before quoting a figure from memory, and whenever a user asserts a stat.' This covers both proactive and reactive scenarios. It does not explicitly name alternatives or exclusions, but the tool's verification niche is so distinct from the siblings that the guidance is sufficient.

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.

  1. 10 tool updates
    • First observedcompare_players
    • First observedget_adp_market_gaps
    • First observedget_bye_conflicts
    • First observedget_player
    • First observedget_positional_scarcity
    • First observedget_rankings
    • First observedget_strength_of_schedule
    • First observedget_weekly_matchup
    • First observedsearch_players
    • First observedverify_claim

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Manages ESPN fantasy football teams post-draft, enabling lineup optimization, waiver/free agent recommendations, injury tracking, trade analysis, and playoff odds via read-only tools.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides verified NFL stats (2016–2025) and Sleeper league context through an MCP server, with tools for querying metrics, comparing entities, verifying claims, and accessing league data.
    MIT
  • F
    license
    B
    quality
    D
    maintenance
    Provides NFL player statistics from 2015-2024, enabling player lookups, comparisons, and position leaderboards via natural language.
    4
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.