slotrobin
Find, get quotes from and book local service businesses on their own Square or Google calendar.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"slotrobin": {
"url": "https://open-booking-csl.web.app/mcp"
}
}
}원격 엔드포인트
https://open-booking-csl.web.app/mcpstreamable-http할 수 있는 일
도구 목록
도구 (8)
🟢find_businesses(query, category, locality)
Search the directory of bookable service businesses. All filters optional. query: words to match (e.g. "plumber"); category: e.g. "plumbing"; locality: e.g. "Petawawa".
입력 스키마
{
"type": "object",
"properties": {
"query": {
"default": "",
"title": "Query",
"type": "string"
},
"category": {
"default": "",
"title": "Category",
"type": "string"
},
"locality": {
"default": "",
"title": "Locality",
"type": "string"
}
},
"title": "find_businessesArguments"
}🟢get_business(business_id)
Read a business's booking page: services with ids, prices, hours rules and how to book. Read this first.
입력 스키마
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
}
},
"required": [
"business_id"
],
"title": "get_businessArguments"
}출력 스키마
{
"type": "object",
"properties": {
"result": {
"title": "Result",
"type": "string"
}
},
"required": [
"result"
],
"title": "get_businessOutput"
}🟢list_services(business_id)
List a business's services (id, name, duration, price basis, bookable or quote only).
입력 스키마
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
}
},
"required": [
"business_id"
],
"title": "list_servicesArguments"
}🟢check_availability(business_id, service_id, start, end)
Open 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.
입력 스키마
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"service_id": {
"title": "Service Id",
"type": "string"
},
"start": {
"title": "Start",
"type": "string"
},
"end": {
"title": "End",
"type": "string"
}
},
"required": [
"business_id",
"service_id",
"start",
"end"
],
"title": "check_availabilityArguments"
}🟡request_quote(business_id, description, customer_name, customer_email, customer_phone, ...)
Send 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.
입력 스키마
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"description": {
"title": "Description",
"type": "string"
},
"customer_name": {
"title": "Customer Name",
"type": "string"
},
"customer_email": {
"default": "",
"title": "Customer Email",
"type": "string"
},
"customer_phone": {
"default": "",
"title": "Customer Phone",
"type": "string"
},
"service_id": {
"default": "",
"title": "Service Id",
"type": "string"
},
"address_or_area": {
"default": "",
"title": "Address Or Area",
"type": "string"
},
"preferred_times": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Preferred Times"
},
"customer_confirmed": {
"default": false,
"title": "Customer Confirmed",
"type": "boolean"
},
"agent_name": {
"default": "unknown",
"title": "Agent Name",
"type": "string"
}
},
"required": [
"business_id",
"description",
"customer_name"
],
"title": "request_quoteArguments"
}🟡book_appointment(business_id, service_id, start, customer_name, customer_email, ...)
Book 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.
입력 스키마
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"service_id": {
"title": "Service Id",
"type": "string"
},
"start": {
"title": "Start",
"type": "string"
},
"customer_name": {
"title": "Customer Name",
"type": "string"
},
"customer_email": {
"default": "",
"title": "Customer Email",
"type": "string"
},
"customer_phone": {
"default": "",
"title": "Customer Phone",
"type": "string"
},
"notes": {
"default": "",
"title": "Notes",
"type": "string"
},
"customer_confirmed": {
"default": false,
"title": "Customer Confirmed",
"type": "boolean"
},
"agent_name": {
"default": "unknown",
"title": "Agent Name",
"type": "string"
}
},
"required": [
"business_id",
"service_id",
"start",
"customer_name"
],
"title": "book_appointmentArguments"
}🔴cancel_booking(business_id, reference, customer_contact, customer_confirmed)
Cancel 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.
입력 스키마
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"reference": {
"title": "Reference",
"type": "string"
},
"customer_contact": {
"title": "Customer Contact",
"type": "string"
},
"customer_confirmed": {
"default": false,
"title": "Customer Confirmed",
"type": "boolean"
}
},
"required": [
"business_id",
"reference",
"customer_contact"
],
"title": "cancel_bookingArguments"
}🟢check_request_status(business_id, reference, customer_contact)
Has 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.
입력 스키마
{
"type": "object",
"properties": {
"business_id": {
"title": "Business Id",
"type": "string"
},
"reference": {
"title": "Reference",
"type": "string"
},
"customer_contact": {
"title": "Customer Contact",
"type": "string"
}
},
"required": [
"business_id",
"reference",
"customer_contact"
],
"title": "check_request_statusArguments"
}커뮤니티
증거