Skip to main content
Glama
jeremytondo

Sleeper Draft Assistant MCP

by jeremytondo

Asistente de Draft de Sleeper MCP

Un prototipo de solo lectura que le brinda a ChatGPT una instantánea de draft de Sleeper actualizada y consciente de la liga mientras el reloj de selección está en marcha.

El servidor expone una herramienta MCP de Streamable HTTP enfocada, get_live_draft_context. Cada llamada actualiza el draft, las selecciones, las selecciones intercambiadas, la liga, las plantillas y los usuarios de la liga. Devuelve:

  • los jugadores seleccionados por el gerente, los conteos por posición, los puestos de titular llenos/abiertos y el espacio en la banca;

  • la selección actual, el gerente en el reloj y las selecciones hasta la próxima selección del usuario;

  • la configuración de puntuación, plantilla y draft de la liga;

  • el historial completo del draft y resúmenes posicionales compactos para cada otra plantilla;

  • los jugadores actualmente no seleccionados por posición de plantilla.

Los metadatos de jugadores de Sleeper se almacenan en caché durante 24 horas porque /players/nfl es un catálogo grande y de cambios lentos. La disponibilidad aún se calcula a partir de selecciones recién obtenidas en cada llamada. El sleeper_search_rank devuelto son metadatos de descubrimiento, no consejos de draft, y deben combinarse con una fuente separada de clasificaciones o investigación.

Ejecutar localmente

Requisitos: Node.js 22 o más reciente.

npm install
cp .env.example .env
npm run dev

Opcionalmente, establezca SLEEPER_USER_ID a un nombre de usuario o ID de usuario de Sleeper. Si no está establecido, la llamada MCP debe proporcionar user.

Los endpoints son:

  • POST /mcp — MCP HTTP Streamable sin estado

  • GET /health — salud del proceso

  • GET / — metadatos del servicio

Related MCP server: Sleeper Fantasy Football MCP

Verificar el prototipo

npm test
npm run test:integration
npm run typecheck
npm run build
npx @modelcontextprotocol/inspector@latest

Apunte MCP Inspector a http://localhost:3000/mcp, liste las herramientas y llame a get_live_draft_context con un draft_id y user reales.

El Dockerfile incluido crea una imagen de producción para cualquier host de contenedor compatible con HTTPS:

docker build -t sleeper-mcp .
docker run --rm -p 3000:3000 -e SLEEPER_USER_ID=your-user sleeper-mcp

Para ChatGPT, exponga el endpoint a través de HTTPS público o un túnel seguro compatible. Luego habilite el modo Desarrollador en Configuración → Seguridad e inicio de sesión, agregue un servidor MCP desde ChatGPT Plugins e ingrese la URL HTTPS incluyendo /mcp. Inicie un nuevo chat, agregue la conexión desde el menú de herramientas y haga una pregunta sobre el draft desde la aplicación móvil.

Mantenga el enlace localhost predeterminado cuando use un túnel seguro. Si expone deliberadamente el servidor, establezca HOST=0.0.0.0, configure MCP_BEARER_TOKEN cuando el cliente pueda enviar una credencial de portador, y coloque TLS en el borde de alojamiento. Las solicitudes originadas en navegadores se rechazan a menos que sus orígenes exactos aparezcan en MCP_ALLOWED_ORIGINS; las solicitudes MCP de servidor a servidor normalmente omiten Origin.

Límites del prototipo

  • Solo lectura: no hay ruta de código que realice una selección de Sleeper o modifique una liga.

  • Sin motor de clasificación: las clasificaciones externas, proyecciones, investigación de lesiones y noticias permanecen separadas.

  • Drafts de serpiente/lineales: el cálculo de selecciones actuales y futuras admite estos formatos, incluidas las selecciones intercambiadas. El orden de nominación de subasta se informa como no compatible.

  • Datos públicos de Sleeper: el token de portador opcional protege el endpoint, pero no es autorización por usuario. Use un túnel seguro para la prueba personal y agregue OAuth antes de operar esto como un servicio compartido.

  • La disponibilidad depende del catálogo de jugadores de Sleeper. Los jugadores sin un search_rank finito positivo se omiten de las listas de candidatos compactas, pero permanecen visibles en el historial del draft cuando se seleccionan.

Variables de entorno

Variable

Default

Propósito

PORT

3000

Puerto de escucha HTTP

HOST

127.0.0.1

Dirección de enlace HTTP (0.0.0.0 dentro de la imagen)

SLEEPER_USER_ID

sin establecer

Nombre de usuario o ID de usuario de Sleeper predeterminado

MCP_BEARER_TOKEN

sin establecer

Credencial de portador opcional requerida por /mcp

MCP_ALLOWED_ORIGINS

sin establecer

Orígenes de navegador separados por comas permitidos para llamar a /mcp

MCP_MAX_CONCURRENT_REQUESTS

8

Límite de solicitudes MCP en vuelo

MCP_MAX_REQUESTS_PER_MINUTE

60

Límite de solicitudes MCP por proceso

SLEEPER_API_BASE_URL

https://api.sleeper.app/v1

URL base de la API de Sleeper

SLEEPER_REQUEST_TIMEOUT_MS

5000

Tiempo de espera por solicitud

SLEEPER_PLAYER_CACHE_TTL_MS

86400000

Vida útil de la caché del catálogo de jugadores

Referencias de fuentes

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    This 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.
    7
    -
  • A
    license
    A
    quality
    C
    maintenance
    A read-only MCP server that supplies live context from Sleeper fantasy-football leagues, including rosters, trade analysis, draft picks, and league settings via Sleeper's public API.
    11
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Read-only MCP server that provides access to public Sleeper NFL fantasy data, including leagues, rosters, matchups, waivers, drafts, and player information. It enables AI clients to retrieve fantasy football details without requiring authentication or account modifications.
    -
  • F
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to monitor a Sleeper fantasy football draft in real time by retrieving draft picks, available players, current turn, and roster needs through Sleeper's public keyless API.
    8
    -