Scout Squad MCP connector
Start/sit, add/drop, trade and waiver-wire analysis for your Sleeper fantasy football leagues.
Updated October 26, 2026
What it reads and writes
- It reads public Sleeper data for the Sleeper username you give it: your leagues, rosters, matchups and players. It never asks for your Sleeper password.
- It saves each analysis as a receipt in your Scout Squad account, so you can read it again later.
- It never submits waiver claims, trades, lineup changes or roster moves, and never posts to your league. Every call stays yours.
- Sleeper only. Yahoo and ESPN leagues are not supported.
Connect your AI app
Add this server URL to your AI app, then sign in to Scout Squad and choose Allow. Sign-in uses OAuth; your app never sees your password.
https://scout-squad-production.fastapicloud.dev/mcp- Claude: Settings → Connectors → Add custom connector
- Claude Code:
claude mcp add --transport http scout-squad https://scout-squad-production.fastapicloud.dev/mcp - Codex:
codex mcp add scout-squad --url https://scout-squad-production.fastapicloud.dev/mcp - ChatGPT: Plugins → Add → Create MCP app
In ChatGPT, Scout Squad works as a custom MCP app you add yourself. It depends on your account and workspace allowing custom connections. Scout Squad is not listed in the ChatGPT app directory.
Import and sync
Ask your AI app to connect your Sleeper username. connect_league finds your leagues and starts a background import; a numeric Sleeper user ID also works. Email lookup is not supported.
Call connect_league with no arguments to check progress in sync_operation. Pick active leagues by sending their refs; Free accounts can have up to 3 active at once.
To refresh active leagues, or retry a failed import after its retry_after wait, ask again with retry_sync. A league that just refreshed reports data_as_of and next_refresh_at instead. Retrying never changes which leagues are active.
Tools
| Tool | Plan | What it does |
|---|---|---|
| connect_league | Free | Connects your Sleeper username, picks active leagues and reports import progress. Saves the username and league choice to your Scout Squad account. |
| search | Free | Finds Sleeper players by name and returns refs plus league-wide ownership. Read only. |
| get | Free | Reads a player, league, roster or saved receipt. Never runs new analysis. Read only. |
| waiver_board | Free | Ranks unrostered players by projected points within each position, for the current or next week. Read only. |
| gut_check | Free: start/sit, add/drop. Pro: trade, full lineup, re-check. | Runs one decision analysis and saves it as a receipt. |
| batch_gut_check | Pro | Runs add/drop checks for up to 6 candidates against up to 2 of your players, saving a receipt per pair. Never submits a waiver claim. |
Free and Pro
Free
- Player search and profiles
- The waiver board
- Start/sit and add/drop checks
- Your saved answers
- Up to 3 active leagues
Pro
- Everything in Free
- Trade analysis
- Full lineup recommendations
- Add/drop checks in batches
- Re-check any saved answer
- More than 3 active leagues
A one-time pass for a week, a month or the season. Nothing renews. Pro passes are not on sale yet.
Every plan shares the same usage limits: up to 60 analyses an hour per account, 300 analyses a day per league, and 120 tool calls a minute per account. Each batch_gut_check pair counts as one analysis.
Troubleshooting
sleeper_user_not_found: check the Sleeper username spelling, or use your numeric Sleeper user ID.- A league is missing or not ready: call
connect_leagueto see import progress, then retry withretry_synconceretry_afterpasses. league_limit_exceeded: Free allows 3 active leagues. Choose fewer, or use Pro.feature_not_entitled: trade, full lineup, batch add/drop and re-checks need Pro.add_drop_candidate_rostered: the player you want to add is on a roster in your league. Usesearchand pick a player whose ownership status is unrostered.rate_limit_exceeded: wait the returnedretry_after_seconds, then ask again.- Sign-in keeps failing: remove Scout Squad from your AI app, add the server URL again and sign in fresh. Removing it from your app also disconnects it.