Agenda com Claude, ChatGPT e Cursor: o servidor MCP do WhenToMeet

Não enviámos um assistente de IA dentro do WhenToMeet. Já tens um.

Se usas o Claude, o ChatGPT ou o Cursor, o assistente pelo qual já estás a pagar é mais útil do que qualquer chatbot que pudéssemos enfiar numa barra lateral. O que lhe falta é permissão para tocar no teu calendário. É o que o servidor MCP lhe dá.

MCP num parágrafo

MCP — o Model Context Protocol — é uma pequena spec para expor ferramentas a um cliente LLM. O cliente liga-se a um servidor, lê uma lista de tools com inputs tipados, e chama-as quando a conversa precisa. É a tomada, não o candeeiro. O WhenToMeet corre o servidor; o teu assistente escolhido é o cliente.

O endpoint é POST /api/mcp. Transporte HTTP stateless. As mesmas API keys de REST v1.

Instalar

No teu cliente MCP — Claude Desktop, ChatGPT com connectors, Cursor ou outro — adicionas uma entrada de servidor que aponta para https://whentomeet.com/api/mcp com a tua API key como Bearer token. A forma exata da config varia por cliente; docs.whentomeet.io tem os snippets de copy-paste para os mais comuns.

Ligado, o assistente vê sete tools:

  • list_polls — os teus scheduling polls e direct events
  • get_poll — um evento com os seus slots e votos de participantes
  • create_poll — criar um novo scheduling event
  • list_bookings — agendamentos marcados pelas tuas booking pages
  • list_calendar_events — um feed unificado de todos os calendários ligados
  • check_conflicts — este intervalo colide com alguma coisa?
  • get_user_profile — o teu tier, fuso, preferências

É toda a superfície de hoje.

Prompts que realmente funcionam

Prompts genéricos produzem chamadas genéricas. Estes funcionam:

"O que há no meu calendário na próxima terça, entre as 10h e as 16h? Usa list_calendar_events com esse intervalo."

"Quero um bloco de foco de 2 horas amanhã de manhã. Verifica o meu calendário com check_conflicts e sugere três horas de início livres."

"Cria um scheduling poll chamado 'Planeamento Q3' com seis slots de uma hora entre 2026-05-04 e 2026-05-06, apenas horário comercial."

"Resume os meus bookings dos últimos 30 dias — quem marcou o quê e quantos no-shows."

"Esboça uma agenda para o standup de amanhã com base no que tenho no calendário esta semana."

O padrão: nomeia a tool se queres controlo, descreve o resultado se não. Claude e GPT são ambos bons a escolher a tool certa pela descrição.

O que ainda não consegue fazer

A superfície MCP não é o produto inteiro. Na altura em que escrevo, o assistente não consegue:

  • Votar no poll de outra pessoa por ti
  • Editar ou cancelar um evento existente
  • Ler ou mudar definições de booking page
  • Fazer algo que exija OAuth num calendário externo em teu nome — isso acontece uma vez na nossa UI, e depois o servidor MCP vê os dados unificados

São lacunas que iremos fechar conforme as pessoas pedirem. Se a tool que queres não está lá, diz-nos.

Rate limits e chaves

O servidor MCP usa as mesmas chaves de REST v1 e os mesmos limites por chave. O uso conversacional normal — uma dúzia de tool calls por sessão — está bem abaixo do tecto. Se corres um batch job, usa os endpoints REST diretamente; são para isso.

Acesso à API é gated para Pro. Gera uma chave nas definições, cola-a na config do teu cliente MCP, e pronto.

Porque fizemos assim

Podíamos ter construído um painel de chat na app. Teria feito boa demo. Mas o assistente que já usas é melhor, já está no teu workflow, e já tem contexto que nós nunca teremos. Dar-lhe uma superfície limpa sobre o teu calendário vale mais do que dar-te uma versão pior do Claude dentro do WhenToMeet.

Docs de setup completos e a reference atual das tools estão em docs.whentomeet.io.