Practice Pickleball

Encontre exercícios de pickleball e gere sessões de treino personalizadas com base no seu nível e objetivos.

Servidor MCP hospedado

npx add-mcp 'https://practicepickleball.app/mcp'

Instala no Claude Code, Codex, Cursor e outros

Documentação

API Practice Pickleball

Ofereça aos jogadores uma sessão de prática pronta para uso ou ajude-os a encontrar um exercício. A API usa o mesmo catálogo, gerador e abordagem de construção de sessão deste site.

Baixe a especificação OpenAPI 3.1. Não é necessária chave de API. Use os endpoints REST abaixo ou o endpoint MCP sem estado em https://practicepickleball.app/mcp para ferramentas de IA compatíveis. Ambos chamam os mesmos serviços.

A descoberta automatizada está disponível através do catálogo de API, com links para esta documentação e a especificação. A API tem duas operações descritas abaixo.

Adicionando um planejador ou prévia de sessão ao site de um clube ou artigo? Use o configurador de incorporação gratuito e instruções de integração para exportações interativas, HTML e imagens responsivas.

MCP para ferramentas de IA

Conecte um cliente MCP no lado do servidor usando Streamable HTTP em /mcp. A descoberta de ferramentas expõe generate_practice_session e find_drills, com esquemas de entrada e saída. Seus argumentos seguem as configurações documentadas abaixo; a pesquisa MCP recebe focus_skills como uma matriz de IDs em vez de uma string de consulta separada por vírgulas.

Clientes que suportam prompts MCP podem descobrir dois iniciadores de conversa: plan_practice (planejar uma sessão) e explore_drills (encontrar exercícios). Ambos não recebem argumentos e orientam o assistente a usar suas preferências existentes, solicitar detalhes relevantes ausentes e chamar as ferramentas acima. Recuperar um prompt retorna texto; não executa uma ferramenta nem gera uma sessão. A disponibilidade e apresentação do prompt dependem do seu cliente.

Resultados bem-sucedidos de ferramentas contêm os mesmos dados que REST em structuredContent, com um fallback de texto JSON. Falhas de domínio são resultados de ferramentas com isError: true; erros de protocolo usam erros JSON-RPC. Limites de segurança HTTP podem retornar 4xx ou 503 antes da execução da ferramenta. O endpoint não armazena sessões de cliente e não requer login. Conectar ou habilitar em um aplicativo de IA é uma etapa separada e explícita; não está automaticamente disponível em todos os assistentes.

Gerar uma sessão de prática

POST https://practicepickleball.app/api/v1/sessions/generate com Content-Type: application/json:

{
  "skill_level": 3.5,
  "number_of_players": 2,
  "duration_minutes": 60,
  "focus_skills": [
    "third-shot-drop",
    "reset"
  ],
  "seed": 42
}

A resposta inclui o título da sessão, escolhas, temas resolvidos, blocos ordenados, tempos exatos, papéis dos jogadores, configuração, instruções e links canônicos de exercícios. Regras de pontuação, quando presentes, fazem parte das instruções. O session_url retornado abre esse plano no site.

  • Níveis: 2.5, 3.0, 3.5, 4.0, 4.5 ou 5 (a opção 5.0+ do site).
  • Um jogador: 30, 45, 60, 90 ou 120 minutos; também forneça solo_environment: court, wall ou court-wall. Parede inclui rebatedores.
  • Dois ou quatro jogadores: 30, 45, 60, 90 ou 120 minutos. Omita solo_environment.
  • Foco: no máximo um tema para 30 minutos, dois para 45 ou 60, três para 90 ou 120. Omita focus_skills ou use uma matriz vazia para um foco escolhido automaticamente.
  • Omita seed para variedade, ou forneça um inteiro de 0 a 4294967295 para reprodutibilidade. A resposta inclui a semente e as versões do catálogo/gerador.

Durações arbitrárias não são suportadas. Também não são suportadas notas de texto livre, fraquezas, preferências de intensidade ou restrições de equipamento. Escolhas não suportadas recebem um erro, não um plano aproximado ou silenciosamente relaxado.

Preparar → Construir → Adicionar Pressão → Jogar descreve a progressão. Blocos centrais em grupo desenvolvem habilidades e adicionam pressão; o bloco final é um jogo. Finalizadores solo combinam pressão e um desafio mensurável. Trocas, água e arrumação são rotulados como support, não exercícios. Esses rótulos descrevem posições de blocos, não uma promessa de que cada exercício posterior é fisicamente mais difícil.

Encontrar exercícios

GET https://practicepickleball.app/api/v1/drills?skill_level=3.5&number_of_players=2&focus_skills=reset&limit=5

Filtros opcionais: q (pesquisa de texto), skill_level, number_of_players, focus_skills (IDs separados por vírgulas), solo_environment e format (cronometrado, repetições, jogo ao vivo ou sobreposição). Filtros combinam com AND. O ambiente solo corresponde à categoria exata de quadra, parede ou qualquer lugar da biblioteca e requer um jogador.

Resultados contêm total, offset, limit, has_more e uma matriz drills. Use offset para paginar, com um máximo de 20 resultados por solicitação. Um resultado vazio é válido.

IDs de foco

serve

Saque

return

Devolução

third-shot-drop

Queda no terceiro golpe

third-shot-drive

Impulso no terceiro golpe

fourth-shot

Quarto golpe

footwork

Jogo de pés

dink

Dink

reset

Reset

fast-hands

Mãos rápidas

transition

Transição

anticipation

Antecipação

lob

Lob

overhead

Sobre a cabeça

speed-up

Aceleração

counter

Contra-ataque

volley

Voleio

shape

Forma

out-balls

Bolas para fora

communication

Comunicação

targeting

Alvo

Erros e limites

Erros contêm error.code, message, issues em nível de campo, suggestions e um request_id. Configurações inválidas ou uma sessão inviável retornam 422. JSON malformado retorna 400; métodos errados retornam 405; corpos superdimensionados retornam 413. Uma falha temporária de serviço retorna 503.

Corpos são limitados a 8 KiB, strings de consulta a 2048 caracteres e entrega de corpo a 10 segundos. A geração permite aproximadamente 10 solicitações por IP por minuto; a pesquisa permite 60. Limites são aplicados por localização Cloudflare e não são cotas globais exatas. Uma resposta 429 inclui Retry-After: 60. Redes compartilhadas e endereços de saída de ferramentas de IA compartilham esses limites.

REST e MCP compartilham as cotas de geração e pesquisa. MCP adicionalmente permite aproximadamente 60 solicitações totais por IP por minuto para descoberta, notificações e chamadas. Todo o envelope JSON-RPC deve caber no mesmo limite de corpo de 8 KiB. Envie uma mensagem por POST; agrupamento, sessões persistentes e assinaturas de eventos independentes não são suportados.

Acesso de navegador entre origens é desabilitado. CORS não é autenticação: clientes no lado do servidor podem acessar a API pública. Nenhum corpo de solicitação ou consulta de pesquisa é deliberadamente incluído nos logs de aplicativos; Cloudflare ainda processa solicitações e endereços IP para entrega e prevenção de abuso. Veja Privacidade e Termos de Uso. Mantenha informações sensíveis fora das solicitações.

Sessões não são salvas em um banco de dados. Links compartilhados reproduzem o gerador existente e podem precisar de atualização quando o catálogo ou gerador mudar. Direcione os jogadores de volta aos URLs públicos retornados para a experiência completa à beira da quadra.