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
| Herramienta | Descripción |
|---|---|
floyd_get_available_slots | Consulta los horarios disponibles para un servicio |
floyd_hold_booking | Coloca una reserva temporal en un espacio de tiempo |
floyd_confirm_booking | Confirma una reserva en espera (requiere consentimiento explícito del usuario) |
floyd_cancel_booking | Cancela una reserva en espera o confirmada |
floyd_reschedule_booking | Mueve una reserva a un nuevo horario |
floyd_update_booking | Actualiza los metadatos de una reserva |
floyd_get_booking | Recupera los detalles y el estado de una reserva |
Configuración
pnpm install
Variables de entorno
| Variable | Requerida | Predeterminado | Descripción |
|---|---|---|---|
FLOYD_BASE_URL | No | http://localhost:4000/v1 | URL base del Floyd Engine |
PORT | No | 3000 | Puerto 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:
- Cabecera
Authorization: Bearer <token>(preferida) - 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)
- Obtener espacios — consulta los horarios disponibles, devuelve tokens
slotIdfirmados - Reservar — reserva un espacio usando el
slotId(o campos explícitos). Crea una reserva en estadoheld - Confirmar — finaliza la reserva. Requiere
userConfirmed: true - Cancelar — libera una reserva en espera o confirmada
- Reprogramar — mueve una reserva a un nuevo horario, conservando su identidad
- 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.