io.github.KyleClouthier/slotrobin
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Find, get quotes from and book local service businesses on their own Square or Google calendar.
| Author | io.github.KyleClouthier |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2338 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"slotrobin": {
"url": "https://open-booking-csl.web.app/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (8)
find_businessesread-onlySearch the directory of bookable service businesses. All filters optional. query: words to match (e.g. "plumber"); category: e.g. "plumbing"; locality: e.g. "Petawawa".
Parameters:
query— stringcategory— stringlocality— string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
get_businessread-onlyRead a business's booking page: services with ids, prices, hours rules and how to book. Read this first.
Parameters:
business_id(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
list_servicesread-onlyList a business's services (id, name, duration, price basis, bookable or quote only).
Parameters:
business_id(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
check_availabilityread-onlyOpen times for a service. start and end are ISO 8601 with UTC offset, at most 14 days apart, e.g. start="2026-10-01T00:00:00-04:00", end="2026-10-03T00:00:00-04:00". Times are offers, not holds.
Parameters:
business_id(required) — stringservice_id(required) — stringstart(required) — stringend(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
request_quoteSend a quote request to the business. Only after the customer has confirmed the details; set customer_confirmed=true to say so. Needs an email or phone so the business can reply.
Parameters:
business_id(required) — stringdescription(required) — stringcustomer_name(required) — stringagent_name— stringservice_id— stringcustomer_email— stringcustomer_phone— stringaddress_or_area— stringpreferred_timescustomer_confirmed— boolean
Hints: read-only no · destructive no · idempotent no · open-world yes
book_appointmentBook a time returned by check_availability. Only after the customer has said yes to this exact business, service and time; set customer_confirmed=true to say so. Returns confirmed, pending (the business will confirm) or failed, with a reference.
Parameters:
business_id(required) — stringservice_id(required) — stringstart(required) — stringcustomer_name(required) — stringnotes— stringagent_name— stringcustomer_email— stringcustomer_phone— stringcustomer_confirmed— boolean
Hints: read-only no · destructive no · idempotent yes · open-world yes
cancel_bookingdestructiveCancel a booking made earlier. customer_contact is the email or phone used for the booking. Only after the customer has clearly said they want to cancel; set customer_confirmed=true to say so. To reschedule: check_availability, confirm the new time with the customer, book_appointment, then cancel the old one.
Parameters:
business_id(required) — stringreference(required) — stringcustomer_contact(required) — stringcustomer_confirmed— boolean
Hints: read-only no · destructive yes · idempotent yes · open-world yes
check_request_statusread-onlyHas the business confirmed, declined or replied? reference is the one returned by request_quote or book_appointment; customer_contact is the customer's email or phone.
Parameters:
business_id(required) — stringreference(required) — stringcustomer_contact(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.