{"$schema":"https://modelcontextprotocol.io/schemas/draft/server-card.json","schemaVersion":"draft","name":"com.getcaboo/caboo","title":"Caboo","description":"Find local service businesses, read services and open times, and create short-lived booking holds that users confirm on Caboo-hosted pages.","version":"1.0.2","protocolVersion":"2025-06-18","serverInfo":{"name":"Caboo","version":"1.0.2"},"transport":{"type":"streamable-http","url":"https://app.getcaboo.com/mcp","label":"Caboo network connector"},"endpoints":[{"type":"streamable-http","url":"https://app.getcaboo.com/mcp","label":"Caboo network connector"}],"capabilities":{"tools":true},"auth":{"type":"none"},"instructions":"Caboo lets you act with local service businesses on the user's behalf. Today you can find businesses and book appointments. Flow: search_providers to find businesses, show the user their options, book_get_availability to list open times in the business's timezone, and when the user picks one, book_hold_slot to hold it. Copy the exact holdLabel and expiresNote from the chosen availability slot into book_hold_slot as its first arguments; never calculate them from raw ISO timestamps. Then give the user ONLY the returned confirmUrl to finish. After you share a confirmUrl, if the user sends a follow-up about that booking, first call book_get_booking_status with the same slug and confirmUrl or holdToken. If the hold expired, offer to hold the same service/time again when it is still available, or offer nearby open times. Never ask for or relay the user's name, email, phone, or consent in chat — Caboo's confirmation page collects those. Holds expire after about 10 minutes; tell the user. Check each provider's capabilities array before offering an action; more verbs (payments, deposits, sign-ups) appear there as businesses enable them.","metadata":{"providerContext":null,"docsUrl":"https://app.getcaboo.com/connector","privacyUrl":"https://app.getcaboo.com/privacy","termsUrl":"https://app.getcaboo.com/terms"}}