Skip to main content
Glama
bealmot

sleeper-mcp

by bealmot

waiver_claim

Submit a fantasy football free agent claim to add a player and drop a roster spot, with an optional FAAB bid and a dry-run default before confirming.

Instructions

WRITE. Submit a waiver claim.

submit_waiver_claim takes PARALLEL k_/v_ arrays: k_adds holds player ids, v_adds the roster receiving them, and k_settings/v_settings carry the FAAB bid. Check league_info for your league's waiver type — a bid is meaningless outside FAAB.

Args: add_player: Free agent name. drop_player: Name from your roster. bid: FAAB dollars. Default 0. confirm: Must be True to send. Default False = dry run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bidNo
confirmNo
add_playerYes
league_id_No
roster_id_No
drop_playerYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.3/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 usefully discloses that this is a WRITE, that confirm=False is a dry run, and that a bid is only meaningful in FAAB leagues. It omits auth/permission requirements and reversibility, and the k_adds/v_adds paragraph references fields absent from the schema, which is mildly confusing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the WRITE marker and purpose, and the Args list is clean. However the mid-paragraph digression about parallel k_/v_ arrays describes fields the tool's schema does not expose, adding confusion without earning its place.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and the description covers the mutation nature and dry-run behavior. But for a no-annotation, 0%-schema-coverage write tool, the missing league_id_/roster_id_ docs and auth requirements leave gaps.

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 0%, so the description must compensate. It documents four of six parameters (add_player, drop_player, bid, confirm) with useful detail such as bid default 0 and confirm semantics, but leaves league_id_ and roster_id_ entirely undocumented.

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?

Opens with an explicit verb+resource ('WRITE. Submit a waiver claim.'), which clearly states what the tool does. It does not differentiate itself from the related siblings cancel_claim or waiver_targets, so it stops short of a 5.

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?

Provides conditional context ('Check league_info for your league's waiver type — a bid is meaningless outside FAAB') and explains the dry-run toggle, which is genuine when-to-use guidance. However it never says when to prefer this over cancel_claim or waiver_targets, leaving alternative selection to inference.

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