Skip to main content
Glama
evanatpizzarobot

DraftCall-MCP

DraftCall MCP Server

License: MIT MCP Registry

NFL-Fantasy-Football-Daten für die Saison 2026 über das Model Context Protocol.

Endpunkt: https://draftcall.io/mcp Transport: streambares HTTP, zustandslos Authentifizierung: keine. Kostenlos, schreibgeschützt, kein API-Schlüssel, kein Konto. Dokumentation: https://draftcall.io/mcp-server/

Fragen Sie einen MCP-verbundenen Assistenten „Soll ich Bijan Robinson oder Jahmyr Gibbs in PPR starten?" und er kann aus Live-Daten antworten, statt zu raten. Jedes Tool-Ergebnis enthält die draftcall.io-URL, aus der die Zahlen stammen, sodass Antworten zitierbar bleiben.

Verbinden

Jeder Client, der einen entfernten MCP-Endpunkt akzeptiert. Keine Installation, kein Klonen.

Claude Code

claude mcp add --transport http draftcall https://draftcall.io/mcp

Claude Desktop oder jeder Client, der eine JSON-Konfiguration akzeptiert

{
  "mcpServers": {
    "draftcall": {
      "type": "streamable-http",
      "url": "https://draftcall.io/mcp"
    }
  }
}

Clients, die nur stdio sprechen

Einige Clients und Registries können keine entfernte URL verwenden und benötigen einen Befehl, den sie lokal ausführen können. Für diese liefert dieses Repository eine stdio-Brücke: Sie leitet newline-getrenntes JSON-RPC an denselben gehosteten Endpunkt weiter, sodass die Tools, Prompts und Ressourcen identisch sind und es weiterhin nur eine Serverimplementierung gibt.

docker build -t draftcall-mcp .
docker run --rm -i draftcall-mcp

Oder ohne Docker, mit Node 18 oder neuer:

node stdio-proxy.mjs

Die Brücke hat keine Abhängigkeiten und hält keinen Zustand. Setzen Sie DRAFTCALL_MCP_URL, um sie auf etwas anderes als die Produktion zu verweisen. Bevorzugen Sie die obige entfernte URL, wo immer Ihr Client sie unterstützt; die Brücke ist ein Kompatibilitäts-Shim, nicht der Hauptweg.

Related MCP server: NFL MCP

Tools

Neun, alle schreibgeschützt. Nichts hier kann eine Liga, einen Kader oder ein Konto ändern.

Tool

Argumente

Was es beantwortet

compare_players

player_a, player_b, scoring_format

Direkter Vergleich: Punkte pro Spiel im gewünschten Format, Volumen-Statistiken, Bye-Weeks, wer mehr produziert hat. Start/Sit-, Draft- und Trade-Fragen zu zwei benannten Spielern.

get_rankings

position, scoring_format, limit

Positions-Rankings für QB, RB, WR, TE, FLEX, K oder DEF.

get_player

name

Profil eines Spielers: Produktion, Stufe, Effizienz, Bye-Week.

search_players

query, limit

Spieler nach Teilname, Team oder Position finden.

get_positional_scarcity

scoring_format

Wie steil der Punkteabfall auf jeder Position ist, für die Draft-Strategie.

get_bye_conflicts

players

Welche Bye-Weeks zwei oder mehr kaderierte Spieler gemeinsam haben.

get_weekly_matchup

player, week, scoring_format

Gegen wen ein Spieler in einer bestimmten Woche der Saison spielt, zu Hause oder auswärts, und wie großzügig dieser Gegner gegenüber der Position war. Start/Sit-Fragen während der Saison, die eine Woche nennen.

get_strength_of_schedule

team + position, oder player, oder position allein

Wie einfach oder schwer ein Spielplan für eine Position ist, über die gesamte Saison und über die Fantasy-Playoff-Wochen 14 bis 17. Eine Position allein rankt alle 32 Teams, die einfachsten zuerst.

verify_claim

player, metric, value, scoring_format

Überprüft eine angegebene Zahl (Punkte pro Spiel, gespielte Spiele, Bye-Week, Rang oder eine beliebige Saisonstatistik) anhand der Daten. Bestätigt sie oder gibt die echte Zahl zurück. Rufen Sie es auf, bevor Sie eine Statistik aus dem Gedächtnis zitieren.

