Sleeper Fantasy Football MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sleeper Fantasy Football MCPCompare all rosters in my league and identify the three weakest players on my team"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sleeper Fantasy Football MCP
A local, read-only Model Context Protocol server that gives ChatGPT desktop and Codex fresh context from Sleeper fantasy-football leagues.
The server is designed for questions such as:
Is this dynasty roster ready to contend?
Which players should I cut before the draft?
How does a proposed trade affect both teams?
Who owns each future rookie pick?
What trades and waiver moves happened recently?
How do all rosters in the league compare?
It uses Sleeper's public API. No Sleeper password, API key, session cookie, or account token is required.
Capabilities
The MCP server can retrieve:
Sleeper account identity and current NFL state
Leagues for a selected season
League settings, scoring, lineup slots, records, and owners
Your roster or every roster, with player IDs resolved to names
Starters, bench, reserve, taxi squad, and keepers
Future draft-pick ownership and traded picks
Focused context for evaluating a proposed trade
Completed trades, waivers, and free-agent transactions
Weekly matchups and lineups
Live or completed draft boards
Trending additions and drops
Player-name search
Related MCP server: Sleeper MCP Server
Important limitation
Sleeper's documented public API does not expose the private inbox containing unaccepted incoming or outgoing trade proposals. Paste or screenshot the offer itself; the MCP can then pull the live league rules, both rosters, records, and draft-pick inventories needed to analyze it.
This project cannot send, accept, reject, or cancel trades. It deliberately avoids unofficial authenticated endpoints and Sleeper session tokens.
Requirements
macOS, Linux, or Windows with a compatible MCP host
Node.js 20 or newer
npm
A Sleeper username
ChatGPT desktop, Codex CLI, or another STDIO-capable MCP client
Quick start
Clone or download the repository, then run:
cd /path/to/sleeper-fantasy-mcp
chmod +x scripts/*.sh
./scripts/setup-mac.sh YOUR_SLEEPER_USERNAMEThe setup helper:
Checks Node.js and npm.
Installs dependencies.
Runs local syntax and unit tests.
Verifies the Sleeper username.
Lists the current-season leagues it finds.
Prints the exact local MCP command and environment variable.
A Sleeper username can change. The setup output also shows the stable Sleeper user ID, which can be supplied through SLEEPER_USER_ID instead.
Connect to ChatGPT desktop
Open Settings → MCP servers → Add server and enter:
Name:
SleeperTransport:
STDIOCommand: the absolute Node path printed by the setup script
Arguments: the absolute
src/index.jspath printed by the setup scriptEnvironment:
SLEEPER_USERNAME=YOUR_SLEEPER_USERNAME
Save the server and restart ChatGPT desktop. Type /mcp in the composer to verify that the server and its tools are available.
Use absolute paths. A macOS desktop application does not always inherit the same shell PATH as Terminal.
Connect to Codex
The setup script prints a command tailored to the current machine. You can also run:
./scripts/add-to-codex.sh YOUR_SLEEPER_USERNAMEThe equivalent manual command is:
codex mcp add sleeper \
--env SLEEPER_USERNAME=YOUR_SLEEPER_USERNAME \
-- /absolute/path/to/node /absolute/path/to/sleeper-fantasy-mcp/src/index.js
codex mcp listCodex stores local MCP configuration under ~/.codex/config.toml. Do not commit that file to this repository.
Test with MCP Inspector
After installing dependencies:
SLEEPER_USERNAME=YOUR_SLEEPER_USERNAME npm run inspectThe Inspector launches a local client that can list and invoke each tool directly.
Example prompts
Use Sleeper to list all of my 2026 leagues and identify which are dynasty, keeper, or redraft.
Pull my roster and league settings for SHADynasty. Assess whether the roster is ready to contend this season.
In my DFB league, compare every roster and identify the three weakest players on my team.
Pull trade context for my team and the other owner's team, then assess this proposal: [paste offer].
Show the most recent completed trades in this league and explain which teams improved most.
Pull the current draft board and identify my biggest roster needs before my next pick.
Tool reference
Tool | Purpose |
| Resolve the configured Sleeper account and current NFL state. |
| List leagues for a season and identify the user's roster ID. |
| Fetch rules, scoring, teams, records, drafts, and pick ownership. |
| Fetch the user's roster, lineup groups, and draft picks. |
| Fetch every roster for league-wide comparison. |
| Fetch focused roster, rule, record, and pick context for selected teams. |
| Fetch trades, waivers, and free-agent moves by week range. |
| Fetch one week's matchups, starters, bench, and points. |
| Fetch draft settings, order, picks, and traded slots. |
| Resolve player names to Sleeper player records. |
| Fetch frequently added or dropped players. |
Configuration
Environment variable | Required | Description |
| Yes, unless using | Sleeper username used to locate the account. |
| Optional | Stable user ID; takes precedence over the username. |
| Optional | Four-digit season used when a tool does not provide one. |
| Optional | Override the local directory for the public player cache. |
Freshness and caching
League settings, rosters, transactions, matchups, drafts, and picks are requested from Sleeper when a tool is called. There is no background synchronization process.
Sleeper's full NFL player directory is much larger, so it is cached for 24 hours at:
~/.cache/sleeper-fantasy-mcp/players-nfl.jsonDelete that file to force a refresh on the next player-dependent request.
Privacy and security
The server is read-only.
It sends network requests only to
https://api.sleeper.app/v1.It does not collect a Sleeper password or authenticated account token.
The only local data it writes is Sleeper's public NFL player directory cache.
League names, usernames, team names, and all other Sleeper-returned text are treated as untrusted data rather than model instructions.
Raw Sleeper metadata objects are not forwarded unless a known field is required for a feature.
Review SECURITY.md before expanding the server's permissions or endpoints.
Development
Install dependencies and run all local checks:
npm install
npm run checkThe first npm install creates package-lock.json. Review and commit that lockfile so subsequent local and CI installs resolve the same dependency graph.
Run only the live connection check:
npm run check:connection -- YOUR_SLEEPER_USERNAMEStart the STDIO server manually:
SLEEPER_USERNAME=YOUR_SLEEPER_USERNAME npm startThe process will appear to wait. That is expected: an STDIO MCP server listens for JSON-RPC requests from its host. Stop it with Ctrl+C.
Never use console.log in the server process. STDOUT is the MCP protocol channel; diagnostics belong on STDERR through console.error.
Project structure
.
├── .github/ # CI and dependency updates
├── scripts/ # Setup, Codex registration, and connection check
├── src/
│ ├── index.js # MCP server and tool definitions
│ └── sleeper-client.js # Sleeper API client and response shaping
├── test/ # Offline unit tests
├── CONTRIBUTING.md
├── SECURITY.md
├── LICENSE
└── README.mdTroubleshooting
No Sleeper account is configured
Add SLEEPER_USERNAME or SLEEPER_USER_ID to the MCP server environment, then restart the host.
ChatGPT or Codex cannot find node
Run:
which nodeUse that complete path as the MCP command.
The server starts and appears to hang
That is normal when started manually. It is waiting for an MCP client on stdin.
A renamed Sleeper username no longer resolves
Update SLEEPER_USERNAME, or use the stable SLEEPER_USER_ID printed by the connection check.
Player information appears stale
Delete the cached player file:
rm ~/.cache/sleeper-fantasy-mcp/players-nfl.jsonThe next player-dependent request will download a new copy.
Contributing
See CONTRIBUTING.md. Changes should preserve the read-only security boundary and use only documented public Sleeper endpoints.
License
MIT. See LICENSE.
Disclaimer
This is an independent project and is not affiliated with, endorsed by, or sponsored by Sleeper.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityCmaintenanceThis Model Context Protocol server provides access to the Sleeper Fantasy Football API, enabling agents to fetch data about users, leagues, drafts, rosters, matchups, and player information without requiring an API key.5
- Flicense-qualityCmaintenanceA server that integrates Sleeper fantasy sports data with Goose AI through the Machine Context Protocol (MCP), providing structured access to fantasy league information.
- Alicense-qualityBmaintenanceProvides read-only access to Sleeper fantasy football leagues, enabling team snapshots, available players, matchups, trade context, and league history through standardized MCP tools.MIT
- Alicense-qualityBmaintenanceAn 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.MIT
Related MCP Connectors
Read-only fantasy analysis for ESPN, Yahoo, and Sleeper leagues via MCP
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
The hockey data API. Stats, odds, and everything between. REST API and MCP server.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/rajn1/sleeper-fantasy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server