Upsalt Booking
Search Upsalt venues, check availability, and book, view, or cancel a reservation.
사용해야 할까요
품질 및 안전성
발견 사항 (5)
- LOWfind-company에서
- LOWlist-available-slots에서
- LOWcreate-booking에서
- LOWget-booking-info에서
- LOWcancel-booking에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"upsalt-booking": {
"url": "https://ai.upsalt.io/mcp/booking"
}
}
}원격 엔드포인트
https://ai.upsalt.io/mcp/bookingstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢find-company(slug, business_type)
Find a company by its slug and return its public profile: services, opening hours, and booking configuration. Use this first to obtain the company_id needed by the other tools.
입력 스키마
{
"type": "object",
"properties": {
"slug": {
"description": "The company slug, as found in its booking page URL.",
"type": "string"
},
"business_type": {
"description": "Optional business type filter.",
"type": "string"
}
},
"required": [
"slug"
]
}🟢list-available-slots(company_id, date)
List the available booking slots for a company on a given date. Returns shifts and bookable hours; use the shift_id and hour when creating a booking.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"description": "The company id, as returned by the find-company tool.",
"type": "integer"
},
"date": {
"description": "The date to check, in YYYY-MM-DD format (e.g. 2026-07-20).",
"type": "string"
}
},
"required": [
"company_id",
"date"
]
}🔴create-booking(company_id, date, hour, shift_id, adults, ...)
Create a booking for a company as a guest. Requires a date (YYYY/MM/DD), an hour and shift_id obtained from list-available-slots, and the guest contact details. On success, returns the reservation details including a token that can be used with get-booking-info and cancel-booking.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"description": "The company id, as returned by the find-company tool.",
"type": "integer"
},
"date": {
"description": "Booking date in YYYY/MM/DD format (e.g. 2026/07/20). Note the slashes.",
"type": "string"
},
"hour": {
"description": "Booking hour in HH:MM format, taken from list-available-slots.",
"type": "string"
},
"shift_id": {
"description": "The shift id, taken from list-available-slots.",
"type": "integer"
},
"adults": {
"description": "Number of adults.",
"type": "integer"
},
"name": {
"description": "Guest first name.",
"type": "string"
},
"surname": {
"description": "Guest last name.",
"type": "string"
},
"email": {
"description": "Guest email address. The booking confirmation and management token are sent here.",
"type": "string"
},
"phone": {
"description": "Guest phone number.",
"type": "string"
},
"children": {
"description": "Number of children.",
"type": "integer"
},
"babies": {
"description": "Number of babies.",
"type": "integer"
},
"pets": {
"description": "Number of pets.",
"type": "integer"
},
"vegan": {
"description": "Whether the party includes vegan guests.",
"type": "boolean"
},
"vegetarian": {
"description": "Whether the party includes vegetarian guests.",
"type": "boolean"
},
"gluten_free": {
"description": "Whether the party needs gluten-free options.",
"type": "boolean"
},
"nuts_allergy": {
"description": "Whether the party has a nut allergy.",
"type": "boolean"
},
"message": {
"description": "Optional message for the business.",
"type": "string"
},
"pushchair": {
"description": "Number of pushchairs.",
"type": "integer"
},
"wheelchair": {
"description": "Number of wheelchairs.",
"type": "integer"
},
"highchair": {
"description": "Number of highchairs.",
"type": "integer"
},
"optin": {
"description": "Marketing opt-in flag (1 or 0).",
"type": "integer"
},
"latitude": {
"description": "Guest latitude, if known.",
"type": "number"
},
"longitude": {
"description": "Guest longitude, if known.",
"type": "number"
},
"country": {
"description": "Guest country.",
"type": "string"
},
"city": {
"description": "Guest city.",
"type": "string"
},
"guest_token": {
"description": "Existing guest token, if the guest has booked before.",
"type": "string"
}
},
"required": [
"company_id",
"date",
"hour",
"shift_id",
"adults",
"name",
"surname",
"email",
"phone"
]
}🟢get-booking-info(company_id, token)
Retrieve the details of an existing booking using the management token returned by create-booking.
입력 스키마
{
"type": "object",
"properties": {
"company_id": {
"description": "The company id the booking belongs to.",
"type": "integer"
},
"token": {
"description": "The booking management token returned by create-booking.",
"type": "string"
}
},
"required": [
"company_id",
"token"
]
}🔴cancel-booking(token)
Cancel an existing booking using the management token returned by create-booking. This action is irreversible; confirm with the guest before calling it.
입력 스키마
{
"type": "object",
"properties": {
"token": {
"description": "The booking management token returned by create-booking.",
"type": "string"
}
},
"required": [
"token"
]
}커뮤니티
증거