loading…
Search for a command to run...
loading…
Scheduling and booking engine for AI agents. Check availability, hold slots, and confirm appointments with two-phase booking and conflict-free resource manageme
Scheduling and booking engine for AI agents. Check availability, hold slots, and confirm appointments with two-phase booking and conflict-free resource management.
MCP server that exposes Floyd scheduling and booking tools to AI agents. Built on the Model Context Protocol Streamable HTTP transport.
For full API documentation, see docs.floyd.run.
| Tool | Description |
|---|---|
floyd_get_available_slots |
Check available appointment times for a service |
floyd_hold_booking |
Place a temporary hold on a time slot |
floyd_confirm_booking |
Confirm a held booking (requires explicit user consent) |
floyd_cancel_booking |
Cancel a held or confirmed booking |
floyd_reschedule_booking |
Move a booking to a new time |
floyd_update_booking |
Update a booking's metadata |
floyd_get_booking |
Retrieve booking details and status |
pnpm install
| Variable | Required | Default | Description |
|---|---|---|---|
FLOYD_BASE_URL |
No | https://api.floyd.run/v1 |
Floyd API base URL |
PORT |
No | 3000 |
HTTP server port |
pnpm dev
MCP endpoint: POST /
Health check: GET /health
pnpm dev -- --stdio
When the Floyd engine requires authentication, connecting agents provide their API key via:
Authorization: Bearer <token> header (preferred)?token=<value> query parameterThe API key is forwarded to the Floyd engine on each request. If the engine has auth disabled (e.g. self-hosted), no key is needed.
get_available_slots → hold_booking → confirm_booking
↘ cancel_booking
↘ reschedule_booking
↘ update_booking (metadata)
slotId tokensslotId (or explicit fields). Creates a booking in held stateuserConfirmed: truepnpm test # run tests
pnpm typecheck # type-check
pnpm lint # eslint
pnpm format # prettier
pnpm build # bundle with tsup
pnpm build
pnpm start
The server handles SIGTERM/SIGINT for graceful shutdown. HTTP requests to the Floyd API have a 10-second timeout.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"floyd": {
"command": "npx",
"args": []
}
}
}