Book It
Find enrolled home-service and trade businesses by trade and ZIP, and send a booking request.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"book-it": {
"url": "https://book.modernmustardseed.com/mcp"
}
}
}远程端点
https://book.modernmustardseed.com/mcpstreamable-http它能做什么
工具清单
工具(5)
🟢find_provider(trade, zip, need)
Find home-service and trade businesses enrolled in Book It that serve a US ZIP code for a trade, such as HVAC, plumbing, roofing or lawn care. Returns each business's name, phone, website, the services that match the stated need, and its next open request window. Only businesses that enrolled and list that ZIP in their own service area appear; the result states the ordering rule, which is a fair daily rotation and never paid placement. An empty list means no enrolled business covers that trade and ZIP yet.
输入模式
{
"type": "object",
"properties": {
"trade": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "The trade or a common name for it: \"hvac\", \"furnace repair\", \"plumber\", \"roofer\", \"lawn care\", \"tree service\"."
},
"zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "The 5-digit US ZIP code where the work is."
},
"need": {
"description": "What the person needs in a few words, such as \"furnace blowing cold air\". Used to surface matching services.",
"type": "string",
"maxLength": 300
}
},
"required": [
"trade",
"zip"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢get_services(business_id)
Get one Book It business's services with any price range the business entered, its service-area ZIPs, its weekly hours for requests, its next open window, and the consent text a person agrees to before a booking request is sent.
输入模式
{
"type": "object",
"properties": {
"business_id": {
"type": "string",
"minLength": 3,
"maxLength": 80,
"description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
}
},
"required": [
"business_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢quote_range(business_id, service_id, service)
Return the price range a Book It business entered for one of its services, labelled as the business's own range and not a quote. When the business entered no range, says so. Book It never estimates, averages or invents a price.
输入模式
{
"type": "object",
"properties": {
"business_id": {
"type": "string",
"minLength": 3,
"maxLength": 80,
"description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
},
"service_id": {
"description": "The service_id from get_services or find_provider.",
"type": "string",
"maxLength": 40
},
"service": {
"description": "Instead of service_id, the service name as the business lists it, such as \"Furnace repair\".",
"type": "string",
"maxLength": 80
}
},
"required": [
"business_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢check_availability(business_id, from_date, days)
List the windows a Book It business accepts booking requests for, by date in the business's time zone, after its minimum notice and without its days off, for up to 14 days at a time. Each window has a window_id for request_booking. A window is when the business says it can take work, not a confirmed slot.
输入模式
{
"type": "object",
"properties": {
"business_id": {
"type": "string",
"minLength": 3,
"maxLength": 80,
"description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
},
"from_date": {
"description": "First date to show, YYYY-MM-DD, in the business's time zone. Defaults to today there.",
"type": "string",
"maxLength": 10
},
"days": {
"description": "How many days to show, 1 to 14. Defaults to 7.",
"type": "integer",
"minimum": 1,
"maximum": 14
}
},
"required": [
"business_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡request_booking(business_id, customer_name, customer_phone, customer_zip, need, ...)
Send a Book It business a booking request on a person's behalf. Collects only the person's name, phone, ZIP, what they need and a preferred time. The business receives it by email and in its inbox and confirms a time with the person directly; the request is never a confirmed appointment. Requires consent_confirmed true, which means the person read and agreed to the business's booking_consent_text (from get_services or check_availability). US and Canadian phone numbers only. A repeat request from the same phone to the same business within 24 hours returns the first request instead of sending another.
输入模式
{
"type": "object",
"properties": {
"business_id": {
"type": "string",
"minLength": 3,
"maxLength": 80,
"description": "The business_id exactly as find_provider returned it, such as \"juniper-ridge-roofing\"."
},
"customer_name": {
"type": "string",
"minLength": 2,
"maxLength": 80,
"description": "The person's name, at least a first name."
},
"customer_phone": {
"type": "string",
"minLength": 10,
"maxLength": 25,
"description": "A US or Canadian phone number the business can call or text, such as (406) 555-0123."
},
"customer_zip": {
"type": "string",
"pattern": "^\\d{5}$",
"description": "The 5-digit ZIP where the work is. It must be in the business's service area."
},
"need": {
"type": "string",
"minLength": 5,
"maxLength": 600,
"description": "What the person needs, in their words, such as \"Furnace runs but blows cold air.\""
},
"service_id": {
"description": "Optional service_id from get_services.",
"type": "string",
"maxLength": 40
},
"preferred_window_id": {
"description": "A window_id from check_availability, such as \"2026-10-15@08:00-12:00\".",
"type": "string",
"maxLength": 40
},
"preferred_time_note": {
"description": "A short preferred time in words, such as \"any weekday morning\", when no window fits.",
"type": "string",
"maxLength": 120
},
"consent_confirmed": {
"type": "boolean",
"description": "True only after the person read the business's booking_consent_text and agreed to it."
}
},
"required": [
"business_id",
"customer_name",
"customer_phone",
"customer_zip",
"need",
"consent_confirmed"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据