floyd_get_available_slotsLABSCO 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.
Setup effort
Build from source
USE CASES
Finding a time that works
Query the service's open times; each comes back as a signed slotId you can hold without querying again.
Reserving a slot while the person decides
Place the hold from the slotId so the time does not disappear mid-conversation; the booking sits in held state.
Committing only when the person says yes
Confirmation requires userConfirmed: true, so the agent carries the request but not the decision.
Moving an appointment
Pull the new open times and move the existing booking, rather than cancelling and rebooking it.
Calling it off
Release a booking whether it is still held or already confirmed.
Checking where a booking stands
Read its details and status, and change its metadata without disturbing the time.
7 tools
Listed in project docs. Your client may show a different list.
floyd_hold_bookingfloyd_confirm_bookingfloyd_cancel_bookingfloyd_reschedule_bookingfloyd_update_bookingfloyd_get_bookingBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/floyd-run/mcp-server
cd mcp-server
pnpm install
pnpm build
pnpm startPoint the agent at http://localhost:3000/ — the MCP endpoint is POST / on the port set by PORT (default 3000), with a health check at GET /health — and pass the Floyd API key as an Authorization: Bearer <YOUR_TOKEN> header