Floyd

Motor de programación y reservas para agentes de IA. Verifica disponibilidad, reserva espacios y confirma citas con reserva en dos fases y gestión de recursos sin conflictos.

Documentación

Servidor MCP de Floyd

Servidor MCP que expone las herramientas de programación y reservas del Floyd Engine a agentes de IA. Construido sobre el transporte HTTP Streamable del Model Context Protocol.

Para la documentación de la API del motor, consulta la carpeta de documentación en el repositorio del motor.

Herramientas

HerramientaDescripción
floyd_get_available_slotsConsulta los horarios disponibles para un servicio
floyd_hold_bookingColoca una reserva temporal en un espacio de tiempo
floyd_confirm_bookingConfirma una reserva en espera (requiere consentimiento explícito del usuario)
floyd_cancel_bookingCancela una reserva en espera o confirmada
floyd_reschedule_bookingMueve una reserva a un nuevo horario
floyd_update_bookingActualiza los metadatos de una reserva
floyd_get_bookingRecupera los detalles y el estado de una reserva

Configuración

pnpm install

Variables de entorno

VariableRequeridaPredeterminadoDescripción
FLOYD_BASE_URLNohttp://localhost:4000/v1URL base del Floyd Engine
PORTNo3000Puerto del servidor HTTP

Uso

Modo HTTP (HTTP Streamable)

pnpm dev

Endpoint MCP: POST / Verificación de salud: GET /health

Modo Stdio

pnpm dev -- --stdio

Autenticación

Cuando el motor Floyd requiere autenticación, los agentes conectados proporcionan su clave de API mediante:

  1. Cabecera Authorization: Bearer <token> (preferida)
  2. Parámetro de consulta ?token=<value>

La clave de API se reenvía al motor Floyd en cada solicitud. Si el motor tiene la autenticación deshabilitada (por ejemplo, autoalojado), no se necesita clave.

Flujo de reservas

get_available_slots → hold_booking → confirm_booking
                                   ↘ cancel_booking
                                   ↘ reschedule_booking
                                   ↘ update_booking (metadata)
  1. Obtener espacios — consulta los horarios disponibles, devuelve tokens slotId firmados
  2. Reservar — reserva un espacio usando el slotId (o campos explícitos). Crea una reserva en estado held
  3. Confirmar — finaliza la reserva. Requiere userConfirmed: true
  4. Cancelar — libera una reserva en espera o confirmada
  5. Reprogramar — mueve una reserva a un nuevo horario, conservando su identidad
  6. Actualizar — adjunta o reemplaza metadatos (por ejemplo, tamaño del grupo, solicitudes especiales)

Desarrollo

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

Producción

pnpm build
pnpm start

El servidor maneja SIGTERM/SIGINT para un apagado ordenado. Las solicitudes HTTP a la API de Floyd tienen un tiempo de espera de 10 segundos.