Sleeper API MCP
This Model Context Protocol (MCP) server provides access to the Sleeper Fantasy Football API. It enables agents to fetch data about users, leagues, drafts, rosters, matchups, and player information from the Sleeper platform.
Features
- Access user information and leagues
- Retrieve league details, rosters, and users
- Get matchup information and playoff brackets
- View transactions and traded picks
- Access draft information and picks
- Fetch player data and trending player information
- No API key required (Sleeper API is read-only)
Setup
Requirements
Usage
- Place this MCP in a directory named
mcp_sleeper
- Configure Cursor with the following
.cursor/mcp.json
snippet:
{
"mcpServers": {
"sleeper": {
"command": "python server.py"
}
}
}
- Start the MCP with:
API Methods
The MCP provides the following tools:
User Data
getUserInfo
: Fetch user information by username or user_id
getUserLeagues
: Fetch all leagues for a user for a specified sport and season
getUserDrafts
: Fetch all drafts for a user for a specific sport and season
League Data
getLeagueInfo
: Fetch information about a specific league
getLeagueRosters
: Fetch all rosters in a league
getLeagueUsers
: Fetch all users in a league
getLeagueMatchups
: Fetch matchups in a league for a specific week
getLeagueWinnersBracket
: Fetch the playoff winners bracket for a league
getLeagueLosersBracket
: Fetch the playoff losers bracket for a league
getLeagueTransactions
: Fetch transactions in a league for a specific week
getLeagueTradedPicks
: Fetch all traded picks in a league
getLeagueDrafts
: Fetch all drafts for a league
Draft Data
getDraftInfo
: Fetch information about a specific draft
getDraftPicks
: Fetch all picks in a draft
getDraftTradedPicks
: Fetch all traded picks in a draft
Player Data
getAllPlayers
: Fetch information about all players for a specific sport
getTrendingPlayers
: Fetch trending players based on add/drop activity
State Data
getNFLState
: Fetch the current NFL state
Example Usage
Here's how an agent might use this MCP to retrieve data from Sleeper:
# Get user information
user_info = getUserInfo({"username_or_user_id": "sleeper_username"})
# Get user's leagues for the 2023 NFL season
leagues = getUserLeagues({"user_id": user_info["user_id"], "sport": "nfl", "season": "2023"})
# Get information about a specific league
league_info = getLeagueInfo({"league_id": leagues[0]["league_id"]})
# Get rosters for a league
rosters = getLeagueRosters({"league_id": league_info["league_id"]})
# Get matchups for a specific week
matchups = getLeagueMatchups({"league_id": league_info["league_id"], "week": 1})
# Get trending players
trending_players = getTrendingPlayers({"sport": "nfl", "type": "add", "lookback_hours": 24, "limit": 10})
Rate Limiting
Please be mindful of the rate at which you make API calls. According to Sleeper's documentation, you should stay under 1000 API calls per minute to avoid being IP-blocked.
Further Reading