MCP
Connect your AI agent to your bookings
daybag runs an MCP server at https://daybag.io/api/mcp over Streamable HTTP. Every operation in the daybag API is a tool, so an agent can list offerings, check availability, hold and book, cancel, look up customers and follow events. Claude Code and Cursor connect with an API key; claude.ai and ChatGPT connect as custom connectors through OAuth.
Every operation is a tool
42 tools: the whole API, nothing more.
- offerings_list
- offerings_create
- offerings_get
- offerings_update
- offerings_delete
- offerings_get_hours
- offerings_set_hours
- availability_get
- sessions_list
- sessions_create
- sessions_cancel
- bookings_list
- bookings_get
- bookings_create
- bookings_cancel
- bookings_confirm
- bookings_move
- bookings_resend
- conversations_list
- conversations_get
- conversations_update
- messages_list
- messages_send
- messages_broadcast
- messages_draft
- saved_replies_list
- saved_replies_create
- saved_replies_update
- saved_replies_delete
- customers_list
- customers_get
- customers_upsert
- customers_update
- customers_delete
- org_get
- org_update
- org_export
- events_list
- webhooks_list
- webhooks_create
- webhooks_delete
- billing_get
Connect your client
An API key for Claude Code and Cursor. OAuth for claude.ai and ChatGPT.
Claude Code
One command, with an API key from Dashboard → Developers.
terminalclaude mcp add --transport http daybag https://daybag.io/api/mcp --header "Authorization: Bearer daybag_live_…"Cursor
Add the server to .cursor/mcp.json, with an API key.
.cursor/mcp.json{ "mcpServers": { "daybag": { "type": "http", "url": "https://daybag.io/api/mcp", "headers": { "Authorization": "Bearer daybag_live_…" } } } }claude.ai
Add a custom connector with this URL, then sign in with OAuth and approve it.
connector URLhttps://daybag.io/api/mcpChatGPT
Add a custom connector with this URL, then sign in with OAuth and approve it.
connector URLhttps://daybag.io/api/mcp
An event log for agents
Every change is an event, from every surface: your website, the dashboard, the API and agents. An agent calls events_list with after=<next_after> and picks up exactly where it left off. Webhooks get the same events, signed with HMAC-SHA256.
curl "https://daybag.io/api/v1/events?after=0" \
-H "Authorization: Bearer daybag_live_…"Safe by design
Holds
Hold a place while a guest decides, then confirm or cancel it. A hold nobody confirms simply expires.
Idempotency keys
Retry bookings_create with the same key and get the same booking back, never a second one.
Caps per client
Open holds are capped per API key or connector, per guest and per slot, so no one can tie up your availability.
Only the API
Tools are the API's operations, with read-only and destructive ones marked for your client. API keys, billing and deleting your organization stay in the dashboard.
Questions
Which AI apps can connect to daybag?
Claude Code, Cursor and other MCP clients that send a header connect with an API key. claude.ai and ChatGPT connect as custom connectors through OAuth, which you approve once.
Is the MCP server on the Free plan?
Yes. The API, the MCP server and webhooks are on every plan, Free included.
Can an agent book the same thing twice by mistake?
Not when it sends an idempotency key: a retry with the same key returns the first booking instead of making a new one.
What can't an agent do?
Anything outside the API. Creating API keys, billing and deleting your organization stay in the dashboard.
How does an agent see new bookings?
It reads the event log with events_list, passing after=<next_after> to pick up where it left off. Webhooks get the same events, signed with HMAC-SHA256.
Pricing
Free is $0, with a soft cap of 25 bookings a month. Pro is $39 a month, flat. No guest fees, no per-booking cut, and the API, MCP and webhooks on every plan.