Quando alguém pergunta a uma IA onde aprender a surfar, devolvemos aulas a sério — praia, nível, hora, preço — prontas a reservar. Não um artigo. Aulas verdadeiras, de escolas.
{
"spot": "Ribeira d'Ilhas",
"date": "2026-06-13",
"time": "09:00",
"level": "iniciante",
"price": "€45",
"book": "surfbooking.eu/reservar/…"
}Na véspera de chegar a Portugal, um turista pergunta a uma IA: "onde aprendo a surfar este fim de semana?"
Hoje, o assistente ainda responde com um mapa genérico. Mas a SurfBooking já construiu a ponte: um índice para LLMs e um endpoint MCP que devolvem aulas reais — a praia certa para o nível, a horas que existem mesmo, com o link para reservar. À medida que os assistentes abrem os conectores, a SurfBooking passa a ser a resposta. E quem já liga hoje — por conector ou MCP — recebe-as desde já.
O LLM não lê uma página: pede uma destas coisas e recebe dados verdadeiros na hora, incluindo o estado do mar em cada praia.
Por praia, zona, nível, data ou preço máximo. Devolve aulas reserváveis com dia, hora, praia, escola, preço e link.
Preço, duração, vagas e o que inclui: fato, prancha, transporte, seguro.
O link seguro onde o surfista reserva e paga. O agente nunca cobra.
Nota de 0 a 10 ajustada ao nível, com onda, período e vento, e a melhor janela de cada dia. Responde a: que dia devo marcar?
As praias activas por ordem das condições ao vivo, com onda, vento, nota e link.
A mesma onda é boa para um iniciante e fraca para um avançado. Esta ordena pelo quanto cada praia serve o nível pedido.
Aulas reserváveis apenas nas praias onde o mar cumpre mesmo o mínimo pedido de onda, nota ou vento fraco.
Cada zona com quantas escolas tem e se há aulas para reservar. O primeiro passo de um: onde aprendo a surfar?
Praias por zona, com tipo de fundo e uma descrição curta, para separar as boas para iniciantes das outras.
Fato, prancha, leash e botas a partir do peso, altura e nível. Medidas europeias, sem promover marca nenhuma.
Os hotéis parceiros da SurfBooking, por zona ou cidade.
Todas só leem. Nenhuma cria, cancela, muda preços ou horários, nem devolve dados de alunos.
Exemplo ilustrativo, com datas e ligações de exemplo. Não mostra disponibilidade actual. Usa a consulta abaixo para procurar aulas disponíveis.
▸ utilizador: "Marca-me uma aula de surf para iniciante em Portugal este fim de semana." # o agente chama search_lessons("iniciante") e a SurfBooking devolve: - 13 jun · 09:00 · Ribeira d'Ilhas · iniciante · €45 → reservar: surfbooking.eu/reservar/... - 14 jun · 09:00 · Ribeira d'Ilhas · iniciante · €45 → reservar: surfbooking.eu/reservar/... # a reserva conclui-se em segurança. O pagamento é confirmado pelo humano.
No Claude.ai (Pro), adicionas a SurfBooking como conector personalizado em 20 segundos. Sem instalar nada, sem chave.
https://www.surfbooking.eu/api/mcpNo Claude.ai: Definições → Conectores (ou Personalizar → Conectores).
Clica em "Adicionar conector personalizado".
Nome: SurfBooking. No campo "URL do servidor MCP remoto", cola o endereço acima. Deixa o OAuth em branco — é público, sem chave.
Clica Adicionar. Depois pergunta "aulas de surf para iniciante este fim de semana" — e recebes aulas reais, prontas a reservar.
O mesmo URL funciona em qualquer cliente compatível com MCP, à medida que vão abrindo os conectores. Para o terminal ou o Claude Desktop, vê abaixo.
Sem instalar nada. Cola no terminal:
# procurar uma aula de iniciante curl -s https://www.surfbooking.eu/api/mcp \ -H "content-type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"search_lessons", "arguments":{"query":"iniciante ericeira"}}}'
Num cliente com suporte a MCP: no Claude.ai (Pro) adicionas o URL como conector; no Claude Desktop ligas via mcp-remote:
{
"mcpServers": {
"surfbooking": {
"command": "npx",
"args": ["mcp-remote", "https://www.surfbooking.eu/api/mcp"]
}
}
}Nos grandes assistentes de IA, o suporte a conectores MCP está a abrir agora. Mas a forma que já funciona hoje é a mais simples: quando qualquer assistente navega a web, lê o nosso índice para LLMs e recomenda aulas reais da SurfBooking — sem ligar nada.
Os parceiros oficiais da SurfBooking (hotéis, marcas de equipamento) recebem uma chave com scope que limita o MCP aos seus dados — para que uma integração de hotel nunca apresente uma marca de prancha concorrente, e uma marca de equipamento nunca anuncie uma cadeia hoteleira alheia.
find_hotels devolve só as propriedades do parceiro. size_equipment dá sizing neutro — nenhuma marca de equipamento é promovida.
size_equipment recomenda o catálogo próprio da marca. find_hotels fica oculto — não faz parte desta integração.
Queres uma chave com scope para a tua marca? Envia um email para [email protected] — verificamos a parceria e configuramos o scope.
Uma porta separada da pública, só para a tua escola. O assistente lê o que o teu papel já vê no SurfBooking OS e pode preparar duas mudanças, que só acontecem quando o dono as confirma no OS.
Estado hoje: está desligado por defeito e ainda não foi validado com um assistente real. Enquanto estiver desligado, o endereço responde 404.
Quem cria a chave é o dono, no SurfBooking OS, na janela «Assistentes ligados»: é lá que a revoga, vê os pedidos do assistente e confirma as propostas.
POST https://www.surfbooking.eu/api/mcp/escola
Authorization: Bearer sbek_XXXXXXXXXX_…O nome da escola, o teu papel, as permissões da chave e quando expira.
As aulas entre duas datas, até 14 dias: hora, praia, nível, instrutores e lugares livres. Um instrutor só vê as suas.
Contagens por dia, até 31 dias: confirmadas, check-in, faltas e participantes. Sem valores em dinheiro. Dono, ou equipa com acesso a relatórios.
Só o primeiro nome, o check-in e os tamanhos já registados. Sem contactos, saúde, alergias ou datas de nascimento.
O material por categoria e tamanho: quantidade, em reparação e disponível.
Para as aulas dos próximos dias, até 7: nota, onda, período, vento e um aviso de risco para o nível da aula.
Cria uma proposta pendente de nova data e hora. A aula não muda. Aulas que já têm alunos não se aceitam nesta versão.
Cria uma proposta pendente para pôr, somar ou tirar unidades, até 30 linhas. O stock não muda e nunca fica abaixo de zero.
As propostas preparadas e o estado de cada uma. O dono vê todas; a equipa vê as suas.
Não toca em dinheiro: pagamentos, reembolsos, preços ou cancelamentos. Não aplica nada sozinho: cada mudança espera pela confirmação do dono no OS, que passa pelas mesmas validações do painel.
A chave gera-se com a sessão do dono no SurfBooking OS e é mostrada uma única vez. Guardamos só o resumo dela, vale 30, 90 ou 365 dias e revoga-se quando quiseres. O ecrã em Definições chega na próxima fase.
No Claude Desktop liga-se pelo mcp-remote, com a chave num cabeçalho:
{
"mcpServers": {
"surfbooking-escola": {
"command": "npx",
"args": ["mcp-remote", "https://www.surfbooking.eu/api/mcp/escola",
"--header", "Authorization:${SB_SCHOOL_AUTH}"],
"env": { "SB_SCHOOL_AUTH": "Bearer sbek_XXXXXXXXXX_…" }
}
}
}O conector personalizado do Claude.ai na web e o do ChatGPT não deixam enviar uma chave num cabeçalho, só OAuth, que este conector ainda não tem. Hoje só funciona em clientes que enviam o cabeçalho. Nenhum cliente foi validado ao vivo.
Abrimos a porta às IAs do mundo — mas com regras que estão no código, não na confiança.
Devolve sempre um link; o surfista confirma e paga na SurfBooking. Nenhum agente toca no teu dinheiro.
O LLM só consegue ler. Não cria, não cancela, não muda preços nem horários. O máximo que faz é procurar aulas.
Só sai informação pública da aula. Nomes, emails e telefones de alunos nunca saem da SurfBooking.
Aguenta milhares de pedidos sem afetar o serviço às escolas — e fecha num instante se for preciso.
Aulas reais, de escolas, prontas a reservar.
Reservar uma aula