Server definition
- Hash
- sha256:402c37eb926db381a3260d0999f2d345f4a84fd5f1d522fc1a5e9f72d70774d7
- What it is
- What a remote MCP server returned when asked what it offers: 8 tools
The blob, as servednamed by its sha256
{
"instructions": "G-Guest lets you book a real table at a local business. Check availability, then create the booking with the guest's own name, email and phone. Never invent guest details. Pass the guest's language (en, nl, de, fr, es, it, id, bg) so their confirmation and reminders arrive in it. A guest can check or cancel a booking with the booking_id and manage_token from its manage link. A business that is not listed yet can ask to be through request_listing; a person reviews it.",
"tools": [
{
"description": "Cancel an upcoming booking and release its slot to other guests. Identified like check_booking: booking_id plus manage_token. Confirm with the guest before calling; the cancellation is immediate and this server cannot undo it, the guest would simply book again. The venue is notified exactly as for a cancellation from the manage link. Safe to retry: cancelling a booking that is already cancelled returns the same result, not an error. A booking whose start time has passed cannot be cancelled and returns an error saying so. To move a booking to another time, cancel it and create a new one.",
"inputSchema": {
"properties": {
"booking_id": {
"description": "The booking_id create_booking returned, or the id in the guest's manage link.",
"type": "string"
},
"manage_token": {
"description": "The token from the same booking's manage link (its ?token= parameter).",
"type": "string"
}
},
"required": [
"booking_id",
"manage_token"
],
"type": "object"
},
"name": "cancel_booking",
"outputSchema": null
},
{
"description": "List bookable time slots for a business on a given date and party size. Offer the guest only slots where available is true.",
"inputSchema": {
"properties": {
"date": {
"description": "YYYY-MM-DD, in the venue's local calendar.",
"type": "string"
},
"party_size": {
"minimum": 1,
"type": "integer"
},
"slug": {
"type": "string"
}
},
"required": [
"slug",
"date",
"party_size"
],
"type": "object"
},
"name": "check_availability",
"outputSchema": null
},
{
"description": "Look up one existing booking so the guest can confirm when and where it is. Identify it with the booking_id and manage_token that create_booking returned; both also sit in the guest's confirmation email as the manage link, /booking/<booking_id>?token=<manage_token>. Returns the business, the local date and time with its timezone, party size, service and status: confirmed, pending_confirmation, pending_payment (with payment_url while it can be paid), cancelled, or for past bookings completed or no_show. Never returns the guest's name, email or phone. A wrong or missing token is refused without revealing whether the booking exists.",
"inputSchema": {
"properties": {
"booking_id": {
"description": "The booking_id create_booking returned, or the id in the guest's manage link.",
"type": "string"
},
"manage_token": {
"description": "The token from the same booking's manage link. If the guest only has the link, take the token from its ?token= parameter.",
"type": "string"
}
},
"required": [
"booking_id",
"manage_token"
],
"type": "object"
},
"name": "check_booking",
"outputSchema": null
},
{
"description": "Create a real reservation. Use a start value returned by check_availability. Never invent guest details. Ask the person for their real name, email and phone first. If the result status is pending_confirmation, show the guest the confirmation_url. If it is pending_payment, the venue takes a prepayment: show the guest the payment_url, and do not say it is booked until it is paid.",
"inputSchema": {
"properties": {
"email": {
"type": "string"
},
"idempotency_key": {
"description": "Retry safety: pick any unique string for this booking attempt and reuse it on retries. The same key always returns the same booking, never a duplicate.",
"type": "string"
},
"language": {
"description": "The guest's language as an ISO 639-1 code: en, nl, de, fr, es, it, id or bg. The confirmation, the reminders and the manage page are sent in it. Defaults to English.",
"type": "string"
},
"name": {
"type": "string"
},
"notes": {
"type": "string"
},
"party_size": {
"minimum": 1,
"type": "integer"
},
"phone": {
"type": "string"
},
"slug": {
"type": "string"
},
"source": {
"description": "Which assistant is booking. Defaults to other_ai. proof_video is our own channel: bookings made while filming a proof clip.",
"enum": [
"chatgpt",
"hermes",
"other_ai",
"proof_video"
],
"type": "string"
},
"start": {
"description": "The slot's `start` value, copied exactly as check_availability returned it.",
"type": "string"
}
},
"required": [
"slug",
"start",
"party_size",
"name",
"email",
"phone"
],
"type": "object"
},
"name": "create_booking",
"outputSchema": null
},
{
"description": "Fetch full details for one business id returned by search: services, hours, timezone and how to book it.",
"inputSchema": {
"properties": {
"id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "fetch",
"outputSchema": null
},
{
"description": "Look up a business on G-Guest: services, opening hours, timezone and maximum party size. Call this first if you only know the slug.",
"inputSchema": {
"properties": {
"slug": {
"description": "Business identifier, e.g. \"demo\".",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_business",
"outputSchema": null
},
{
"description": "Ask G-Guest to list a business that is not on it yet. Use it when the person you are helping runs a restaurant, cafe, bar, salon, spa, studio or clinic and wants reservations that assistants can make. Nothing is published by this call: the request reaches the G-Guest team as a lead, a person reviews it and contacts the business, and only then is anything set up. The owner's or manager's email is required, because the reply comes by email; a phone is optional extra. Do not call it for a guest who merely wants to book somewhere, and never submit a business without its owner's or manager's say-so. Returns a receipt with a reference id; no timeline is promised.",
"inputSchema": {
"properties": {
"business_name": {
"description": "The business's own name, as its owner writes it.",
"type": "string"
},
"business_type": {
"description": "The closest category.",
"enum": [
"restaurant",
"cafe",
"bar",
"salon",
"barbershop",
"spa",
"studio",
"clinic",
"other"
],
"type": "string"
},
"city": {
"description": "City and country, e.g. \"Canggu, Indonesia\".",
"type": "string"
},
"contact_email": {
"description": "Email of the owner or manager who asked. The reply goes here.",
"type": "string"
},
"contact_name": {
"description": "Who asked, so the reply can address them by name.",
"type": "string"
},
"contact_phone": {
"description": "Phone with country code, optional.",
"type": "string"
},
"message": {
"description": "Anything the owner wants the team to know: languages, seats, how bookings are taken today. Up to 500 characters.",
"type": "string"
},
"website": {
"description": "The business website or Instagram page, if it has one.",
"type": "string"
}
},
"required": [
"business_name",
"city",
"business_type",
"contact_email"
],
"type": "object"
},
"name": "request_listing",
"outputSchema": null
},
{
"description": "Search bookable businesses on G-Guest by name or slug. Returns ids you can pass to fetch or to the booking tools.",
"inputSchema": {
"properties": {
"query": {
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:402c37eb926db381a3260d0999f2d345f4a84fd5f1d522fc1a5e9f72d70774d7 | sha256sum