Skip to main content
Glama
heyitaki

espn-fantasy-football-mcp

by heyitaki

Move lineup players

set_lineup
Destructive

Move rostered players to eligible slots (QB, FLEX, BE, IR) in your ESPN fantasy football lineup. Preview moves with dryRun before posting to avoid mistakes.

Instructions

Move rostered players to eligible slots such as QB, FLEX, BE or IR. List every move, including the player leaving an occupied slot. No counter-moves are added. Player ids are ESPN ids, including negative D/ST ids. teamId is an ESPN fantasy team id and defaults to ESPN_TEAM_ID. week defaults to the current NFL week. dryRun previews the payload without posting. Requires ESPN_S2 and ESPN_SWID.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
weekNoNFL scoring week, defaults to the league's current scoringPeriodId.
movesYes
dryRunNoPreview the payload without posting it to ESPN.
teamIdNoESPN fantasy team id, defaults to ESPN_TEAM_ID.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
dryRunYes
resultNo
payloadYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already signal mutation via destructiveHint=true, and the description adds useful operational detail: the caller must list every move including the player vacating a slot, no counter-moves are auto-generated, and dryRun previews the payload without posting. It also discloses required ESPN credentials, which is important for invoking the tool.

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 opening sentence states the core purpose, followed by short sentences on behavior, ids/defaults, dryRun, and auth. It is slightly longer than necessary because some parameter details repeat what the schema already documents, but every sentence carries useful information and the structure is logical.

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?

Given a 4-parameter tool with an output schema and destructive annotations, the description covers all essential invocation context: auth, defaults, slot semantics, dryRun safety, and the 'list every move' rule. No critical detail appears missing for an agent to call this 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 high at 75%, so the baseline is 3. The description adds value by giving slot value examples ('QB, FLEX, BE or IR') and restating key defaults and the negative D/ST id convention, which helps agents construct valid moves. Some redundancy with the schema exists, but the slot clarification compensates.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Move') and resource ('rostered players to eligible slots'), and enumerates slot examples. This clearly distinguishes set_lineup from sibling tools like add_player, drop_player, and submit_waiver_claim, which operate on acquisitions or drops rather than lineup placement.

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 clearly frames the tool for repositioning already-rostered players and calls out auth prerequisites, defaults, and dry-run behavior. It does not explicitly name alternative tools or state hard when-not-to-use conditions, but the 'rostered players' scope plus sibling names makes the intended context clear enough.

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