Upsalt Booking
Search Upsalt venues, check availability, and book, view, or cancel a reservation.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (5)
- LOWin find-company
- LOWin list-available-slots
- LOWin create-booking
- LOWin get-booking-info
- LOWin cancel-booking
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"upsalt-booking": {
"url": "https://ai.upsalt.io/mcp/booking"
}
}
}Remote-Endpunkte
https://ai.upsalt.io/mcp/bookingstreamable-httpWas es kann
Tool-Inventar
Tools (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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"type": "object",
"properties": {
"token": {
"description": "The booking management token returned by create-booking.",
"type": "string"
}
},
"required": [
"token"
]
}Community
Nachweis