Floyd

Motor de agendamento e reserva para agentes de IA. Verifique disponibilidade, reserve horários e confirme compromissos com agendamento em duas fases e gerenciamento de recursos sem conflitos.

Documentação

Servidor MCP Floyd

Servidor MCP que expõe ferramentas de agendamento e reserva do Floyd Engine para agentes de IA. Construído sobre o transporte HTTP Streamable do Model Context Protocol.

Para a documentação da API do motor, consulte a pasta docs no repositório do motor.

Ferramentas

FerramentaDescrição
floyd_get_available_slotsVerifica horários disponíveis para um serviço
floyd_hold_bookingColoca uma reserva temporária em um horário
floyd_confirm_bookingConfirma uma reserva mantida (requer consentimento explícito do usuário)
floyd_cancel_bookingCancela uma reserva mantida ou confirmada
floyd_reschedule_bookingMove uma reserva para um novo horário
floyd_update_bookingAtualiza os metadados de uma reserva
floyd_get_bookingRecupera detalhes e status da reserva

Configuração

pnpm install

Variáveis de ambiente

VariávelObrigatóriaPadrãoDescrição
FLOYD_BASE_URLNãohttp://localhost:4000/v1URL base do Floyd Engine
PORTNão3000Porta do servidor HTTP

Uso

Modo HTTP (HTTP Streamable)

pnpm dev

Endpoint MCP: POST / Verificação de saúde: GET /health

Modo Stdio

pnpm dev -- --stdio

Autenticação

Quando o motor Floyd exige autenticação, os agentes conectados fornecem sua chave de API via:

  1. Cabeçalho Authorization: Bearer <token> (preferido)
  2. Parâmetro de consulta ?token=<value>

A chave de API é encaminhada ao motor Floyd em cada solicitação. Se o motor tiver a autenticação desativada (ex.: auto-hospedado), nenhuma chave é necessária.

Fluxo de reserva

get_available_slots → hold_booking → confirm_booking
                                   ↘ cancel_booking
                                   ↘ reschedule_booking
                                   ↘ update_booking (metadata)
  1. Obter horários — consulta horários disponíveis, retorna tokens slotId assinados
  2. Manter — reserva um horário usando o slotId (ou campos explícitos). Cria uma reserva no estado held
  3. Confirmar — finaliza a reserva. Requer userConfirmed: true
  4. Cancelar — libera uma reserva mantida ou confirmada
  5. Reagendar — move uma reserva para um novo horário, preservando sua identidade
  6. Atualizar — anexa ou substitui metadados (ex.: tamanho do grupo, solicitações especiais)

Desenvolvimento

pnpm test          # run tests
pnpm typecheck     # type-check
pnpm lint          # eslint
pnpm format        # prettier
pnpm build         # bundle with tsup

Produção

pnpm build
pnpm start

O servidor lida com SIGTERM/SIGINT para encerramento gracioso. Solicitações HTTP à API Floyd têm um tempo limite de 10 segundos.