Upsalt Booking

Search Upsalt venues, check availability, and book, view, or cancel a reservation.

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
100%
Vollständigkeit des Schemas
100%
Qualität der Benennung
70%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (5)

  • LOWTool 'find-company' doesn't follow camelCase/snake_casein find-company
  • LOWTool 'list-available-slots' doesn't follow camelCase/snake_casein list-available-slots
  • LOWTool 'create-booking' doesn't follow camelCase/snake_casein create-booking
  • LOWTool 'get-booking-info' doesn't follow camelCase/snake_casein get-booking-info
  • LOWTool 'cancel-booking' doesn't follow camelCase/snake_casein cancel-booking

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~938Tokens (Tool-Definitionen)
~1.8 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (0.73% von 128k Kontext)

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-http

Was es kann

Tool-Inventar

Tools (5)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢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

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools
verifiziertVersion nicht aufgezeichnet5 Tools