README.md•3.42 kB
# 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
```bash
pip install requests
```
### Usage
1. Place this MCP in a directory named `mcp_sleeper`
2. Configure Cursor with the following `.cursor/mcp.json` snippet:
```json
{
"mcpServers": {
"sleeper": {
"command": "python server.py"
}
}
}
```
3. Start the MCP with:
```bash
cursor run-mcp sleeper
```
## 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:
```python
# 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
- [Sleeper API Documentation](https://docs.sleeper.app)
- [Model Context Protocol](https://modelcontextprotocol.io/docs/concepts/transports)
- [MCP with LLMs](https://modelcontextprotocol.io/llms-full.txt)