Prompts und Ressourcen

Drei Prompts, für Clients, die sie in einer Auswahl oder einem Slash-Menü anzeigen: start_sit, draft_pick und bye_planning. Jeder nennt die genauen Tools, die aufgerufen werden sollen, und die Reihenfolge, in der sie aufgerufen werden sollen.

Eine Ressource, draftcall://methodology, eine einzelne Markdown-Seite, die beschreibt, wie jede abgeleitete Zahl berechnet wird: Saisonbasis, Scoring-Formate, Stufen, Knappheit, Gegnerschwierigkeit und Stärke des Spielplans.

scoring_format akzeptiert PPR, halbes PPR und Standard. position akzeptiert QB, RB, WR, TE, FLEX, K und DEF. week akzeptiert 1 bis 18.

Daten

Spielernamen und Statistiken sind sachliche Daten aus dem öffentlichen Bereich. Rankings werden täglich aktualisiert. Jede Zahl ist inline mit der Saison gekennzeichnet, die sie beschreibt (Produktion der regulären Saison 2025, bis die Saison 2026 eine brauchbare Stichprobe angesammelt hat), und jede Antwort enthält ein stats_season-Feld, sodass ein Modell eine abgeschlossene Saison nicht mit einer Projektion verwechseln kann. DraftCall veröffentlicht über diesen Server keine Projektionen, ADP oder Verletzungsstatus.

Nicht verbunden mit der NFL oder der NFLPA.

Über

Erstellt von Pizza Robot Studios LLC, einem unabhängigen Spiel- und App-Studio in Los Angeles. DraftCall ist auch eine iOS- und Android-App: https://draftcall.io/download/

Dieses Repository registriert den gehosteten Server, dokumentiert seine Tools und enthält die stdio-Brücke für Clients, die eine benötigen. Der Server selbst läuft am obigen Endpunkt.

Lizenz

Der Inhalt dieses Repositorys (das Registry-Manifest und diese Dokumentation) ist unter MIT lizenziert. Siehe LICENSE und NOTICE.

Das gilt nur für dieses Repository. Der DraftCall-Dienst, die von ihm zurückgegebenen Daten und der Name DraftCall sind nicht abgedeckt: Die Nutzung des Endpunkts unterliegt https://draftcall.io/terms/, und DraftCall ist eine Marke von Pizza Robot Studios LLC (USPTO-Seriennummer 99762133).

Available Tools

9 tools
compare_playersCompare two NFL playersAInspect

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.

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

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It accurately describes what the tool returns (a comparison of stats) and implies it is read-only, but it does not explicitly state that it has no side effects, does not modify data, or any limitations (e.g., data freshness, player name ambiguity). The description is not misleading and provides some outcome detail, but it lacks explicit side-effect or constraint disclosure. Given the read-only nature, this is adequate but not exceptional.

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 long and front-loaded with the core purpose and outputs. Every clause adds value, avoiding redundancy. It efficiently communicates the tool's function and usage context without unnecessary elaboration, making it easy for an agent to parse and act 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?

For a comparison tool with no output schema, the description provides a solid list of returned information (points per game, volume stats, bye weeks, which produced more) and clearly states its intended use cases. It does not specify edge cases like season scope or player name handling, but these are minor and unlikely to hinder correct invocation. The description is comprehensive enough for an agent to understand what the tool does and when to use 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?

The input schema provides 100% parameter coverage with detailed descriptions, so the description adds minimal new information beyond what the schema already states. The description does reinforce that 'scoring format' is used in the comparison, but this is already present in the schema's parameter description. Since schema coverage is high, the baseline of 3 is appropriate; the description does not need to compensate for undocumented parameters.

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 explicitly lists the outputs (points per game, volume stats, bye weeks, which produced more). This differentiates it from siblings like get_player (single player) and get_rankings (list-oriented) by emphasizing head-to-head comparison. The mention of fantasy football use cases further clarifies its niche.

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 states when to use it: 'Use this for start/sit, draft, and trade questions about two specific players.' This provides clear context and appropriate scenarios. It does not explicitly name alternative tools or exclusions, but the use-case framing implicitly distinguishes it from ranking or single-player tools. A minor gap is the lack of explicit 'when not to use' 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 rosterAInspect

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.

