Practice Pickleball
Encuentra ejercicios de pickleball y genera sesiones de ejercicios personalizadas según tu nivel y objetivos.
Servidor MCP alojado
npx add-mcp 'https://practicepickleball.app/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
API de Practice Pickleball
Ofrece a los jugadores una sesión de práctica lista para usar o ayúdalos a encontrar un ejercicio. La API utiliza el mismo catálogo, generador y enfoque de construcción de sesiones que este sitio web.
Descarga la especificación OpenAPI 3.1. No se requiere clave de API. Usa los endpoints REST a continuación o el endpoint MCP sin estado en https://practicepickleball.app/mcp para herramientas de IA compatibles. Ambos llaman a los mismos servicios.
La detección automatizada está disponible a través del catálogo de API, con enlaces a esta documentación y la especificación. La API tiene dos operaciones descritas a continuación.
¿Agregas un planificador o una vista previa de sesión al sitio web de un club o a un artículo? Usa el configurador de incrustación gratuito y las instrucciones de integración para exportaciones interactivas, HTML y de imágenes responsivas.
MCP para herramientas de IA
Conecta un cliente MCP del lado del servidor usando Streamable HTTP en /mcp. La detección de herramientas expone generate_practice_session y find_drills, con esquemas de entrada y salida. Sus argumentos siguen la configuración documentada a continuación; la búsqueda de MCP toma focus_skills como una matriz de IDs en lugar de una cadena de consulta separada por comas.
Los clientes que admiten prompts de MCP pueden descubrir dos iniciadores de conversación: plan_practice (planificar una sesión) y explore_drills (encontrar ejercicios). Ambos no toman argumentos y guían al asistente para usar tus preferencias existentes, solicitar detalles relevantes faltantes y llamar a las herramientas anteriores. Recuperar un prompt devuelve texto; no ejecuta una herramienta ni genera una sesión. La disponibilidad y presentación de prompts dependen de tu cliente.
Los resultados exitosos de las herramientas contienen los mismos datos que REST en structuredContent, con un respaldo de texto JSON. Los fallos de dominio son resultados de herramientas con isError: true; los errores de protocolo usan errores JSON-RPC. Los límites de seguridad HTTP pueden devolver 4xx o 503 antes de la ejecución de la herramienta. El endpoint no almacena sesiones de cliente y no requiere inicio de sesión. Conectarlo o habilitarlo en una aplicación de IA es un paso separado y explícito; no está disponible automáticamente en todos los asistentes.
Generar una sesión de práctica
POST https://practicepickleball.app/api/v1/sessions/generate con Content-Type: application/json:
{
"skill_level": 3.5,
"number_of_players": 2,
"duration_minutes": 60,
"focus_skills": [
"third-shot-drop",
"reset"
],
"seed": 42
}
La respuesta incluye el título de la sesión, opciones, temas resueltos, bloques ordenados, tiempos exactos, roles de jugadores, configuración, instrucciones y enlaces canónicos de ejercicios. Las reglas de puntuación, cuando están presentes, forman parte de las instrucciones. El session_url devuelto abre ese plan en el sitio web.
- Niveles: 2.5, 3.0, 3.5, 4.0, 4.5 o 5 (la opción 5.0+ del sitio).
- Un jugador: 30, 45, 60, 90 o 120 minutos; también proporciona
solo_environment:court,wallocourt-wall. La pared incluye reboteadores. - Dos o cuatro jugadores: 30, 45, 60, 90 o 120 minutos. Omite
solo_environment. - Enfoque: como máximo un tema para 30 minutos, dos para 45 o 60, tres para 90 o 120. Omite
focus_skillso usa una matriz vacía para un enfoque elegido automáticamente. - Omite
seedpara variedad, o proporciona un entero de 0 a 4294967295 para reproducibilidad. La respuesta incluye la semilla y las versiones del catálogo/generador.
No se admiten duraciones arbitrarias. Tampoco se admiten notas de texto libre, debilidades, preferencias de intensidad ni restricciones de equipo. Las opciones no admitidas reciben un error, no un plan aproximado o relajado silenciosamente.
Preparar → Construir → Agregar presión → Jugar describe la progresión. Los bloques centrales grupales desarrollan habilidades y agregan presión; el bloque final es un juego. Los finalizadores en solitario combinan presión y un desafío medible. Los cambios de lado, el agua y la recogida están etiquetados como support, no como ejercicios. Estas etiquetas describen posiciones de bloques, no una promesa de que cada ejercicio posterior sea físicamente más difícil.
Encontrar ejercicios
GET https://practicepickleball.app/api/v1/drills?skill_level=3.5&number_of_players=2&focus_skills=reset&limit=5
Filtros opcionales: q (búsqueda de texto), skill_level, number_of_players, focus_skills (IDs separados por comas), solo_environment y format (con tiempo, repeticiones, juego en vivo o superposición). Los filtros se combinan con AND. El entorno en solitario coincide con la categoría exacta de cancha, pared o cualquier lugar de la biblioteca y requiere un jugador.
Los resultados contienen total, offset, limit, has_more y una matriz drills. Usa offset para paginar, con un máximo de 20 resultados por solicitud. Un resultado vacío es válido.
IDs de enfoque
serve
Saque
return
Resto
third-shot-drop
Tercer golpe de dejada
third-shot-drive
Tercer golpe de drive
fourth-shot
Cuarto golpe
footwork
Juego de pies
dink
Dink
reset
Reset
fast-hands
Manos rápidas
transition
Transición
anticipation
Anticipación
lob
Globo
overhead
Remate por encima de la cabeza
speed-up
Aceleración
counter
Contraataque
volley
Volea
shape
Forma
out-balls
Bolas fuera
communication
Comunicación
targeting
Apuntar
Errores y límites
Los errores contienen error.code, message, issues a nivel de campo, suggestions y un request_id. Una configuración no válida o una sesión inviable devuelve 422. JSON malformado devuelve 400; métodos incorrectos devuelven 405; cuerpos sobredimensionados devuelven 413. Una falla temporal del servicio devuelve 503.
Los cuerpos están limitados a 8 KiB, las cadenas de consulta a 2048 caracteres y la entrega del cuerpo a 10 segundos. La generación permite aproximadamente 10 solicitudes por IP por minuto; la búsqueda permite 60. Los límites se aplican por ubicación de Cloudflare y no son cuotas globales exactas. Una respuesta 429 incluye Retry-After: 60. Las redes compartidas y las direcciones de salida de herramientas de IA comparten estos límites.
REST y MCP comparten las cuotas de generación y búsqueda. MCP además permite aproximadamente 60 solicitudes totales por IP por minuto para descubrimiento, notificaciones y llamadas. Todo su sobre JSON-RPC debe caber en el mismo límite de cuerpo de 8 KiB. Envía un mensaje por POST; no se admiten lotes, sesiones persistentes ni suscripciones de eventos independientes.
El acceso de navegador entre orígenes está deshabilitado. CORS no es autenticación: los clientes del lado del servidor pueden acceder a la API pública. Ningún cuerpo de solicitud ni consulta de búsqueda se incluye deliberadamente en los registros de la aplicación; Cloudflare aún procesa solicitudes y direcciones IP para la entrega y la prevención de abuso. Consulta Privacidad y Términos de uso. Mantén la información sensible fuera de las solicitudes.
Las sesiones no se guardan en una base de datos. Los enlaces compartidos reproducen el generador existente y pueden necesitar actualización cuando el catálogo o el generador cambien. Vincula a los jugadores de vuelta a las URL públicas devueltas para la experiencia completa junto a la cancha.