AgentBookable
by agentbookable.com · remote · no sign-in to list tools · v3.0.0 · published by com.agentbookable
Find local services, check live availability, and book real appointments with consent.
9 tools: 1 can delete or cancel things, 3 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http agentbookable https://agentbookable.com/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Deletes or cancels 1Claude Code: deny
create_bookingCreate a REAL appointment.No findings
Why it is in this group
- The name "create_booking" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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 the user's exact instruction; (3) call this tool with the mandateRef. The mandate is single-use and expires in 15 minutes. On SLOT_NO_LONGER_AVAILABLE offer the returned alternatives — never rebook unilaterally.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: true
- destructiveHint: true
Changes things 3Claude Code: ask
create_mandateLegacy: record the user's authorization WITHOUT a booking draft.No findings
Why it is in this group
- The name "create_mandate" says "create": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: true
- destructiveHint: false
create_mandate_for_draftAfter 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), a…No findings
Why it is in this group
- The name "create_mandate_for_draft" says "create": a word for a change.
Description, as the server wrote it 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 audited. If anything consequential changes (different time, service or business), prepare a NEW draft and get fresh consent.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: true
- destructiveHint: false
prepare_bookingPrepare a booking draft: the concrete proposal (business, service, time, customer) to show the user.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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 draft to the user as the final proposal (business, service, duration, date/time), then obtain explicit affirmative consent. The draft expires after 30 minutes; consent binds to this exact proposal.
Annotations the server declares
- readOnlyHint: false
- openWorldHint: true
- destructiveHint: false
Only reads 5Claude Code: allow
find_businessesSearch the AgentBookable registry for businesses that accept AI bookings.No findings
Why it is in this group
- The name "find_businesses" says "find": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
get_availabilityFind LIVE availability for a service.No findings
Why it is in this group
- The name "get_availability" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
get_bookingRetrieve a booking by its AgentBookable id (bb_bkg_*).No findings
Why it is in this group
- The name "get_booking" says "get": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
get_businessGet one business's record by id (ab_bus_*) or slug.No findings
Why it is in this group
- The name "get_business" says "get": a word for reading.
Description, as the server wrote it 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 customer phone is required).
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
list_servicesList the services a business has opened to AI booking.No findings
Why it is in this group
- The name "list_services" says "list": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- openWorldHint: true
- destructiveHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 3.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http agentbookable https://agentbookable.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__agentbookable__find_businesses",
"mcp__agentbookable__get_business",
"mcp__agentbookable__list_services",
"mcp__agentbookable__get_availability",
"mcp__agentbookable__get_booking"
],
"ask": [
"mcp__agentbookable__prepare_booking",
"mcp__agentbookable__create_mandate_for_draft",
"mcp__agentbookable__create_mandate"
],
"deny": [
"mcp__agentbookable__create_booking"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agentbookable. Review it before you use it.