slotrobin
Find, get quotes from and book local service businesses on their own Square or Google calendar.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `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"
}社区
证据