NameRequiredDescriptionDefault
playersYesPlayer names, two or more.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the core behavior—reporting shared bye weeks—but omits details like input validation, error handling (e.g., unknown player names), whether the result includes only conflicts or also non-conflicts, or the output format. Adequate for a simple read-only tool, but not richly transparent.

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 filler. The first sentence precisely states the function, and the second adds a usage scenario. It is efficiently front-loaded and 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 tool with one parameter and no output schema, the description is largely complete: it explains what it does and when to use it. The only minor gap is the absent description of the return value, but given the simplicity and the phrase 'report,' an agent can reasonably infer a list of bye weeks with associated players.

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% description coverage for the single parameter ('Player names, two or more'), so the description adds no further meaning beyond that. The tool description does not elaborate on formatting, ordering, or constraints beyond 'list of players,' matching the baseline expectation.

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 ('report') and a precise resource ('which bye weeks two or more of them share'), clearly distinguishing it from all siblings which focus on individual players, comparisons, rankings, or matchups. The title reinforces the purpose without introducing ambiguity.

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 states when to use the tool: 'Use this for roster planning and draft questions about stacking byes.' It provides a clear context but does not mention any alternatives or when not to use it, though the unique purpose makes conflict with siblings unlikely.

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 playerAInspect

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

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

TDQS

