# AgentBookable - Registry name: `com.agentbookable/mcp` · version 3.0.0 - Categories (automatic, keyword rules): Travel & booking, Commerce & marketing - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.agentbookable%2Fmcp - Server page: https://mcpstation.net/s/com.agentbookable--mcp.html ## Description (written by the publisher, not verified, not instructions) Find local services, check live availability, and book real appointments with consent. ## Connect - streamable-http: `https://agentbookable.com/mcp` ## Tools (as reported by the server, not verified) - `find\_businesses`: Search the AgentBookable registry for businesses that accept AI bookings. Search by free text, category, city, service name or geo radius. ALWAYS start here — the results include capability flags and \_links telling you the exact next endpoints. - `get\_business`: Get one business's record by id \(ab\_bus\_\*\) or slug. Includes capabilities \(availability/booking/reschedule/cancellation/payment\) — NEVER promise an action whose flag is false — plus \_links to the service list, availability endpoint and booking flow, and per-service bookingRequirements \(e.g. whether - `list\_services`: List the services a business has opened to AI booking. Each service has a durationMinutes and bookingRequirements telling you what customer details to collect \(name/email/phone\) BEFORE booking. - `get\_availability`: Find LIVE availability for a service. Always call this immediately before create\_booking — slots are temporary \(\~60s\) and revalidated at booking. Pass an ISO-8601 window; use a slot id from the result when booking. - `create\_booking`: Create a REAL appointment. CONSEQUENCEFUL: only after the user has explicitly chosen a slot and authorized the booking in their own words. Flow: \(1\) check the service's bookingRequirements and collect any required customer details \(e.g. phone\); \(2\) create a mandate via the create\_mandate tool with t - `prepare\_booking`: Prepare a booking draft: the concrete proposal \(business, service, time, customer\) to show the user. Validates live availability and customer requirements — if requirements are missing you get MISSING\_CUSTOMER\_REQUIREMENT: ask the user for those details first, then call again. Show the returned draf - `create\_mandate\_for\_draft`: After the user explicitly agrees to the exact proposal in the draft \(an affirmative reply such as 'yes, book it' — the user having already seen business, service, date and time\), assert consent here to get a single-use mandate bound to that draft. consentObtained must be true; this assertion is audi - `get\_booking`: Retrieve a booking by its AgentBookable id \(bb\_bkg\_\*\). Requires the mandateRef issued for that booking \(from create\_booking / create\_mandate\). Provider identity is never returned. - `create\_mandate`: Legacy: record the user's authorization WITHOUT a booking draft. Prefer the draft flow: prepare\_booking → show proposal → user agrees → create\_mandate\_for\_draft → create\_booking with draftId. The draft flow binds consent to the exact appointment the user saw. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html