Server definition
- Hash
- sha256:5aa9877266935c63a6f0c696bedb35993c31cd94dbffe472d1448ead29934fc8
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": "This server lets you book at businesses (restaurants and other venues) on behalf of a guest. Typical flow: 1) find-company with the company slug to get its profile and company_id; 2) list-available-slots with the company_id and a YYYY-MM-DD date to get shifts and hours; 3) create-booking with the chosen slot (note: booking date uses YYYY/MM/DD with slashes) and the guest contact details — it returns a management token; 4) get-booking-info or cancel-booking with that token to manage the reservation. Always confirm guest details and the chosen slot with the user before creating or cancelling a booking.",
"tools": [
{
"description": "Cancel an existing booking using the management token returned by create-booking. This action is irreversible; confirm with the guest before calling it.",
"inputSchema": {
"properties": {
"token": {
"description": "The booking management token returned by create-booking.",
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
},
"name": "cancel-booking",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"adults": {
"description": "Number of adults.",
"type": "integer"
},
"babies": {
"description": "Number of babies.",
"type": "integer"
},
"children": {
"description": "Number of children.",
"type": "integer"
},
"city": {
"description": "Guest city.",
"type": "string"
},
"company_id": {
"description": "The company id, as returned by the find-company tool.",
"type": "integer"
},
"country": {
"description": "Guest country.",
"type": "string"
},
"date": {
"description": "Booking date in YYYY/MM/DD format (e.g. 2026/07/20). Note the slashes.",
"type": "string"
},
"email": {
"description": "Guest email address. The booking confirmation and management token are sent here.",
"type": "string"
},
"gluten_free": {
"description": "Whether the party needs gluten-free options.",
"type": "boolean"
},
"guest_token": {
"description": "Existing guest token, if the guest has booked before.",
"type": "string"
},
"highchair": {
"description": "Number of highchairs.",
"type": "integer"
},
"hour": {
"description": "Booking hour in HH:MM format, taken from list-available-slots.",
"type": "string"
},
"latitude": {
"description": "Guest latitude, if known.",
"type": "number"
},
"longitude": {
"description": "Guest longitude, if known.",
"type": "number"
},
"message": {
"description": "Optional message for the business.",
"type": "string"
},
"name": {
"description": "Guest first name.",
"type": "string"
},
"nuts_allergy": {
"description": "Whether the party has a nut allergy.",
"type": "boolean"
},
"optin": {
"description": "Marketing opt-in flag (1 or 0).",
"type": "integer"
},
"pets": {
"description": "Number of pets.",
"type": "integer"
},
"phone": {
"description": "Guest phone number.",
"type": "string"
},
"pushchair": {
"description": "Number of pushchairs.",
"type": "integer"
},
"shift_id": {
"description": "The shift id, taken from list-available-slots.",
"type": "integer"
},
"surname": {
"description": "Guest last name.",
"type": "string"
},
"vegan": {
"description": "Whether the party includes vegan guests.",
"type": "boolean"
},
"vegetarian": {
"description": "Whether the party includes vegetarian guests.",
"type": "boolean"
},
"wheelchair": {
"description": "Number of wheelchairs.",
"type": "integer"
}
},
"required": [
"company_id",
"date",
"hour",
"shift_id",
"adults",
"name",
"surname",
"email",
"phone"
],
"type": "object"
},
"name": "create-booking",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"business_type": {
"description": "Optional business type filter.",
"type": "string"
},
"slug": {
"description": "The company slug, as found in its booking page URL.",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "find-company",
"outputSchema": null
},
{
"description": "Retrieve the details of an existing booking using the management token returned by create-booking.",
"inputSchema": {
"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"
],
"type": "object"
},
"name": "get-booking-info",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"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"
],
"type": "object"
},
"name": "list-available-slots",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:5aa9877266935c63a6f0c696bedb35993c31cd94dbffe472d1448ead29934fc8 | sha256sum