MCP e agentes de IA

Conecte Claude, ChatGPT ou seu próprio agente ao servidor MCP da Fiuit para buscar horários, agendar e operar o negócio com sua chave de API.

Atualizado:

A Fiuit inclui um servidor MCP (Model Context Protocol) para que os agentes de IA usem o mesmo motor do bot de WhatsApp: mesmas pré-reservas, mesma validação e mesmo registro de auditoria. O servidor é um cliente fino da API: cada ferramenta chama a API com a sua mesma chave, então o MCP nunca dá mais permissões do que a chave.

O servidor está no repositório (packages/mcp) e hoje quem o executa é você. O servidor hospedado em mcp.wagend.app ainda não foi publicado: é Em breve. A autenticação com OAuth também.

Executar o servidor

Você precisa de Python 3.12+ e uv.

cd packages/mcp
uv sync
WAGEND_API_URL=https://api.wagend.app MCP_PORT=8700 uv run python -m wagend_mcp
# escucha en http://127.0.0.1:8700/ (Streamable HTTP)

Variáveis:

VariávelPara quê
WAGEND_API_URLURL da API (padrão https://api.wagend.app)
MCP_TOOLSETSConjuntos a expor: booking, admin ou ambos (padrão booking,admin)
MCP_HOST, MCP_PORTOnde escuta (padrão 127.0.0.1:8700)
MCP_ALLOWED_HOSTSHosts permitidos (proteção contra DNS rebinding)

Conectar um cliente

A autenticação é uma chave de API no header Authorization. Sem uma chave com formato válido, o servidor responde 401 antes de entrar no protocolo.

Com o Claude Code:

claude mcp add --transport http wagend http://127.0.0.1:8700/ \
  --header "Authorization: Bearer wg_live_xxx"

Ou com a configuração JSON de qualquer cliente que suporte HTTP:

{
  "mcpServers": {
    "wagend": {
      "type": "http",
      "url": "http://127.0.0.1:8700/",
      "headers": { "Authorization": "Bearer wg_live_xxx" }
    }
  }
}

Para testar sem um agente: npx @modelcontextprotocol/inspector (transporte Streamable HTTP, a mesma URL e o header).

Ferramentas

Todas as ferramentas do conjunto ativo são listadas, mas cada uma só funciona se a chave tiver o scope de que precisa; caso contrário, devolve o erro 403 da API. As escritas ficam auditadas com ator mcp.

Agendamentos (booking): para assistentes que agendam em nome de um cliente.

FerramentaScopeFaz
list_servicesconfig:readServiços com duração e preço
find_slotsslots:readHorários disponíveis de um serviço entre duas datas
hold_slotbookings:writePré-reserva de 10 minutos
confirm_bookingbookings:writeConfirma uma pré-reserva com os dados do cliente
cancel_booking, reschedule_bookingbookings:writeGerencia um agendamento existente
get_bookingbookings:readDetalhe de um agendamento

Administração (admin): para o dono operar o negócio pelo seu assistente de IA.

FerramentaScopeFaz
list_resourcesconfig:readEquipe, salas, máquinas e grupos
list_todaybookings:readAgendamentos do dia
block_timeconfig:write e bookings:readFecha dias inteiros de um recurso (máx. 31). Não cancela agendamentos existentes: devolve-os para uma pessoa decidir
create_service, update_serviceconfig:writeCria ou altera um serviço, com seu formulário de agendamento
update_scheduleconfig:writeAltera o horário semanal ou o fuso horário
get_statsbookings:readAgendamentos, ocupação e faltas por recurso
get_stage_config, list_stage_config_versions, get_stage_config_versionconfig:readEtapas, ações e formulários, com seu histórico de versões
update_stage_config, revert_stage_configsettings:writeSubstitui ou reverte as etapas (cria uma versão nova; não apaga o histórico)

As escritas de configuração exigem confirm=true. Sem ele, a ferramenta não chama a API: devolve confirmation_required com o que enviaria, para o agente mostrar a uma pessoa e repetir com a confirmação.

Exemplos de pedidos

  • "Agende um corte com o João amanhã de manhã, no nome do Carlos."
  • "Bloqueie a máquina de laser na próxima segunda por manutenção e me diga quais agendamentos ficam afetados."
  • "Quantas faltas tivemos este mês?"

Docs para LLMs