A4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It describes the output (fantasy profile) thoroughly, implying a read-only operation. However, it does not disclose potential limitations such as seasonal scope, data freshness, or error behavior. Still, for a simple getter, the description is reasonably transparent about what it returns.

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 sentence with no filler. The core purpose ('A single player's fantasy profile') is front-loaded, followed by a concise list of contents. Every word earns its place, making it easy to scan.

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?

Given the tool's simplicity (one parameter, no output schema), the description provides enough detail about the return payload. It lists the key data points an agent would expect. It omits possible error handling or caveats but these are less critical for a straightforward getter. Overall, it is fairly complete for its complexity.

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 for the only parameter (name) with an example. The description does not add any additional semantic value beyond what the schema already states. Per the rubric, this yields a baseline score of 3, which 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 the tool returns a single player's fantasy profile, enumerating specific data points like positional rank, points per game in three formats, season stats, games played, and bye week. This is a specific verb-resource pairing that differentiates it from siblings like search_players (searching) and compare_players (comparing). An agent can immediately understand what this tool delivers.

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 usage when a single player's profile is needed, but it does not explicitly state when to use this tool versus alternatives like compare_players or get_rankings. No mention of exclusions or conditions, leaving the agent to infer from context. This is adequate but lacks the explicit guidance seen in better definitions.

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 scarcityAInspect

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.

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

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explains the conceptual output (steepness of dropoff) but does not describe the exact return format (e.g., a table, numeric scores per position, or how it is presented). It also omits mention of any edge cases (e.g., default scoring format handling). For a simple read-only analytics tool, this is adequate but not richly transparent.

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 waste. The first sentence front-loads the core definition, and the second gives a concrete usage example. Every word serves a purpose, making it highly concise and well-structured.

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 (one parameter) and the description explains its purpose and use case. However, without an output schema, the agent is left to infer the response structure. Given the conceptual clarity and the example, it's mostly complete, but a mention of the expected output format would make it fully self-sufficient. The description adequately distinguishes it from siblings like get_rankings or compare_players.

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% because the sole parameter 'scoring_format' is fully documented with an enum, default value, and explanation. The description adds no additional information about the parameter, so the baseline of 3 applies per the rubric.

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 does: measures the steepness of fantasy dropoff at each position for a given scoring format, defined from top player to replacement level. It uses specific terms like 'dropoff' and 'replacement level' and distinguishes itself from siblings like get_rankings or compare_players by focusing on scarcity across positions.

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 provides a concrete use case: 'draft-strategy questions like whether to take a running back or a wide receiver first.' This gives clear context for when to use it, though it doesn't explicitly name alternatives or state when not to use it. Since the tool is focused on scarcity, the example effectively implies its niche.

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 rankingsAInspect

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.

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

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the ordering is by points per game, which is useful. However, it does not disclose what the response looks like, whether it returns a list object, or any pagination or error behavior. For a read-only query this is a moderate gap, but not critical. The lack of annotation support limits transparency.

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 concise, using two sentences that front-load the primary resource and ordering, then provides usage guidance. It wastes no words, and the structure is clear. It could be slightly more structured by separating the usage hint, but it is effective and easy to parse.

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 relatively simple tool that returns a list of rankings, the description covers the essential aspects: what it returns (rankings ordered by points per game), the valid positions, and typical use cases. The absence of an output schema is acceptable because the return shape is likely straightforward and inferable. It does not mention pagination or response format, but those are not strictly required for a basic query. Overall, the description is adequately complete for its complexity.

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 already provides descriptive text for all three parameters (position, limit, scoring_format) with enums, defaults, and explanations, yielding 100% schema description coverage. The tool description adds little beyond the schema: it restates the position list and the ordering note, but the schema already covers the meaning and defaults. Since the schema is thorough, a baseline of 3 is appropriate, and the description contributes marginal extra value.

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 states the verb 'get rankings' and the resource (position, scoring format) and specifies the ordering by points per game. It also lists the accepted positions. However, it does not explicitly differentiate itself from sibling tools like get_positional_scarcity, relying on the reader to infer the difference. Overall it is specific and unambiguous about what it does.

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 provides explicit usage examples: "Use this for 'who are the best X' and draft board questions." This gives clear context for when to invoke the tool. It does not, however, mention when NOT to use it or point to alternatives for different kinds of queries (e.g., comparing players or checking scarcity), so some situational guidance is missing.

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 positionAInspect

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.

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.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description bears the full burden. It proactively discloses the measurement methodology (average fantasy points allowed), the time periods covered (full season plus playoff weeks), and the ranking behavior when only a position is given. This explains the tool's behavior clearly, though it does not state whether it is read-only or error conditions, which would push it to 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?

The description is three sentences with zero waste. It front-loads the core purpose, then gives concise usage instructions, then lists applicable use cases. Each sentence earns its place; no redundancy or 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?

For a tool with three optional parameters, no output schema, and no annotations, the description is quite complete. It explains the metric, time ranges, input variations, and typical use cases. It leaves the exact return format (e.g., a number vs. a list) implicit, but the phrase 'rank all 32 teams' strongly implies a list output when applicable, making this a minor gap.

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 the baseline is 3. The description adds value beyond the schema by clarifying the interaction between parameters: team or player are alternatives, and a position alone ranks all teams. It also implies inference behavior (player resolves team and position), which is not fully specified in the schema. This added clarity justifies a 4.

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 explicitly states the tool measures schedule difficulty for a fantasy position, including full season and playoff weeks (14-17), based on opponent average fantasy points allowed. It clearly distinguishes itself from siblings like get_rankings (player rankings) and get_positional_scarcity (scarcity) by focusing on schedule strength. The verb 'get' plus the resource 'strength of schedule' is specific and unambiguous.

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 provides clear usage scenarios: 'rest-of-season stash, trade deadline, and playoff planning questions,' which helps an agent decide when to invoke it. However, it does not explicitly mention when not to use it or name alternative tools for different scenarios, 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_weekly_matchupLook up a player matchup for one weekAInspect

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.

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

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It clearly implies a read-only lookup ('Who a player faces...') and describes the output content. It doesn't mention errors or edge cases, but for a simple lookup tool this is adequate. It is not misleading and adds context beyond the name.

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 describes the output, the second prescribes usage. Information is front-loaded and 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 lookup tool without output schema, the description covers the purpose, usage context, and key data points. It doesn't state return format or handle edge cases, but given the simple scope and absence of annotations, it is reasonably complete for an agent to invoke 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 coverage is 100%, so the schema already documents all three parameters (player, week, scoring_format). The description does not add new parameter-level meaning beyond what the schema provides—it focuses on output details. Baseline of 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 the resource (player matchup for a given week of the 2026 season), the specific information provided (home/away, opponent generosity), and explicitly contrasts with season-long tools. This distinguishes it from siblings and makes its purpose unambiguous.

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 states when to use: 'for in-season start or sit questions that name a week', and when not to: 'which the season-long tools cannot answer'. This provides direct guidance on tool selection, referencing the limitation of alternatives.

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

search_playersSearch NFL playersBInspect

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.

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

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It does not state what the tool returns (list of players? IDs? full details?), whether it's read-only, any limitations on result counts (other than the limit param), or pagination. The description is too sparse to fully inform an agent about execution behavior.

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?

A single, efficient sentence that front-loads the main action and includes a usage condition. No filler or redundant information. The structure is ideal for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema and only a single description sentence. It fails to explain what the search results contain or how they should be used (e.g., to feed into get_player). Given the sibling tools, an agent needs to know if search_players returns enough data to proceed directly or if it should be followed by another call.

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 50%, and the description does not compensate for the undocumented 'limit' parameter. It repeats the query semantics from the schema without adding new meaning (e.g., case sensitivity, format of team abbreviations). The 50% coverage means the description needs to explain the missing parameter but does not.

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 states the tool 'finds players' with specific search criteria (partial name, team abbreviation, position). This is a specific verb + resource combination that distinguishes it from a retrieval tool like get_player. However, it does not explicitly name a sibling or contrast itself beyond implying it's a preliminary step.

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?

Explicitly says 'Use this when a name is ambiguous or only partly known before calling the other tools.' This gives clear guidance on when to use it and positions it as a pre-step. It lacks explicit exclusions (e.g., when you have a player ID), but the context is clear enough for an agent.

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 dataAInspect

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.

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

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It honestly states the return behavior ('Returns whether the figure matches and the actual value when it does not') and implies a read-only verification operation. It does not mention side effects, rate limits, or data freshness, but for this simple check tool, the given behavioral context is substantive and clear.

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 and scope, return behavior, and usage guidance. The most important information (what the tool does) is front-loaded, with no extraneous detail. It is highly concise and well structured.

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?

Given the tool's moderate complexity (4 params, 2 enums, no output schema), the description covers all essential operational guidance: what it verifies, how it reports matches/mismatches, and when to use it. Pairing with the schema (which explains scoring_format and metric enums), the agent has enough to call it correctly. Minor gaps like error handling or data scope (e.g., only DraftCall players) are not critical.

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 the schema already documents all parameters with descriptions and enums. The description mentions example metrics ('rushingYards or receptions') and clarifies the purpose of ppg vs. rank, but it largely repeats what the schema already provides. It adds minimal extra meaning beyond the schema, so the baseline of 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?

States a specific verb ('Check') and resource ('DraftCall data for one player'), with explicit scope (points per game, games played, bye week, positional rank, season stats). Clearly distinguishes from sibling tools like get_player (retrieval) and compare_players (comparison) by focusing on verification of a stated figure.

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?

Provides explicit when-to-use guidance: 'Use this before quoting a figure from memory, and whenever a user asserts a stat.' This gives clear context for appropriate invocation. However, it does not explicitly mention when not to use it or alternative tools (e.g., 'for detailed stats use get_player'), so it lacks a full when-not/alternatives breakdown.

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. 9 tool updatesv0.1.0
    • First observedcompare_players
    • 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

TDQS

A4.1/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: player profiles, head-to-head comparison, rankings, search, positional scarcity, bye-week conflicts, weekly matchups, strength of schedule, and stat verification. No two tools overlap in function; even the matchup-related tools (weekly vs. season-long) target different timeframes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: get_player, compare_players, get_rankings, search_players, get_positional_scarcity, get_bye_conflicts, get_weekly_matchup, get_strength_of_schedule, verify_claim. The verbs are descriptive and the pattern is uniform throughout.

Tool Count5/5

With 9 tools, the server is well-scoped for a fantasy football data API. Each tool addresses a distinct query type, and the count feels neither bloated nor sparse—it covers the core needs of draft, start/sit, and trade analyses without redundancy.

Completeness5/5

The surface is remarkably complete for a read-only fantasy data service: it handles player identification (search), profiles, direct comparisons, rankings by position, draft strategy (scarcity), bye-week planning, weekly matchup context, season-long strength of schedule, and fact verification. No obvious dead ends or missing queries that would derail an agent.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    An open NFL fantasy-football analytics platform that provides live data, machine-learned projections, dynasty values, and prospect grades via an MCP server for AI clients.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that turns real NFL & fantasy data into a decisive edge, offering 70+ tools for draft assistance, start/sit recommendations, trade analysis, playoff odds, and more, with live league integration.
    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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to Sleeper fantasy football data including user info, leagues, rosters, matchups, and NFL state through MCP tools.
    100 npm
    MIT