Labsco
MCP SERVER

Book, move and cancel appointments through Floyd, with a hold step before anything is committed.

Calendars, Meetings & Scheduling
Summary
Appointment booking with the consent step built into the protocol.

Slots are held before they are confirmed, and confirmation will not go through without an explicit flag saying the person agreed. That structure is what lets an agent do the scheduling while the commitment stays with the human.

What it is

Floyd's scheduling and booking tools exposed over the MCP Streamable HTTP transport. The flow is deliberate: query available slots, place a temporary hold on one, then confirm — and confirmation requires userConfirmed: true, so an agent cannot commit a booking on its own.

What you get
  • Available appointment times for a service, returned as signed slotId tokens
  • A temporary hold on a slot, creating a booking in held state
  • A held booking confirmed, gated on explicit user consent
  • A held or confirmed booking cancelled
  • A booking moved to a new time
  • A booking's metadata updated without touching its time
  • A booking's details and current status read back
Requirements

A Floyd engine to talk to. Its API key travels as an Authorization: Bearer header or a ?token= query parameter and is forwarded on each request; a self-hosted engine with auth disabled needs no key. The engine's base URL and the port this server listens on both come from environment variables and both have defaults. It serves Streamable HTTP at POST /, with a health check at GET /health, and can be switched to stdio for a desktop client.