sleeper-mcp

tstapler/sleeper-mcp

3.1

If you are the rightful owner of sleeper-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Machine Context Protocol (MCP) server for integrating Sleeper fantasy sports data with Goose AI.

Sleeper MCP Server

A Machine Context Protocol (MCP) server for integrating Sleeper fantasy sports data with Goose AI. This server implements the MCP specification to provide structured access to Sleeper's API data.

Overview

The Sleeper MCP Server acts as a bridge between Goose AI and the Sleeper Fantasy Sports platform, implementing the Model Context Protocol (MCP) for seamless integration.

Features:

  • Structured access to fantasy sports data via MCP
  • Rate-limited API access
  • Data caching and optimization
  • OpenAPI documentation
  • MCP-compliant function specifications

Installation

# Clone the repository
git clone https://github.com/yourusername/sleeper-mcp.git
cd sleeper-mcp

# Install dependencies using Poetry
poetry install

# Start the server
poetry run uvicorn src.main:app

Integration with Goose

The Sleeper MCP server integrates with Goose in two ways:

  1. Start the server:
poetry run uvicorn src.main:app
  1. Use with Goose:

a. Via session:

goose session --with-extension "uvicorn src.main:app"

b. Via single command:

goose run --with-extension "uvicorn src.main:app" -t "your instructions"

Available functions:

  • get_user(identifier: str) - Get user information
  • get_user_leagues(user_id: str, season: str) - Get leagues for a user
  • get_league(league_id: str) - Get league details
  • get_league_rosters(league_id: str) - Get league rosters
  • get_league_users(league_id: str) - Get league users
  • get_nfl_state() - Get NFL season state

MCP Protocol Implementation

This server implements the Model Context Protocol (v2024-11-05) which includes:

  1. Initialization Phase:

    • Server capability discovery
    • Protocol version negotiation
    • Feature negotiation
  2. Operation Phase:

    • Function discovery and invocation
    • Resource access
    • Error handling
  3. Security:

    • Rate limiting
    • Error reporting
    • Access controls

Development

Project Structure

sleeper-mcp/
ā”œā”€ā”€ docs/
│   ā”œā”€ā”€ openapi.yaml        # API specification
│   └── sleeper_api_raw.html # Raw API documentation
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ api/               # API endpoints
│   ā”œā”€ā”€ models/            # Data models
│   ā”œā”€ā”€ mcp/              # MCP protocol implementation
│   ā”œā”€ā”€ services/         # Business logic
│   └── config/           # Configuration
ā”œā”€ā”€ tests/                # Test suites
ā”œā”€ā”€ pyproject.toml        # Project dependencies
ā”œā”€ā”€ README.md            # This file
└── TODO.md             # Development tasks

Running Tests

poetry run pytest

Development Server

poetry run uvicorn src.main:app --reload

Security Considerations

As per MCP specification:

  • No authentication required (read-only API)
  • Rate limiting enforced (1000 requests/minute)
  • No sensitive data exposure
  • Clear error reporting

API Documentation

  • OpenAPI documentation: /docs
  • Raw API documentation: /docs/sleeper_api_raw.html
  • MCP capabilities: /capabilities

License

[Add your chosen license]

Acknowledgments

  • Sleeper API Team
  • Model Context Protocol Specification
  • Goose AI Team