Skip to main content
Glama
bealmot

sleeper-mcp

by bealmot

propose_trade

Propose a trade to another manager in your Sleeper fantasy football league. Specify players to give and receive, and optionally FAAB, with a dry run before confirming.

Instructions

WRITE. Offer a trade to another manager.

THIS REACHES A REAL PERSON. Check league_info for trade_review_days — where it is 0, an accepted trade executes IMMEDIATELY with no league vote and no veto window.

Args: give_players: Names from YOUR roster. receive_players: Names from THEIR roster. with_manager: Their display name in the league. faab: FAAB dollars to include, if your league trades budget. confirm: Must be True to send. Default False = dry run.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
faabNo
confirmNo
league_id_No
roster_id_No
give_playersYes
with_managerYes
receive_playersYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/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 and does well: it discloses that this reaches a real person, that acceptance can execute instantly in certain leagues, and that confirm=False is a dry run. It omits auth requirements and any rate or idempotency notes, but the key side-effect risk is surfaced.

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?

Front-loads the operation type and the risk warning before the argument list; every line earns its place with no redundant restatement of the schema.

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 7-parameter mutation tool with an output schema and no annotations, the description covers the action, the critical league-dependent risk, and most parameters. The only gaps are the two undocumented internal ID parameters and any post-send return expectations, which the output schema addresses.

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 0%, so the description must compensate: it documents give_players (from your roster), receive_players (from theirs), with_manager, faab, and confirm's dry-run semantics. Only league_id_ and roster_id_ are left unexplained, which are likely context-injected defaults.

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 a specific verb+resource (offer a trade to another manager) and flags it as a WRITE operation. It is distinguishable from siblings like respond_trade or cancel_claim, though it does not name those alternatives explicitly.

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 tells the agent to consult league_info for trade_review_days and explains the consequence when it is 0 (executes immediately, no vote, no veto window). It also states the confirm-default-dry-run condition, giving clear when-to-send guidance.

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